<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/firmware/arm_scmi/clock.c, 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-04T22:06:37Z</updated>
<entry>
<title>firmware: arm_scmi: Replace zero-length array with flexible-array member</title>
<updated>2022-04-04T22:06:37Z</updated>
<author>
<name>Lv Ruyi</name>
</author>
<published>2022-04-01T07:55:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f1ad601d1f4a8f5dac69706d641f3a88beccc488'/>
<id>urn:sha1:f1ad601d1f4a8f5dac69706d641f3a88beccc488</id>
<content type='text'>
There is a regular need in the kernel to provide a way to declare
having a dynamically sized set of trailing elements in a structure.
Kernel code should always use “flexible array members”[1] for these
cases. The older style of one-element or zero-length arrays should
no longer be used[2].

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays

Link: https://lore.kernel.org/r/20220401075537.2407376-1-lv.ruyi@zte.com.cn
Reported-by: Zeal Robot &lt;zealci@zte.com.cn&gt;
Signed-off-by: Lv Ruyi &lt;lv.ruyi@zte.com.cn&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Fix sorting of retrieved clock rates</title>
<updated>2022-04-04T22:06:09Z</updated>
<author>
<name>Cristian Marussi</name>
</author>
<published>2022-03-18T09:28:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23274739a5b6166f74d8d9cb5243d7bf6b46aab9'/>
<id>urn:sha1:23274739a5b6166f74d8d9cb5243d7bf6b46aab9</id>
<content type='text'>
During SCMI Clock protocol initialization, after having retrieved from the
SCMI platform all the available discrete rates for a specific clock, the
clock rates array is sorted, unfortunately using a pointer to its end as
a base instead of its start, so that sorting does not work.

Fix invocation of sort() passing as base a pointer to the start of the
retrieved clock rates array.

Link: https://lore.kernel.org/r/20220318092813.49283-1-cristian.marussi@arm.com
Fixes: dccec73de91d ("firmware: arm_scmi: Keep the discrete clock rates sorted")
Signed-off-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Add support for clock_enable_latency</title>
<updated>2022-02-21T10:36:48Z</updated>
<author>
<name>Cristian Marussi</name>
</author>
<published>2022-02-17T13:12:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18f295b758b227857133f680a397a42e83c62f3f'/>
<id>urn:sha1:18f295b758b227857133f680a397a42e83c62f3f</id>
<content type='text'>
An SCMI platform can optionally advertise an enable latency typically
associated with a specific clock resource: add support for parsing such
optional message field and export such information in the usual publicly
accessible clock descriptor.

Link: https://lore.kernel.org/r/20220217131234.50328-8-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Add atomic support to clock protocol</title>
<updated>2022-02-21T10:36:48Z</updated>
<author>
<name>Cristian Marussi</name>
</author>
<published>2022-02-17T13:12:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7bd36f2e9430a58aefdc326f8e6653e9b000243'/>
<id>urn:sha1:b7bd36f2e9430a58aefdc326f8e6653e9b000243</id>
<content type='text'>
Introduce new _atomic variant for SCMI clock protocol operations related
to enable disable operations: when an atomic operation is required the xfer
poll_completion flag is set for that transaction.

Link: https://lore.kernel.org/r/20220217131234.50328-7-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Add protocol modularization support</title>
<updated>2021-03-30T15:35:16Z</updated>
<author>
<name>Cristian Marussi</name>
</author>
<published>2021-03-16T12:49:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5800e0bf6f9b7ff7dfa4db8b0681bd062eb16a4'/>
<id>urn:sha1:f5800e0bf6f9b7ff7dfa4db8b0681bd062eb16a4</id>
<content type='text'>
Extend SCMI protocols accounting mechanism to address possible module
usage and add the support to possibly define new protocols as loadable
modules.

Keep the standard protocols built into the SCMI core.

