ATH10K Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: pillair@codeaurora.org
To: ath10k@lists.infradead.org
Cc: Rakesh Pillai <pillair@codeaurora.org>, linux-wireless@vger.kernel.org
Subject: [PATCH 0/4] Support for STA idle mode power save(IMPS)
Date: Tue, 10 Apr 2018 19:53:28 +0530	[thread overview]
Message-ID: <1523370212-8778-1-git-send-email-pillair@codeaurora.org> (raw)

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.

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 |  26 ++++
 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, 310 insertions(+), 11 deletions(-)

-- 
2.14.1


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

             reply	other threads:[~2018-04-10 14:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-10 14:23 pillair [this message]
2018-04-10 14:23 ` [PATCH 1/4] ath10k: Add hw params for shadow register support pillair
2018-04-10 14:23 ` [PATCH 2/4] ath10k: Add support for shadow register for WNC3990 pillair
2018-04-10 14:23 ` [PATCH 3/4] ath10k: Enable SRRI/DRRI support on ddr for WCN3990 pillair
2018-04-16 13:27   ` Kalle Valo
2018-04-17 12:10     ` pillair
2018-04-10 14:23 ` [PATCH 4/4] ath10k: Enable sta idle power save pillair

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1523370212-8778-1-git-send-email-pillair@codeaurora.org \
    --to=pillair@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox