git: d7df65349960 - main - iwm: add sku_cap_mimo_disable; populate sku_cap_11n_enable
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Jan 2025 16:05:30 UTC
The branch main has been updated by adrian:
URL: https://cgit.FreeBSD.org/src/commit/?id=d7df65349960c96f3982c21ee1d4eaaab2a4ca74
commit d7df65349960c96f3982c21ee1d4eaaab2a4ca74
Author: Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2024-12-27 03:48:55 +0000
Commit: Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2025-01-17 16:05:13 +0000
iwm: add sku_cap_mimo_disable; populate sku_cap_11n_enable
This is a flag to be used to disable >1 antenna support, even if
the radio supports it.
Also populate sku_cap_11n_enable, which indicates HT is available.
It's a no-op right now; it's one of the requirements for properly
configuring HT support and transmit/receive antenna configurations.
Obtained from: OpenBSD (at a6e25c727a2214219715b51ba6af2221d7e0d674, 22-Oct-2021)
Differential Revision: https://reviews.freebsd.org/D48210
Reviewed by: bz
---
sys/dev/iwm/if_iwm.c | 3 ++-
sys/dev/iwm/if_iwmvar.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c
index 15ef139fd5a5..248bfd056580 100644
--- a/sys/dev/iwm/if_iwm.c
+++ b/sys/dev/iwm/if_iwm.c
@@ -2220,7 +2220,8 @@ iwm_parse_nvm_data(struct iwm_softc *sc,
sku = iwm_get_sku(sc, nvm_sw, phy_sku);
data->sku_cap_band_24GHz_enable = sku & IWM_NVM_SKU_CAP_BAND_24GHZ;
data->sku_cap_band_52GHz_enable = sku & IWM_NVM_SKU_CAP_BAND_52GHZ;
- data->sku_cap_11n_enable = 0;
+ data->sku_cap_11n_enable = sku & IWM_NVM_SKU_CAP_11N_ENABLE;
+ data->sku_cap_mimo_disable = sku & IWM_NVM_SKU_CAP_MIMO_DISABLE;
data->n_hw_addrs = iwm_get_n_hw_addrs(sc, nvm_sw);
diff --git a/sys/dev/iwm/if_iwmvar.h b/sys/dev/iwm/if_iwmvar.h
index 63201e5b3120..f31057c07b9b 100644
--- a/sys/dev/iwm/if_iwmvar.h
+++ b/sys/dev/iwm/if_iwmvar.h
@@ -200,6 +200,7 @@ struct iwm_nvm_data {
int sku_cap_11n_enable;
int sku_cap_amt_enable;
int sku_cap_ipan_enable;
+ int sku_cap_mimo_disable;
uint8_t radio_cfg_type;
uint8_t radio_cfg_step;