All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Support for STA idle mode power save(IMPS)
@ 2018-04-17 12:06 ` pillair
  0 siblings, 0 replies; 44+ messages in thread
From: pillair @ 2018-04-17 12:06 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Rakesh Pillai

From: Rakesh Pillai <pillair@codeaurora.org>

Enable STA idle mode power save(IMPS) for WCN3990 TLV target.

In-order to support STA idle mode ps direct access to CE registers are
protected via 2 mechanism. As target can power collapse based on idle
inactivity and any target register access during that state can lead to
un-clocked access.

2) Caching SRRI/DRRI in DDR.

WN3990 has a shadow block in HW which is always on domain and allows HOST/APPS
access irrespective of power state of the target(Common subsystem(includes CE block)
might be down due to idle/inactivity).
Any operation on the shadow registers are directly reflected back in the actual
CE registers( SRWI/DRWI) once common subsystem gets up.
The shadow registers configuration is supplied via QMI message.

WC3990 has 24 shadow registers and mapping of shadow register(0-23) to CE registers(0-12)
is as following.

               -----------------------------------------------------------
               Shadow Register      |     CE   |    src/dst write index
               -----------------------------------------------------------
                              0            |     0    |           src
                              3            |     3    |           src
                              4            |     4    |           src
                              5            |     5    |           src
                              7            |     7    |           src
                              13           |     1    |           dst
                              14           |     2    |           dst
                              19           |     7    |           dst
                              20           |     8    |           dst
                              21           |     9    |           dst
                              22           |     10   |           dst
                              23           |     11   |           dst


1) Caching SRWI/SRWI in HW shadow block.

Since shadow block allows only WRITE access, for read access(SRRI/DRRI) driver allocates
region in DDR(12CE*half WORD) which is being configured in CE UPD control register.
CE SRRI/DRRI are restored and replayed on the configured region(DDR) on each update.
HOST/APPS reads SRRI/DRRI from the DDR to make the access independent of target power state.


Changes in v2:
	- Disabled the shadow_reg_support and rri_on_ddr hw params for QCA988X_HW_2_0_VERSION
	- Fixed checkpatch warnings

Govind Singh (2):
  ath10k: Enable SRRI/DRRI support on ddr for WCN3990
  ath10k: Enable sta idle power save

Rakesh Pillai (2):
  ath10k: Add hw params for shadow register support
  ath10k: Add support for shadow register for WNC3990

 drivers/net/wireless/ath/ath10k/ce.c   | 245 +++++++++++++++++++++++++++++++--
 drivers/net/wireless/ath/ath10k/ce.h   |  14 ++
 drivers/net/wireless/ath/ath10k/core.c |  28 ++++
 drivers/net/wireless/ath/ath10k/hw.c   |   9 +-
 drivers/net/wireless/ath/ath10k/hw.h   |  17 ++-
 drivers/net/wireless/ath/ath10k/mac.c  |   7 +
 drivers/net/wireless/ath/ath10k/snoc.c |   3 +
 7 files changed, 312 insertions(+), 11 deletions(-)

-- 
2.14.1

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2018-04-26  7:37 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-17 12:06 [PATCH v2 0/4] Support for STA idle mode power save(IMPS) pillair
2018-04-17 12:06 ` pillair
2018-04-17 12:06 ` [PATCH v2 1/4] ath10k: Add hw params for shadow register support pillair
2018-04-17 12:06   ` pillair
2018-04-24  6:05   ` [v2,1/4] " Kalle Valo
2018-04-24  6:05   ` Kalle Valo
2018-04-17 12:06 ` [PATCH v2 2/4] ath10k: Add support for shadow register for WNC3990 pillair
2018-04-17 12:06   ` pillair
2018-04-17 12:07 ` [PATCH v2 3/4] ath10k: Enable SRRI/DRRI support on ddr for WCN3990 pillair
2018-04-17 12:07   ` pillair
2018-04-17 12:07 ` [PATCH v2 4/4] ath10k: Enable sta idle power save pillair
2018-04-17 12:07   ` pillair
2018-04-18  7:06   ` Sebastian Gottschall
2018-04-18  7:06     ` Sebastian Gottschall
2018-04-18 13:07     ` govinds
2018-04-18 13:07       ` govinds
2018-04-18 13:16       ` Kalle Valo
2018-04-18 13:16         ` Kalle Valo
2018-04-18 14:44         ` Arend van Spriel
2018-04-18 14:44           ` Arend van Spriel
2018-04-19  4:32         ` govinds
2018-04-19  4:32           ` govinds
2018-04-19 16:36           ` Kalle Valo
2018-04-19 16:36             ` Kalle Valo
2018-04-19 17:00             ` Adrian Chadd
2018-04-19 17:00               ` Adrian Chadd
2018-04-20  7:21             ` Sebastian Gottschall
2018-04-20  7:21               ` Sebastian Gottschall
2018-04-20  8:16               ` Arend van Spriel
2018-04-20  8:16                 ` Arend van Spriel
2018-04-20 12:43                 ` govinds
2018-04-20 12:43                   ` govinds
2018-04-23 15:50                 ` Kalle Valo
2018-04-23 15:50                   ` Kalle Valo
2018-04-23 16:17                   ` 9984 with 10.4.3.5.3-0057 crashes Sebastian Gottschall
2018-04-24  5:27                     ` Kalle Valo
2018-04-24  6:08                       ` Sebastian Gottschall
2018-04-25 15:23                         ` Kalle Valo
2018-04-26  6:23                           ` Sebastian Gottschall
2018-04-26  7:36                           ` Sebastian Gottschall
2018-04-23 16:41                   ` [PATCH v2 4/4] ath10k: Enable sta idle power save Adrian Chadd
2018-04-23 16:41                     ` Adrian Chadd
2018-04-24  5:35                     ` Kalle Valo
2018-04-24  5:35                       ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.