<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/firmware/cirrus, branch linux-5.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-04-12T16:57:04Z</updated>
<entry>
<title>firmware: cs_dsp: Fix overrun of unterminated control name string</title>
<updated>2022-04-12T16:57:04Z</updated>
<author>
<name>Richard Fitzgerald</name>
</author>
<published>2022-04-12T16:39:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b933c7262c5b0ea11ea3c3b3ea81add04895954'/>
<id>urn:sha1:5b933c7262c5b0ea11ea3c3b3ea81add04895954</id>
<content type='text'>
For wmfw format v2 and later the coefficient name strings have a length
field and are NOT null-terminated. Use kasprintf() to convert the
unterminated string into a null-terminated string in an allocated buffer.

The previous code handled this duplication incorrectly using kmemdup()
and getting the length from a strlen() of the (unterminated) source string.
This resulted in creating a string that continued up to the next byte in
the firmware file that just happened to be 0x00.

Signed-off-by: Richard Fitzgerald &lt;rf@opensource.cirrus.com&gt;
Fixes: f6bc909e7673 ("firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs")
Link: https://lore.kernel.org/r/20220412163927.1303470-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Clear core reset for cache</title>
<updated>2022-01-05T13:53:53Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2022-01-05T11:30:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7aa1cc1091e0a424e9e7711ca381ebe98b6865bc'/>
<id>urn:sha1:7aa1cc1091e0a424e9e7711ca381ebe98b6865bc</id>
<content type='text'>
If the Halo registers are kept in the register cache the
HALO_CORE_RESET bit will be retained as 1 after reset is triggered in
cs_dsp_halo_start_core. This will cause subsequent writes to reset
the core which is not desired. Apart from this bit the rest of the
register bits are cacheable, so for safety sake clear the bit to
ensure the cache is consistent.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20220105113026.18955-6-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Move lockdep asserts to avoid potential null pointer</title>
<updated>2021-11-30T13:08:12Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-30T10:28:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=043c0a6278ca443b1835726239dc2814c1313a9e'/>
<id>urn:sha1:043c0a6278ca443b1835726239dc2814c1313a9e</id>
<content type='text'>
Move the lockdep asserts until after the ctl pointer has been checked
for NULL, to avoid potentially NULL pointer dereferences.

Fixes: fb2f364fb5b9 ("firmware: cs_dsp: Add lockdep asserts to interface functions")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211130102842.26410-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Allow creation of event controls</title>
<updated>2021-11-17T22:16:28Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-17T13:23:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c903f64ce97172d63f7591cfa9e37cba58867b2'/>
<id>urn:sha1:5c903f64ce97172d63f7591cfa9e37cba58867b2</id>
<content type='text'>
Some firmwares contain controls intended to convey firmware state back
to the host. Whilst more infrastructure will probably be needed for
these in time, as a first step allow creation of the controls, so said
firmwares arn't completely rejected.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211117132300.1290-10-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Add offset to cs_dsp read/write</title>
<updated>2021-11-17T22:16:27Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-17T13:22:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f444da38ac924748de696c393327a44c4b8d727e'/>
<id>urn:sha1:f444da38ac924748de696c393327a44c4b8d727e</id>
<content type='text'>
Provide a mechanism to access only part of a control through the cs_dsp
interface.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211117132300.1290-9-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Clarify some kernel doc comments</title>
<updated>2021-11-17T22:16:26Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-17T13:22:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b329b3d39497a9fdb175d7e4fd77ae7170d5d26c'/>
<id>urn:sha1:b329b3d39497a9fdb175d7e4fd77ae7170d5d26c</id>
<content type='text'>
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211117132300.1290-8-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Perform NULL check in cs_dsp_coeff_write/read_ctrl</title>
<updated>2021-11-17T22:16:25Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-17T13:22:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86c6080407740937ed2ba0ccd181e947f77e2154'/>
<id>urn:sha1:86c6080407740937ed2ba0ccd181e947f77e2154</id>
<content type='text'>
Add a NULL check to the cs_dsp_coeff_write/read_ctrl functions. This is
a major convenience for users of the cs_dsp library as it allows the call
to cs_dsp_get_ctl to be inlined with the call to read/write the control
itself.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211117132300.1290-7-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Add support for rev 2 coefficient files</title>
<updated>2021-11-17T22:16:24Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-17T13:22:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dcee767667f44ed0d40a3debf507a3ba027a1994'/>
<id>urn:sha1:dcee767667f44ed0d40a3debf507a3ba027a1994</id>
<content type='text'>
Add support for the revision 2 coefficient file, this format is
identical to revision 1 and was simply added by accident to some
firmware. However unfortunately many firmwares have leaked into
production using this and as such driver support really needs to
be added for it.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211117132300.1290-6-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Print messages from bin files</title>
<updated>2021-11-17T22:16:23Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-17T13:22:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40a34ae7308682bbbf5827145afa23dcdfb1f090'/>
<id>urn:sha1:40a34ae7308682bbbf5827145afa23dcdfb1f090</id>
<content type='text'>
The coefficient file contains various info strings, and the equivalent
strings are printed from the WMFW file as it is loaded. Add support
for printing these from the coefficient file as well.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211117132300.1290-5-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: cs_dsp: Add pre_run callback</title>
<updated>2021-11-17T22:16:22Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2021-11-17T13:22:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=14055b5a3a23204c4702ae5d3f2a819ee081ce33'/>
<id>urn:sha1:14055b5a3a23204c4702ae5d3f2a819ee081ce33</id>
<content type='text'>
The code already has a post_run callback, add a matching pre_run
callback to the client_ops that is called before execution is started.
This callback provides a convenient place for the client code to
set DSP controls or hardware that requires configuration before
the DSP core actually starts execution. Note that placing this callback
before cs_dsp_coeff_sync_controls is important to ensure that any
control values are then correctly synced out to the chip.

Co-authored-by: Simon Trimmer &lt;simont@opensource.cirrus.com&gt;
Signed-off-by: Simon Trimmer &lt;simont@opensource.cirrus.com&gt;
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20211117132300.1290-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
