Search Linux Wireless

question about ath9k/hw.c,mac.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hw.c contains the following code:

static void ath9k_hw_init_interrupt_masks(struct ath_hw *ah,
                                          enum nl80211_iftype opmode)
{
        ah->mask_reg = AR_IMR_TXERR |
                AR_IMR_TXURN |
                AR_IMR_RXERR |
                AR_IMR_RXORN |
                AR_IMR_BCNMISC;

        if (ah->intr_mitigation)
                ah->mask_reg |= AR_IMR_RXINTM | AR_IMR_RXMINTR;
        else
                ah->mask_reg |= AR_IMR_RXOK;
...
}

mac.c contains the following code:

omask = ath9k_hw_set_interrupts(ah, ah->mask_reg & ~ATH9K_INT_GLOBAL);

ATH9K_INT_GLOBAL is 0x80000000 (hw.h)

reg.h contains the following definitions:

#define AR_IMR_TXMINTR       0x00080000
#define AR_IMR_RXMINTR       0x01000000
#define AR_IMR_TXINTM        0x40000000
#define AR_IMR_RXINTM        0x80000000

Is it correct that the call to ath9k_hw_set_interrupts is masking out what 
appears to be the flag AR_IMR_RXINTM?  I don't know enough about the code 
to know what it all means, but at least in the definition of the mask_reg 
field in hw.c, AR_IMR_RXINTM seems to be used in a manner that is quite 
parallel to AR_IMR_RXMINTR, and AR_IMR_RXINTM seems to be conceptually 
similar to AR_IMR_TXINTM, but neither of them is masked out.

thanks,
julia

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux