|
@@ -8333,6 +8333,108 @@ enum phy_ch_width wmi_map_ch_width(A_UINT32 wmi_width)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+#ifdef WLAN_FEATURE_11BE
|
|
|
+/**
|
|
|
+ * wmi_host_to_fw_phymode_11be() - convert host to fw phymode for 11be phymode
|
|
|
+ * @host_phymode: phymode to convert
|
|
|
+ *
|
|
|
+ * Return: one of the 11be values defined in enum WMI_HOST_WLAN_PHY_MODE;
|
|
|
+ * or WMI_HOST_MODE_UNKNOWN if the input is not an 11be phymode
|
|
|
+ */
|
|
|
+static WMI_HOST_WLAN_PHY_MODE
|
|
|
+wmi_host_to_fw_phymode_11be(enum wlan_phymode host_phymode)
|
|
|
+{
|
|
|
+ switch (host_phymode) {
|
|
|
+ case WLAN_PHYMODE_11BEA_EHT20:
|
|
|
+ return WMI_HOST_MODE_11BE_EHT20;
|
|
|
+ case WLAN_PHYMODE_11BEA_EHT40:
|
|
|
+ return WMI_HOST_MODE_11BE_EHT40;
|
|
|
+ case WLAN_PHYMODE_11BEA_EHT80:
|
|
|
+ return WMI_HOST_MODE_11BE_EHT80;
|
|
|
+ case WLAN_PHYMODE_11BEA_EHT160:
|
|
|
+ return WMI_HOST_MODE_11BE_EHT160;
|
|
|
+ case WLAN_PHYMODE_11BEA_EHT320:
|
|
|
+ return WMI_HOST_MODE_11BE_EHT320;
|
|
|
+ case WLAN_PHYMODE_11BEG_EHT20:
|
|
|
+ return WMI_HOST_MODE_11BE_EHT20_2G;
|
|
|
+ case WLAN_PHYMODE_11BEG_EHT40:
|
|
|
+ case WLAN_PHYMODE_11BEG_EHT40PLUS:
|
|
|
+ case WLAN_PHYMODE_11BEG_EHT40MINUS:
|
|
|
+ return WMI_HOST_MODE_11BE_EHT40_2G;
|
|
|
+ default:
|
|
|
+ return WMI_HOST_MODE_UNKNOWN;
|
|
|
+ }
|
|
|
+}
|
|
|
+#else
|
|
|
+static WMI_HOST_WLAN_PHY_MODE
|
|
|
+wmi_host_to_fw_phymode_11be(enum wlan_phymode host_phymode)
|
|
|
+{
|
|
|
+ return WMI_HOST_MODE_UNKNOWN;
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
+WMI_HOST_WLAN_PHY_MODE wmi_host_to_fw_phymode(enum wlan_phymode host_phymode)
|
|
|
+{
|
|
|
+ switch (host_phymode) {
|
|
|
+ case WLAN_PHYMODE_11A:
|
|
|
+ return WMI_HOST_MODE_11A;
|
|
|
+ case WLAN_PHYMODE_11G:
|
|
|
+ return WMI_HOST_MODE_11G;
|
|
|
+ case WLAN_PHYMODE_11B:
|
|
|
+ return WMI_HOST_MODE_11B;
|
|
|
+ case WLAN_PHYMODE_11G_ONLY:
|
|
|
+ return WMI_HOST_MODE_11GONLY;
|
|
|
+ case WLAN_PHYMODE_11NA_HT20:
|
|
|
+ return WMI_HOST_MODE_11NA_HT20;
|
|
|
+ case WLAN_PHYMODE_11NG_HT20:
|
|
|
+ return WMI_HOST_MODE_11NG_HT20;
|
|
|
+ case WLAN_PHYMODE_11NA_HT40:
|
|
|
+ return WMI_HOST_MODE_11NA_HT40;
|
|
|
+ case WLAN_PHYMODE_11NG_HT40:
|
|
|
+ case WLAN_PHYMODE_11NG_HT40PLUS:
|
|
|
+ case WLAN_PHYMODE_11NG_HT40MINUS:
|
|
|
+ return WMI_HOST_MODE_11NG_HT40;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT20:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT20;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT40:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT40;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT80:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT80;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT20_2G:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT20_2G;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT40PLUS_2G:
|
|
|
+ case WLAN_PHYMODE_11AC_VHT40MINUS_2G:
|
|
|
+ case WLAN_PHYMODE_11AC_VHT40_2G:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT40_2G;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT80_2G:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT80_2G;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT80_80:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT80_80;
|
|
|
+ case WLAN_PHYMODE_11AC_VHT160:
|
|
|
+ return WMI_HOST_MODE_11AC_VHT160;
|
|
|
+ case WLAN_PHYMODE_11AXA_HE20:
|
|
|
+ return WMI_HOST_MODE_11AX_HE20;
|
|
|
+ case WLAN_PHYMODE_11AXA_HE40:
|
|
|
+ return WMI_HOST_MODE_11AX_HE40;
|
|
|
+ case WLAN_PHYMODE_11AXA_HE80:
|
|
|
+ return WMI_HOST_MODE_11AX_HE80;
|
|
|
+ case WLAN_PHYMODE_11AXA_HE80_80:
|
|
|
+ return WMI_HOST_MODE_11AX_HE80_80;
|
|
|
+ case WLAN_PHYMODE_11AXA_HE160:
|
|
|
+ return WMI_HOST_MODE_11AX_HE160;
|
|
|
+ case WLAN_PHYMODE_11AXG_HE20:
|
|
|
+ return WMI_HOST_MODE_11AX_HE20_2G;
|
|
|
+ case WLAN_PHYMODE_11AXG_HE40:
|
|
|
+ case WLAN_PHYMODE_11AXG_HE40PLUS:
|
|
|
+ case WLAN_PHYMODE_11AXG_HE40MINUS:
|
|
|
+ return WMI_HOST_MODE_11AX_HE40_2G;
|
|
|
+ case WLAN_PHYMODE_11AXG_HE80:
|
|
|
+ return WMI_HOST_MODE_11AX_HE80_2G;
|
|
|
+ default:
|
|
|
+ return wmi_host_to_fw_phymode_11be(host_phymode);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* convert_host_to_target_ch_width()- map host channel width(enum phy_ch_width)
|
|
|
* to wmi channel width
|