<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/sound/soc/qcom/lpass-platform.c, branch docs-6.1</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-6.1</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-6.1'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2022-06-01T10:24:10+00:00</updated>
<entry>
<title>ASoC: qcom: lpass-platform: Update VMA access permissions in mmap callback</title>
<updated>2022-06-01T10:24:10+00:00</updated>
<author>
<name>Srinivasa Rao Mandadapu</name>
<email>quic_srivasam@quicinc.com</email>
</author>
<published>2022-05-27T14:10:08+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=ef8d89b83bf453ea9cc3c4873a84b50ff334f797'/>
<id>urn:sha1:ef8d89b83bf453ea9cc3c4873a84b50ff334f797</id>
<content type='text'>
Replace page protection permissions from noncashed to writecombine,
in lpass codec DMA path mmp callabck, to support 64 bit chromeOS.
Avoid SIGBUS error in userspace caused by noncached permissions in
64 bit chromeOS.

Signed-off-by: Srinivasa Rao Mandadapu &lt;quic_srivasam@quicinc.com&gt;
Link: https://lore.kernel.org/r/1653660608-27245-1-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: qcom: lpass-platform: Update memremap flag to MEMREMAP_WC</title>
<updated>2022-04-19T11:04:07+00:00</updated>
<author>
<name>Srinivasa Rao Mandadapu</name>
<email>quic_srivasam@quicinc.com</email>
</author>
<published>2022-04-13T10:09:56+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0a8ff26dea6e9aeb11db3f1af9fc1848b7042661'/>
<id>urn:sha1:0a8ff26dea6e9aeb11db3f1af9fc1848b7042661</id>
<content type='text'>
Update memremap flag from MEMREMAP_WT to MEMREMAP_WC for better
performance.

Signed-off-by: Srinivasa Rao Mandadapu &lt;quic_srivasam@quicinc.com&gt;
Co-developed-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Signed-off-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Link: https://lore.kernel.org/r/1649844596-5264-1-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'asoc-v5.18' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus</title>
<updated>2022-03-21T15:19:21+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2022-03-21T15:19:21+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=646b907e1559f006c79a752ee3eebe220ceb983d'/>
<id>urn:sha1:646b907e1559f006c79a752ee3eebe220ceb983d</id>
<content type='text'>
ASoC: Updates for v5.18

Quite a quiet release for ASoC, lots of work on drivers and platforms
but nothing too groundbreaking but not much on the core itself:

 - Start of moving SoF to support multiple IPC mechanisms.
 - Use of NHLT ACPI table to reduce the amount of quirking required for
   Intel systems.
 - Some building blocks for use in forthcoming Intel AVS driver for
   legacy Intel DSP firmwares.
 - Support for AMD PDM, Atmel PDMC, Awinic AW8738, i.MX cards with
   TLV320AIC31xx, Intel machines with CS35L41 and ESSX8336, Mediatek
   MT8181 wideband bluetooth, nVidia Tegra234, Qualcomm SC7280, Renesas
   RZ/V2L, Texas Instruments TAS585M
</content>
</entry>
<entry>
<title>ASoC: qcom: Fix error code in lpass_platform_copy()</title>
<updated>2022-03-02T13:45:27+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2022-03-01T08:11:04+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d5dd781bcc81aa31b62310927f25cfa2574450f1'/>
<id>urn:sha1:d5dd781bcc81aa31b62310927f25cfa2574450f1</id>
<content type='text'>
The copy_to/from_user() functions return the number of bytes remaining
to be copied.  This function needs to return negative error codes
because snd_soc_pcm_component_copy_user() treats positive returns as
success in soc_component_ret().

Fixes: 7d7209557b67 ("ASoC: qcom: Add support for codec dma driver")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Link: https://lore.kernel.org/r/20220301081104.GB17375@kili
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: qcom: lpass-platform: Update warning print to control excess logging</title>
<updated>2022-02-25T13:45:42+00:00</updated>
<author>
<name>Srinivasa Rao Mandadapu</name>
<email>quic_srivasam@quicinc.com</email>
</author>
<published>2022-02-25T12:42:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5a5d2316a5292222383d4e3589b8f5144f7c9b49'/>
<id>urn:sha1:5a5d2316a5292222383d4e3589b8f5144f7c9b49</id>
<content type='text'>
Update dev_warn to dev_warn_ratelimit to control excess xrun logging
in lpass platform driver.

Signed-off-by: Srinivasa Rao Mandadapu &lt;quic_srivasam@quicinc.com&gt;
Co-developed-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Signed-off-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Link: https://lore.kernel.org/r/1645792943-24845-1-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: qcom: Add support for codec dma driver</title>
<updated>2022-02-24T20:21:45+00:00</updated>
<author>
<name>Srinivasa Rao Mandadapu</name>
<email>quic_srivasam@quicinc.com</email>
</author>
<published>2022-02-24T15:33:45+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7d7209557b6712e8aa72ac1ce67a3fe209f5f889'/>
<id>urn:sha1:7d7209557b6712e8aa72ac1ce67a3fe209f5f889</id>
<content type='text'>
Upadate lpass cpu and platform driver to support audio over codec dma
in ADSP bypass use case.

Signed-off-by: Srinivasa Rao Mandadapu &lt;quic_srivasam@quicinc.com&gt;
Co-developed-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Signed-off-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Link: https://lore.kernel.org/r/1645716828-15305-7-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: qcom: Add helper function to get dma control and lpaif handle</title>
<updated>2022-02-24T20:21:41+00:00</updated>
<author>
<name>Srinivasa Rao Mandadapu</name>
<email>quic_srivasam@quicinc.com</email>
</author>
<published>2022-02-24T15:33:42+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=16413d5c5a2ed81d8fece1c5fe0b85752ecdbdf2'/>
<id>urn:sha1:16413d5c5a2ed81d8fece1c5fe0b85752ecdbdf2</id>
<content type='text'>
Add support function to get dma control and lpaif handle to avoid
repeated code in platform driver

Signed-off-by: Srinivasa Rao Mandadapu &lt;quic_srivasam@quicinc.com&gt;
Co-developed-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Signed-off-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Reviewed-by: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt;
Link: https://lore.kernel.org/r/1645716828-15305-4-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: qcom: Move lpass_pcm_data structure to lpass header</title>
<updated>2022-02-24T20:21:39+00:00</updated>
<author>
<name>Srinivasa Rao Mandadapu</name>
<email>quic_srivasam@quicinc.com</email>
</author>
<published>2022-02-24T15:33:40+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=74190d7cd3e8ab5123206d383dbfe125a4b7bb19'/>
<id>urn:sha1:74190d7cd3e8ab5123206d383dbfe125a4b7bb19</id>
<content type='text'>
Declare lpass_pcm_data structure in lpass header file instead of
platform source file to make common use of it by other drivers

Signed-off-by: Srinivasa Rao Mandadapu &lt;quic_srivasam@quicinc.com&gt;
Co-developed-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Signed-off-by: Venkata Prasad Potturu &lt;quic_potturu@quicinc.com&gt;
Reviewed-by: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt;
Link: https://lore.kernel.org/r/1645716828-15305-2-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: qcom: Actually clear DMA interrupt register for HDMI</title>
<updated>2022-02-10T13:14:38+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>swboyd@chromium.org</email>
</author>
<published>2022-02-09T23:25:20+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c8d251f51ee61df06ee0e419348d8c9160bbfb86'/>
<id>urn:sha1:c8d251f51ee61df06ee0e419348d8c9160bbfb86</id>
<content type='text'>
In commit da0363f7bfd3 ("ASoC: qcom: Fix for DMA interrupt clear reg
overwriting") we changed regmap_write() to regmap_update_bits() so that
we can avoid overwriting bits that we didn't intend to modify.
Unfortunately this change breaks the case where a register is writable
but not readable, which is exactly how the HDMI irq clear register is
designed (grep around LPASS_HDMITX_APP_IRQCLEAR_REG to see how it's
write only). That's because regmap_update_bits() tries to read the
register from the hardware and if it isn't readable it looks in the
regmap cache to see what was written there last time to compare against
what we want to write there. Eventually, we're unable to modify this
register at all because the bits that we're trying to set are already
set in the cache.

This is doubly bad for the irq clear register because you have to write
the bit to clear an interrupt. Given the irq is level triggered, we see
an interrupt storm upon plugging in an HDMI cable and starting audio
playback. The irq storm is so great that performance degrades
significantly, leading to CPU soft lockups.

Fix it by using regmap_write_bits() so that we really do write the bits
in the clear register that we want to. This brings the number of irqs
handled by lpass_dma_interrupt_handler() down from ~150k/sec to ~10/sec.

Fixes: da0363f7bfd3 ("ASoC: qcom: Fix for DMA interrupt clear reg overwriting")
Cc: Srinivasa Rao Mandadapu &lt;srivasam@codeaurora.org&gt;
Cc: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;swboyd@chromium.org&gt;
Link: https://lore.kernel.org/r/20220209232520.4017634-1-swboyd@chromium.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: qcom: lpass: Use managed buffer allocation</title>
<updated>2021-08-04T06:09:23+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2021-08-02T07:28:13+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=15a52cdcb0ef4d01c7da97c6db5c20d193ea93f1'/>
<id>urn:sha1:15a52cdcb0ef4d01c7da97c6db5c20d193ea93f1</id>
<content type='text'>
This patch simplifies the buffer pre-allocation code of qcom lpass
driver with the standard managed buffer helper.  It uses the newly
introduced fixed-size buffer allocation helper.

Cc: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt;
Cc: Banajit Goswami &lt;bgoswami@codeaurora.org&gt;
Acked-by: Mark Brown &lt;broonie@kernel.org&gt;
Link: https://lore.kernel.org/r/20210802072815.13551-14-tiwai@suse.de
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
