|
@@ -8510,6 +8510,115 @@ QDF_STATUS send_obss_spatial_reuse_set_cmd_tlv(wmi_unified_t wmi_handle,
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
+
|
|
|
+/**
|
|
|
+ * send_self_srg_bss_color_bitmap_set_cmd_tlv() - Send 64-bit BSS color bitmap
|
|
|
+ * to be used by SRG based Spatial Reuse feature to the FW
|
|
|
+ * @wmi_handle: wmi handle
|
|
|
+ * @bitmap_0: lower 32 bits in BSS color bitmap
|
|
|
+ * @bitmap_1: upper 32 bits in BSS color bitmap
|
|
|
+ * @pdev_id: pdev ID
|
|
|
+ *
|
|
|
+ * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
|
|
+ */
|
|
|
+static QDF_STATUS
|
|
|
+send_self_srg_bss_color_bitmap_set_cmd_tlv(
|
|
|
+ wmi_unified_t wmi_handle, uint32_t bitmap_0,
|
|
|
+ uint32_t bitmap_1, uint8_t pdev_id)
|
|
|
+{
|
|
|
+ wmi_buf_t buf;
|
|
|
+ wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param *cmd;
|
|
|
+ QDF_STATUS ret;
|
|
|
+ uint32_t len;
|
|
|
+
|
|
|
+ len = sizeof(*cmd);
|
|
|
+
|
|
|
+ buf = wmi_buf_alloc(wmi_handle, len);
|
|
|
+ if (!buf)
|
|
|
+ return QDF_STATUS_E_FAILURE;
|
|
|
+
|
|
|
+ cmd = (wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param *)
|
|
|
+ wmi_buf_data(buf);
|
|
|
+
|
|
|
+ WMITLV_SET_HDR(
|
|
|
+ &cmd->tlv_header,
|
|
|
+ WMITLV_TAG_STRUC_wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param,
|
|
|
+ WMITLV_GET_STRUCT_TLVLEN
|
|
|
+ (wmi_pdev_srg_bss_color_bitmap_cmd_fixed_param));
|
|
|
+
|
|
|
+ cmd->pdev_id = wmi_handle->ops->convert_pdev_id_host_to_target(
|
|
|
+ wmi_handle, pdev_id);
|
|
|
+ cmd->srg_bss_color_bitmap[0] = bitmap_0;
|
|
|
+ cmd->srg_bss_color_bitmap[1] = bitmap_1;
|
|
|
+
|
|
|
+ ret = wmi_unified_cmd_send(
|
|
|
+ wmi_handle, buf, len,
|
|
|
+ WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID);
|
|
|
+
|
|
|
+ if (QDF_IS_STATUS_ERROR(ret)) {
|
|
|
+ WMI_LOGE(
|
|
|
+ "WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID send returned Error %d",
|
|
|
+ ret);
|
|
|
+ wmi_buf_free(buf);
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * send_self_srg_partial_bssid_bitmap_set_cmd_tlv() - Send 64-bit partial BSSID
|
|
|
+ * bitmap to be used by SRG based Spatial Reuse feature to the FW
|
|
|
+ * @wmi_handle: wmi handle
|
|
|
+ * @bitmap_0: lower 32 bits in partial BSSID bitmap
|
|
|
+ * @bitmap_1: upper 32 bits in partial BSSID bitmap
|
|
|
+ * @pdev_id: pdev ID
|
|
|
+ *
|
|
|
+ * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
|
|
+ */
|
|
|
+static QDF_STATUS
|
|
|
+send_self_srg_partial_bssid_bitmap_set_cmd_tlv(
|
|
|
+ wmi_unified_t wmi_handle, uint32_t bitmap_0,
|
|
|
+ uint32_t bitmap_1, uint8_t pdev_id)
|
|
|
+{
|
|
|
+ wmi_buf_t buf;
|
|
|
+ wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param *cmd;
|
|
|
+ QDF_STATUS ret;
|
|
|
+ uint32_t len;
|
|
|
+
|
|
|
+ len = sizeof(*cmd);
|
|
|
+
|
|
|
+ buf = wmi_buf_alloc(wmi_handle, len);
|
|
|
+ if (!buf)
|
|
|
+ return QDF_STATUS_E_FAILURE;
|
|
|
+
|
|
|
+ cmd = (wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param *)
|
|
|
+ wmi_buf_data(buf);
|
|
|
+
|
|
|
+ WMITLV_SET_HDR(
|
|
|
+ &cmd->tlv_header,
|
|
|
+ WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param,
|
|
|
+ WMITLV_GET_STRUCT_TLVLEN
|
|
|
+ (wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param));
|
|
|
+
|
|
|
+ cmd->pdev_id = wmi_handle->ops->convert_pdev_id_host_to_target(
|
|
|
+ wmi_handle, pdev_id);
|
|
|
+
|
|
|
+ cmd->srg_partial_bssid_bitmap[0] = bitmap_0;
|
|
|
+ cmd->srg_partial_bssid_bitmap[1] = bitmap_1;
|
|
|
+
|
|
|
+ ret = wmi_unified_cmd_send(
|
|
|
+ wmi_handle, buf, len,
|
|
|
+ WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID);
|
|
|
+
|
|
|
+ if (QDF_IS_STATUS_ERROR(ret)) {
|
|
|
+ WMI_LOGE(
|
|
|
+ "WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID send returned Error %d",
|
|
|
+ ret);
|
|
|
+ wmi_buf_free(buf);
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
static
|
|
@@ -13797,6 +13906,10 @@ struct wmi_ops tlv_ops = {
|
|
|
.send_obss_spatial_reuse_set = send_obss_spatial_reuse_set_cmd_tlv,
|
|
|
.send_obss_spatial_reuse_set_def_thresh =
|
|
|
send_obss_spatial_reuse_set_def_thresh_cmd_tlv,
|
|
|
+ .send_self_srg_bss_color_bitmap_set =
|
|
|
+ send_self_srg_bss_color_bitmap_set_cmd_tlv,
|
|
|
+ .send_self_srg_partial_bssid_bitmap_set =
|
|
|
+ send_self_srg_partial_bssid_bitmap_set_cmd_tlv,
|
|
|
#endif
|
|
|
.extract_offload_bcn_tx_status_evt = extract_offload_bcn_tx_status_evt,
|
|
|
.extract_ctl_failsafe_check_ev_param =
|