<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/sound/soc/codecs/rt5682.h, branch linux-6.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2022-11-07T16:12:40Z</updated>
<entry>
<title>ASoC: rt5682: Support DBVDD and LDO1-IN supplies</title>
<updated>2022-11-07T16:12:40Z</updated>
<author>
<name>Nícolas F. R. A. Prado</name>
<email>nfraprado@collabora.com</email>
</author>
<published>2022-11-02T18:20:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=318ff0693095defc683d00bb3fd7c482d10b03d7'/>
<id>urn:sha1:318ff0693095defc683d00bb3fd7c482d10b03d7</id>
<content type='text'>
Add support for the DBVDD and LDO1-IN supplies.

Reviewed-by: AngeloGioacchino Del Regno &lt;angelogioacchino.delregno@collabora.com&gt;
Signed-off-by: Nícolas F. R. A. Prado &lt;nfraprado@collabora.com&gt;
Link: https://lore.kernel.org/r/20221102182002.255282-7-nfraprado@collabora.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: Fix deadlock on resume</title>
<updated>2022-01-28T15:59:20Z</updated>
<author>
<name>Peter Ujfalusi</name>
<email>peter.ujfalusi@linux.intel.com</email>
</author>
<published>2022-01-26T10:03:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4045daf0fa87846a27f56329fddad2deeb5ca354'/>
<id>urn:sha1:4045daf0fa87846a27f56329fddad2deeb5ca354</id>
<content type='text'>
On resume from suspend the following chain of events can happen:
A rt5682_resume() -&gt; mod_delayed_work() for jack_detect_work
B DAPM sequence starts ( DAPM is locked now)

A1. rt5682_jack_detect_handler() scheduled
 - Takes both jdet_mutex and calibrate_mutex
 - Calls in to rt5682_headset_detect() which tries to take DAPM lock, it
   starts to wait for it as B path took it already.
B1. DAPM sequence reaches the "HP Amp", rt5682_hp_event() tries to take
    the jdet_mutex, but it is locked in A1, so it waits.

Deadlock.

To solve the deadlock, drop the jdet_mutex, use the jack_detect_work to do
the jack removal handling, move the dapm lock up one level to protect the
most of the rt5682_jack_detect_handler(), but not the jack reporting as it
might trigger a DAPM sequence.
The rt5682_headset_detect() can be changed to static as well.

Fixes: 8deb34a90f063 ("ASoC: rt5682: fix the wrong jack type detected")
Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20220126100325.16513-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: Re-detect the combo jack after resuming</title>
<updated>2021-11-12T18:16:43Z</updated>
<author>
<name>Derek Fang</name>
<email>derek.fang@realtek.com</email>
</author>
<published>2021-11-09T09:54:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2cd9b0ef82d936623d789bb3fbb6fcf52c500367'/>
<id>urn:sha1:2cd9b0ef82d936623d789bb3fbb6fcf52c500367</id>
<content type='text'>
Sometimes, end-users change the jack type under suspending,
so it needs to re-detect the combo jack type after resuming to
avoid any unexpected behaviors.

Signed-off-by: Derek Fang &lt;derek.fang@realtek.com&gt;
Link: https://lore.kernel.org/r/20211109095450.12950-2-derek.fang@realtek.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: fix a little pop while playback</title>
<updated>2021-10-14T11:47:31Z</updated>
<author>
<name>Derek Fang</name>
<email>derek.fang@realtek.com</email>
</author>
<published>2021-10-14T09:40:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4b19e4a77cc6baa0f840e8bae62ab974667f6207'/>
<id>urn:sha1:4b19e4a77cc6baa0f840e8bae62ab974667f6207</id>
<content type='text'>
A little pop can be heard obviously from HP while playing a silent.
This patch fixes it by using two functions:
1. Enable HP 1bit output mode.
2. Change the charge pump switch size during playback on and off.

Signed-off-by: Derek Fang &lt;derek.fang@realtek.com&gt;
Link: https://lore.kernel.org/r/20211014094054.811-1-derek.fang@realtek.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: move clk related code to rt5682_i2c_probe</title>
<updated>2021-09-30T14:23:47Z</updated>
<author>
<name>Jack Yu</name>
<email>jack.yu@realtek.com</email>
</author>
<published>2021-09-29T05:43:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=57589f82762e40bdaa975d840fa2bc5157b5be95'/>
<id>urn:sha1:57589f82762e40bdaa975d840fa2bc5157b5be95</id>
<content type='text'>
The DAI clock is only used in I2S mode, to make it clear
and to fix clock resource release issue, we move CCF clock
related code to rt5682_i2c_probe to fix clock
register/unregister issue.

