/* Due to HW quirks it is recommended to disable ASPM during device *bootup.TodothattheoriginalPCI-ELinkControlisstoredbefore *devicebootupisexecutedandre-programmedlater.
*/
u16 link_ctl;
/* Protects ps_awake and ps_wake_refcount */
spinlock_t ps_lock;
/* The device has a special powersave-oriented register. When device is *consideredasleepitdrainslesspoweranddriverisforbiddenfrom *accessingmostMMIOregisters.Ifhostweretoaccessthemwithout *wakingupthedevicemightscribbleoverhostmemoryorreturn *0xdeadbeefreadouts.
*/ unsignedlong ps_wake_refcount;
/* Waking up takes some time (up to 2ms in some cases) so it can be bad *forlatency.Tomitigatethisthedeviceisn'timmediatelyallowed *tosleepafterallreferencesareundone-insteadthere'sagrace *periodafterwhichthepowersaveregisterisupdatedunlesssome *activityto/fromdevicehappenedinthemeantime. * *AlsoseecommentsonATH10K_PCI_SLEEP_GRACE_PERIOD_MSEC.
*/ struct timer_list ps_timer;
/* MMIO registers are used to communicate with the device. With *intensivetrafficaccessingpowersaveregisterwouldbeabit *wastefuloverheadandwouldneedlesslystallCPU.Itisfarmore *efficienttorelyonavariableinRAMandupdateitonlyupon *powersaveregisterstatechanges.
*/ bool ps_awake;
/* pci power save, disable for QCA988X and QCA99X0. *Writing'false'tothisvariableavoidsfrequentlocking *onMMIOread/write.
*/ bool pci_ps;
/* Chip specific pci reset routine used to do a safe reset */ int (*pci_soft_reset)(struct ath10k *ar);
/* Chip specific pci full reset function */ int (*pci_hard_reset)(struct ath10k *ar);
/* chip specific methods for converting target CPU virtual address *spacetoCEaddressspace
*/
u32 (*targ_cpu_to_ce_addr)(struct ath10k *ar, u32 addr);
/* Keep this entry in the last, memory for struct ath10k_ahb is *allocated(ahbsupportenabledcase)inthecontinuationof *thisstruct.
*/ struct ath10k_ahb ahb[];
/* Wait up to this many Ms for a Diagnostic Access CE operation to complete */ #define DIAG_ACCESS_CE_TIMEOUT_US 10000/* 10 ms */ #define DIAG_ACCESS_CE_WAIT_US 50
/* QCA6174 is known to have Tx/Rx issues when SOC_WAKE register is poked too *frequently.ToavoidthisputSoCtosleepafteraveryconservativegrace *period.Adjustwithgreatcare.
*/ #define ATH10K_PCI_SLEEP_GRACE_PERIOD_MSEC 60
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.