Link: https://lore.kernel.org/r/20210316124903.35011-38-cristian.marussi@arm.com
Tested-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Remove legacy scmi_clk_ops protocol interface</title>
<updated>2021-03-30T15:34:54Z</updated>
<author>
<name>Cristian Marussi</name>
</author>
<published>2021-03-16T12:48:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=137e68659e90b242049bfd1fab2700bbcf476140'/>
<id>urn:sha1:137e68659e90b242049bfd1fab2700bbcf476140</id>
<content type='text'>
Now that all the SCMI driver users have been migrated to the new interface
remove the legacy interface and all the transient code.

Link: https://lore.kernel.org/r/20210316124903.35011-20-cristian.marussi@arm.com
Tested-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Port clock protocol to new protocols interface</title>
<updated>2021-03-29T09:00:35Z</updated>
<author>
<name>Cristian Marussi</name>
</author>
<published>2021-03-16T12:48:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=887281c7519d6e291be5353449d1e1bc00aa63af'/>
<id>urn:sha1:887281c7519d6e291be5353449d1e1bc00aa63af</id>
<content type='text'>
Convert internals of protocol implementation to use protocol handles and
expose a new protocol operations interface for SCMI driver using the new
get/put common operations, while keeping the old handle-&gt;clk_ops still
around to ease transition.

Remove handle-&gt;clock_priv now unused.

Link: https://lore.kernel.org/r/20210316124903.35011-18-cristian.marussi@arm.com
Tested-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Extend protocol registration interfaces</title>
<updated>2021-03-29T08:40:47Z</updated>
<author>
<name>Cristian Marussi</name>
</author>
<published>2021-03-16T12:48:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48dc16e2e52ca386d97435f257ef8a754becb0b8'/>
<id>urn:sha1:48dc16e2e52ca386d97435f257ef8a754becb0b8</id>
<content type='text'>
Extend common protocol registration routines and provide some new generic
protocols get/put helpers that can track protocols usage and automatically
perform the proper initialization and de-initialization on demand when
required.

Convert all standard protocols to use this new registration scheme while
keeping them all still using the usual initialization logic bound to SCMI
devices probing.

Link: https://lore.kernel.org/r/20210316124903.35011-2-cristian.marussi@arm.com
Tested-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Add missing Rx size re-initialisation</title>
<updated>2020-10-13T09:01:47Z</updated>
<author>
<name>Sudeep Holla</name>
</author>
<published>2020-10-12T13:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9724722fde8f9bbd2b87340f00b9300c9284001e'/>
<id>urn:sha1:9724722fde8f9bbd2b87340f00b9300c9284001e</id>
<content type='text'>
Few commands provide the list of description partially and require
to be called consecutively until all the descriptors are fetched
completely. In such cases, we don't release the buffers and reuse
them for consecutive transmits.

However, currently we don't reset the Rx size which will be set as
per the response for the last transmit. This may result in incorrect
response size being interpretted as the firmware may repond with size
greater than the one set but we read only upto the size set by previous
response.

Let us reset the receive buffer size to max possible in such cases as
we don't know the exact size of the response.

Link:  https://lore.kernel.org/r/20201012141746.32575-1-sudeep.holla@arm.com
Fixes: b6f20ff8bd94 ("firmware: arm_scmi: add common infrastructure and support for base protocol")
Reported-by: Etienne Carriere &lt;etienne.carriere@linaro.org&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
<entry>
<title>firmware: arm_scmi: Move scmi protocols registration into the driver</title>
<updated>2020-09-14T06:30:55Z</updated>
<author>
<name>Sudeep Holla</name>
</author>
<published>2020-09-07T11:06:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1eaf18e35a783a007ef03e09f1dfc3de81eace7c'/>
<id>urn:sha1:1eaf18e35a783a007ef03e09f1dfc3de81eace7c</id>
<content type='text'>
In preparation to enable building SCMI as a single module, let us move
the SCMI protocol registration call into the driver. This enables us
to also add unregistration of the SCMI protocols.

The main reason for this is to keep it simple instead of maintaining
it as separate modules and dealing with all possible initcall races
and deferred probe handling. We can move it as separate modules if
needed in future.

Link: https://lore.kernel.org/r/20200907195046.56615-4-sudeep.holla@arm.com
Tested-by: Cristian Marussi &lt;cristian.marussi@arm.com&gt;
Signed-off-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
</content>
</entry>
</feed>
