• Mohammed Shafi Shajakhan's avatar
    ath9k_hw: Add hardware code for WoW · 64875c63
    Mohammed Shafi Shajakhan authored
    add a new file wow.c which takes care of the hardware code
    for WoW.
    
    *program the descriptors and data words to periodically
    send Keep Alive Frames.
    *program the user defined patterns/masks and pattern length
    in the hardware registers.
    *'ath9k_hw_wow_enable' is called during the drivers suspend
    callback which takes care of the following
    	- tracking wow event mask (to suppress spurious
    	  wow events)
    	- properly configure suspend/resume WAR registers
    	- configure PCIE PM control register
    	- configure MAC WoW registers and their timeouts
    	- enabling wow configuration like magic packet,
    	  user patterns based on users configuration
    	- configuring timeouts for KAL, beacon miss,
    	  aifs, slot time, backoff
    	- create Keep Alive Pattern ('KAL')
    *'ath9k_hw_wow_wakeup' is called during the drivers resume
    callback which takes care of the following
    	- primary task is to find the reason for wakeup
    	  from the wow status register
    	- configure/restore AR_PCIE_PM_CTRL register
    	- clear all WoW events
    	- configure/restore suspend/resume WAR registers
    
    Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
    Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
    Cc: vadivel@qca.qualcomm.com
    Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@qca.qualcomm.com>
    Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    64875c63
hw.h 33.1 KB