Message ID | 20210210115637.276676-1-luca@coelho.fi |
---|---|
Headers | show |
Series | iwlwifi: updates intended for v5.12 2021-02-07 | expand |
Hi Luca, On Wed, Feb 10, 2021 at 8:00 PM Luca Coelho <luca@coelho.fi> wrote: > > From: Luca Coelho <luciano.coelho@intel.com> > > When reading the PPAG table from ACPI, we should store everything in > our fwrt structure, so it can be accessed later. But we had a local > ppag_table variable in the function and were erroneously storing the > enabled/disabled flag in it instead of storing it in the fwrt. Fix > this by removing the local variable and storing everything directly in > fwrt. This patch enables PPAG, but it breaks one of HP laptop with Intel 9560. dmesg with iwlwifi.debug=0x80 attached in the bug report: https://bugzilla.kernel.org/show_bug.cgi?id=214343 > > Signed-off-by: Luca Coelho <luciano.coelho@intel.com> > Fixes: f2134f66f40e ("iwlwifi: acpi: support ppag table command v2") > Signed-off-by: Luca Coelho <luciano.coelho@intel.com> > --- > drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c > index 3bfb80dd17cf..57471ab2f5ef 100644 > --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c > +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c > @@ -895,7 +895,6 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm) > static int iwl_mvm_get_ppag_table(struct iwl_mvm *mvm) > { > union acpi_object *wifi_pkg, *data, *enabled; > - union iwl_ppag_table_cmd ppag_table; > int i, j, ret, tbl_rev, num_sub_bands; > int idx = 2; > s8 *gain; > @@ -949,8 +948,8 @@ static int iwl_mvm_get_ppag_table(struct iwl_mvm *mvm) > goto out_free; > } > > - ppag_table.v1.enabled = cpu_to_le32(enabled->integer.value); > - if (!ppag_table.v1.enabled) { > + mvm->fwrt.ppag_table.v1.enabled = cpu_to_le32(enabled->integer.value); > + if (!mvm->fwrt.ppag_table.v1.enabled) { > ret = 0; > goto out_free; > } > @@ -978,7 +977,7 @@ static int iwl_mvm_get_ppag_table(struct iwl_mvm *mvm) > (j != 0 && > (gain[i * num_sub_bands + j] > ACPI_PPAG_MAX_HB || > gain[i * num_sub_bands + j] < ACPI_PPAG_MIN_HB))) { > - ppag_table.v1.enabled = cpu_to_le32(0); > + mvm->fwrt.ppag_table.v1.enabled = cpu_to_le32(0); > ret = -EINVAL; > goto out_free; > } > -- > 2.30.0 >
On Tue, 2021-09-07 at 19:30 +0800, Kai-Heng Feng wrote: > Hi Luca, > > On Wed, Feb 10, 2021 at 8:00 PM Luca Coelho <luca@coelho.fi> wrote: > > > > From: Luca Coelho <luciano.coelho@intel.com> > > > > When reading the PPAG table from ACPI, we should store everything in > > our fwrt structure, so it can be accessed later. But we had a local > > ppag_table variable in the function and were erroneously storing the > > enabled/disabled flag in it instead of storing it in the fwrt. Fix > > this by removing the local variable and storing everything directly in > > fwrt. > > This patch enables PPAG, but it breaks one of HP laptop with Intel 9560. > > dmesg with iwlwifi.debug=0x80 attached in the bug report: > https://bugzilla.kernel.org/show_bug.cgi?id=214343 Thanks for the report. There seems to be an incompatibility between the command the driver is sending to the FW and the version the FW supports. The commit you mentioned just enables sending this commands, which was mistakenly not sent before. Let's continue this discussion in bugzilla. I'll add more information there as I figure it out. -- Cheers, Luca.
From: Luca Coelho <luciano.coelho@intel.com> Hi, In v2: * Rebased on top of "iwlwifi: add new cards for So and Qu family", which wasn't taken to v5.11. Here's the fifth set of patches intended for v5.12. It's the usual development, new features, cleanups and bugfixes. The changes are: * Add some device IDs that got lost in a rebase; * A bunch of fixes in the PPAG code; * Some other small fixes, clean-ups and improvements. As usual, I'm pushing this to a pending branch, for kbuild bot, and will send a pull-request later. Please review. Cheers, Luca. Emmanuel Grumbach (2): iwlwifi: mvm: enhance a print in CSA flows iwlwifi: pcie: NULLify pointers after free Johannes Berg (2): iwlwifi: pcie: don't disable interrupts for reg_lock iwlwifi: mvm: remove useless iwl_mvm_resume_d3() function Luca Coelho (6): iwlwifi: pcie: add a few missing entries for So with Hr iwlwifi: acpi: fix PPAG table sizes iwlwifi: mvm: fix the type we use in the PPAG table validity checks iwlwifi: mvm: store PPAG enabled/disabled flag properly iwlwifi: mvm: send stored PPAG command instead of local iwlwifi: mvm: assign SAR table revision to the command later Matti Gottlieb (1): iwlwifi: pcie: Change Ma device ID Mordechay Goodstein (1): iwlwifi: when HW has rate offload don't look at control field drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 4 +- drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 7 +-- drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 45 ++++++++++++------- .../net/wireless/intel/iwlwifi/mvm/mac80211.c | 3 +- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 22 +++++---- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 10 ++++- drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 3 ++ .../net/wireless/intel/iwlwifi/pcie/trans.c | 19 ++++---- .../net/wireless/intel/iwlwifi/pcie/tx-gen2.c | 5 +-- drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 22 ++++----- 10 files changed, 80 insertions(+), 60 deletions(-)