devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
To: Mark Brown <broonie@kernel.org>
Cc: agross@kernel.org, bjorn.andersson@linaro.org,
	lgirdwood@gmail.com, robh+dt@kernel.org, plai@codeaurora.org,
	bgoswami@codeaurora.org, perex@perex.cz, tiwai@suse.com,
	srinivas.kandagatla@linaro.org, rohitkr@codeaurora.org,
	linux-arm-msm@vger.kernel.org, alsa-devel@alsa-project.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	V Sujith Kumar Reddy <vsujithk@codeaurora.org>
Subject: Re: [PATCH v4 1/2] Partially revert ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state
Date: Tue, 1 Dec 2020 23:01:21 +0530	[thread overview]
Message-ID: <966993b7-4720-bdd2-cf4d-cf5a7c11a0c1@codeaurora.org> (raw)
In-Reply-To: <20201130124617.GC4756@sirena.org.uk>

Thanks Mark for your time!!!

On 11/30/2020 6:16 PM, Mark Brown wrote:
> On Sat, Nov 28, 2020 at 10:29:18AM +0530, Srinivasa Rao Mandadapu wrote:
>> This reverts part of commit b1824968221c
>> ("ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state")
>>
>> To identify LPAIF invalid state after device suspend and resume,
>> made I2S and DMA control registers not volatile, which is not necessary.
>> Instead invalid reg state can be handled with regcache APIs.
>> The BCLK ref count is necessary to enable clock only it's in disable state.
> Part of this commit message says that the problem was making the registers
> non-volatile but both the change and the rest of the commit message say
> that the issue was that the registers were made volatile.  I'm also
> still unclear as to what the issue is either way - how does reading the
> state of the registers from the hardware instead of the cache affect
> things?

Initial problem was, during playback if device suspended, I2S and DMA 
control registers

are getting reset and unable to recover playback after resume.

As these registers were non volatile registers, driver is not getting 
actual register value

and unable to report error state to application. Due to this application

keeps on polling for HW current pointer state and not exited from PCM 
running state.

To handle this scenario I made registers volatile and if they are in 
reset state, reported error

to application(commit b1824968221c).

Later from review comments by Srinivas kandagatla, I got to know

about regcache sync APIs, which can be used  to sync cache after resume and

HW registers can be updated with  original values. With that playback 
can be continued.

So is the reason, I am reverting partial changes in the commit b1824968221c.


> Please submit patches using subject lines reflecting the style for the
> subsystem, this makes it easier for people to identify relevant patches.
> Look at what existing commits in the area you're changing are doing and
> make sure your subject lines visually resemble what they're doing.
> There's no need to resubmit to fix this alone.

-- 
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center, Inc.,
is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.


  reply	other threads:[~2020-12-01 17:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-28  4:59 [PATCH v4 0/2] Platform driver update to support playback recover after resume Srinivasa Rao Mandadapu
2020-11-28  4:59 ` [PATCH v4 1/2] Partially revert ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state Srinivasa Rao Mandadapu
2020-11-30 11:09   ` Srinivas Kandagatla
2020-11-30 12:46   ` Mark Brown
2020-12-01 17:31     ` Srinivasa Rao Mandadapu [this message]
2020-12-01 17:51       ` Mark Brown
2020-12-14 12:43         ` Srinivasa Rao Mandadapu
2020-12-14 17:50           ` Mark Brown
2020-12-17  8:14             ` Srinivasa Rao Mandadapu
2020-12-17  8:18             ` Srinivasa Rao Mandadapu
2020-11-28  4:59 ` [PATCH v4 2/2] ASoC: qcom: Add support for playback recover after resume Srinivasa Rao Mandadapu
2020-11-30 11:19   ` Srinivas Kandagatla
2020-11-30 16:26   ` Steev Klimaszewski

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=966993b7-4720-bdd2-cf4d-cf5a7c11a0c1@codeaurora.org \
    --to=srivasam@codeaurora.org \
    --cc=agross@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=bgoswami@codeaurora.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=plai@codeaurora.org \
    --cc=robh+dt@kernel.org \
    --cc=rohitkr@codeaurora.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.com \
    --cc=vsujithk@codeaurora.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;
as well as URLs for NNTP newsgroup(s).