lkml.org 
[lkml]   [2012]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [ 39/69] iwlwifi: disable the buggy chain extension feature in HW
    On Sun, Jun 17, 2012 at 07:00:20PM +0100, Ben Hutchings wrote:
    > 3.2-stable review patch. If anyone has any objections, please let me know.
    >
    > ------------------
    >
    > From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    >
    > commit d012d04e4d6312ea157b6cf19e9689af934f5aa7 upstream.
    >
    > This feature has been reported to be buggy and enabled by
    > default. We therefore need to disable it manually.
    >
    > Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    > Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    > Signed-off-by: John W. Linville <linville@tuxdriver.com>
    > Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    > ---
    > drivers/net/wireless/iwlwifi/iwl-prph.h | 1 +
    > drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 5 +++++
    > 2 files changed, 6 insertions(+)
    >
    > --- a/drivers/net/wireless/iwlwifi/iwl-prph.h
    > +++ b/drivers/net/wireless/iwlwifi/iwl-prph.h
    > @@ -228,6 +228,7 @@
    > #define SCD_TXFACT (SCD_BASE + 0x10)
    > #define SCD_ACTIVE (SCD_BASE + 0x14)
    > #define SCD_QUEUECHAIN_SEL (SCD_BASE + 0xe8)
    > +#define SCD_CHAINEXT_EN (SCD_BASE + 0x244)
    > #define SCD_AGGR_SEL (SCD_BASE + 0x248)
    > #define SCD_INTERRUPT_MASK (SCD_BASE + 0x108)
    >
    > --- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
    > +++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c
    > @@ -868,6 +868,11 @@
    > iwl_write_prph(bus(trans), SCD_DRAM_BASE_ADDR,
    > trans_pcie->scd_bc_tbls.dma >> 10);
    >
    > + /* The chain extension of the SCD doesn't work well. This feature is
    > + * enabled by default by the HW, so we need to disable it manually.
    > + */
    > + iwl_write_prph(trans, SCD_CHAINEXT_EN, 0);
    > +

    Hi, this triggers the following build warning:
    linux-stable/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c: In function 'iwl_trans_pcie_tx_start':
    linux-stable/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c:874:2: warning: passing argument 1 of 'iwl_write_prph' from incompatible pointer type [enabled by default]
    linux-stable/drivers/net/wireless/iwlwifi/iwl-io.h:72:6: note: expected 'struct iwl_bus *' but argument is of type 'struct iwl_trans *'

    For 3.2, it should be passed as bus(trans) as other invocations.

    > /* Enable DMA channel */
    > for (chan = 0; chan < FH_TCSR_CHNL_NUM ; chan++)
    > iwl_write_direct32(bus(trans), FH_TCSR_CHNL_TX_CONFIG_REG(chan),
    >
    >
    > --
    > To unsubscribe from this list: send the line "unsubscribe stable" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html
    >

    --
    []'s
    Herton


    \
     
     \ /
      Last update: 2012-06-18 22:01    [W:4.096 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site