Search Linux Wireless

Re: [RFC/RFT 6/6] ath9k: always initialize hw registers related to PCIe PM

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

 



On Mon, Jul 25, 2011 at 11:29:30AM +0200, Stanislaw Gruszka wrote:
> On Sat, Jul 23, 2011 at 10:41:30AM +0530, Rajkumar Manoharan wrote:
> > > +	/* initalize PCIe PM registers if device introduce itself as PCIe */
> > > +	if (ah->is_pciexpress)
> > > +		ath9k_hw_ops(ah)->config_pci_powersave(ah, false);
> > > +
> > Use ath9k_hw_configpcipowersave wrapper instead.
> I changed wrapper to check ah->aspm_enabled, so if I would use it here
> it will not setup registers. I think I should comment that. 
> 
> > And ensure that there is no
> > sideeffect by changing SERDES config from __ath9k_hw_init to pci_probe.
> Hmm, not sure if I understand what I have to do :-(
> 
> We have something like that:
> 
> ath_pci_probe
>   ath9k_init_device
>     ath9k_init_softc
>       ath9k_hw_init
> 	__ath9k_hw_init
>             ath9k_hw_configpcipowersave();
> 
> I changed it this way:
> 
> ath_pci_probe
>   ath9k_init_device
>     ath9k_init_softc
>       ath9k_hw_init
> 	__ath9k_hw_init
> 
>       ath9k_init_queues
>       ath9k_init_btcoex
>    some other inits
>      
>   ath9k_hw_configpcipowersave();
> 
> Can this cause some side effects?

Actually this movement is not necessary, in the way things I did
currently. Is enough to replace ath9k_hw_configpcipowersave() by
ath9k_hw_ops(ah)->config_pci_powersave() in __ath9k_hw_init().
In such case SERDES and PCIe PM registers will be always initialized.

However movement would be needed if we want to initialize registers,
only when ASPM is enabled, hence we first need to discovery that,
and then eventually call ath9k_hw_configpcipowersave().

Which option is correct: always initialize SERDES and PCIe PM registers
or do it only if ASPM is enabled?

Stanislaw
--
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