Signed-off-by: Jack Yu &lt;jack.yu@realtek.com&gt;
Link: https://lore.kernel.org/r/20210929054344.12112-1-jack.yu@realtek.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682-sdw: fix race condition on system suspend</title>
<updated>2021-06-21T12:00:44Z</updated>
<author>
<name>Pierre-Louis Bossart</name>
<email>pierre-louis.bossart@linux.intel.com</email>
</author>
<published>2021-06-14T18:08:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=14f4946d55d335692462f6fa4eb4ace0bf6ad1d9'/>
<id>urn:sha1:14f4946d55d335692462f6fa4eb4ace0bf6ad1d9</id>
<content type='text'>
In the initial driver we cancelled deferred work, but there is still a
window of time where a new interrupt could result in new deferred work
executed after the link is disabled, leading to an IO error. While we
did not see this IO error on RT5682-based platforms, the code pattern
is similar to the RT700 case where the IO error was noted, so the fix
is added for consistency.

This patch uses an 'disable_irq_lock' mutex to prevent new interrupts
from happening after the start of the system suspend. The choice of a
mutex v. a spinlock is mainly due to the time required to clear
interrupts, which requires a command to be transmitted by the
SoundWire host IP and acknowledged with an interrupt. The
'interrupt_callback' routine is also not meant to be called from an
interrupt context.

An additional 'disable_irq' flag prevents race conditions where the
status changes before the interrupts are disabled, but the workqueue
handling status changes is scheduled after the completion of the
system suspend. On resume the interrupts are re-enabled already by the
io_init routine so we only clear the flag.

The Fixes tag points to a 5.10 commit, there's no need to propagate
this change to earlier upstream versions.

BugLink: https://github.com/thesofproject/linux/issues/2943
Fixes: 4a55000722d7 ('ASoC: codecs: rt*.c: remove useless pointer cast')
Signed-off-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Reviewed-by: Bard Liao &lt;bard.liao@intel.com&gt;
Reviewed-by: Péter Ujfalusi &lt;peter.ujfalusi@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20210614180815.153711-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: add delay time of workqueue to control next IRQ event</title>
<updated>2021-03-10T13:14:34Z</updated>
<author>
<name>Shuming Fan</name>
<email>shumingf@realtek.com</email>
</author>
<published>2021-03-09T08:58:27Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=542712826f8d3b0a72e66d7feec2dedba5dfa297'/>
<id>urn:sha1:542712826f8d3b0a72e66d7feec2dedba5dfa297</id>
<content type='text'>
This patch keeps the delay time (50 ms) for jack detection and zero delay time for the button press.
This patch improves the reaction of the button press.

Signed-off-by: Shuming Fan &lt;shumingf@realtek.com&gt;
Link: https://lore.kernel.org/r/20210309085827.32032-1-shumingf@realtek.com
Tested-by Curtis Malainey &lt;cujomalainey@chromium.org&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: codecs: soundwire: increase resume timeout</title>
<updated>2021-01-15T14:15:29Z</updated>
<author>
<name>Pierre-Louis Bossart</name>
<email>pierre-louis.bossart@linux.intel.com</email>
</author>
<published>2021-01-15T06:16:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7ef8c9edc86cff0881b2eb9a3274796258fbd872'/>
<id>urn:sha1:7ef8c9edc86cff0881b2eb9a3274796258fbd872</id>
<content type='text'>
The resume operation relies on multiple transactions to synchronize
the regmap state, make sure the timeout is one order of magnitude
larger than an individual transaction, so that timeouts of failed
transactions are detected first.

Signed-off-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Bard Liao &lt;yung-chuan.liao@linux.intel.com&gt;
Link: https://lore.kernel.org/r/20210115061651.9740-2-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: Add a new property for the DMIC clock driving</title>
<updated>2020-11-13T14:22:09Z</updated>
<author>
<name>Oder Chiou</name>
<email>oder_chiou@realtek.com</email>
</author>
<published>2020-11-13T05:53:59Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7416f6bc5fcb1fe6700391c94b59ac1c744ad9d1'/>
<id>urn:sha1:7416f6bc5fcb1fe6700391c94b59ac1c744ad9d1</id>
<content type='text'>
The patch adds a new property to set the DMIC clock driving.

Signed-off-by: Oder Chiou &lt;oder_chiou@realtek.com&gt;
Link: https://lore.kernel.org/r/20201113055400.11242-1-oder_chiou@realtek.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: rt5682: Use clk_hw based APIs for registration</title>
<updated>2020-08-17T12:33:44Z</updated>
<author>
<name>Stephen Boyd</name>
<email>swboyd@chromium.org</email>
</author>
<published>2020-08-04T00:05:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=653bdab267bd8dbce9cbd16bec843ca9d20a8450'/>
<id>urn:sha1:653bdab267bd8dbce9cbd16bec843ca9d20a8450</id>
<content type='text'>
The (new?) style of clk registration uses clk_hw based APIs so that we
can more easily see the difference between clk providers and clk
consumers. Use the clk_hw based APIs to do this and migrate to devm for
the clkdev creation so that we can reduce the amount of code.

Signed-off-by: Stephen Boyd &lt;swboyd@chromium.org&gt;
Cc: Cheng-Yi Chiang &lt;cychiang@chromium.org&gt;
Cc: Shuming Fan &lt;shumingf@realtek.com&gt;
Link: https://lore.kernel.org/r/20200804000531.920688-4-swboyd@chromium.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
