<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/soc/qcom/qcom_aoss.c, 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-07-01T03:03:58Z</updated>
<entry>
<title>soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register</title>
<updated>2022-07-01T03:03:58Z</updated>
<author>
<name>Miaoqian Lin</name>
<email>linmq006@gmail.com</email>
</author>
<published>2022-06-06T06:42:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e6e0951414a314e7db3e9e24fd924b3e15515288'/>
<id>urn:sha1:e6e0951414a314e7db3e9e24fd924b3e15515288</id>
<content type='text'>
Every iteration of for_each_available_child_of_node() decrements
the reference count of the previous node.
When breaking early from a for_each_available_child_of_node() loop,
we need to explicitly call of_node_put() on the child node.
Add missing of_node_put() to avoid refcount leak.

Fixes: 05589b30b21a ("soc: qcom: Extend AOSS QMP driver to support resources that are used to wake up the SoC.")
Signed-off-by: Miaoqian Lin &lt;linmq006@gmail.com&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220606064252.42595-1-linmq006@gmail.com
</content>
</entry>
<entry>
<title>soc: qcom: aoss: remove spurious IRQF_ONESHOT flags</title>
<updated>2022-02-01T00:12:20Z</updated>
<author>
<name>Daniel Thompson</name>
<email>daniel.thompson@linaro.org</email>
</author>
<published>2022-01-27T17:35:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8030cb9a55688c1339edd284d9d6ce5f9fc75160'/>
<id>urn:sha1:8030cb9a55688c1339edd284d9d6ce5f9fc75160</id>
<content type='text'>
Quoting the header comments, IRQF_ONESHOT is "Used by threaded interrupts
which need to keep the irq line disabled until the threaded handler has
been run.". When applied to an interrupt that doesn't request a threaded
irq then IRQF_ONESHOT has a lesser known (undocumented?) side effect,
which it to disable the forced threading of the irq. For "normal" kernels
(without forced threading) then, if there is no thread_fn, then
IRQF_ONESHOT is a nop.

In this case disabling forced threading is not appropriate for this driver
because it calls wake_up_all() and this API cannot be called from
no-thread interrupt handlers on PREEMPT_RT systems (deadlock risk, triggers
sleeping-while-atomic warnings).

Fix this by removing IRQF_ONESHOT.

Fixes: 2209481409b7 ("soc: qcom: Add AOSS QMP driver")
Signed-off-by: Daniel Thompson &lt;daniel.thompson@linaro.org&gt;
[bjorn: Added Fixes tag]
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220127173554.158111-1-daniel.thompson@linaro.org
</content>
</entry>
<entry>
<title>soc: qcom: aoss: Fix missing put_device call in qmp_get</title>
<updated>2022-01-31T22:17:44Z</updated>
<author>
<name>Miaoqian Lin</name>
<email>linmq006@gmail.com</email>
</author>
<published>2022-01-08T09:59:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4b41a9d0fe3db5f91078a380f62f0572c3ecf2dd'/>
<id>urn:sha1:4b41a9d0fe3db5f91078a380f62f0572c3ecf2dd</id>
<content type='text'>
The reference taken by 'of_find_device_by_node()' must be released when
not needed anymore.
Add the corresponding 'put_device()' in the error handling paths.

Fixes: 8c75d585b931 ("soc: qcom: aoss: Expose send for generic usecase")
Signed-off-by: Miaoqian Lin &lt;linmq006@gmail.com&gt;
Reviewed-by: Stephen Boyd &lt;swboyd@chromium.org&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/20220108095931.21527-1-linmq006@gmail.com
</content>
</entry>
<entry>
<title>soc: qcom: aoss: constify static struct thermal_cooling_device_ops</title>
<updated>2021-12-21T01:10:10Z</updated>
<author>
<name>Rikard Falkeborn</name>
<email>rikard.falkeborn@gmail.com</email>
</author>
<published>2021-11-28T21:03:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3925b909f75800e69bd1a65130a0440191a9e60a'/>
<id>urn:sha1:3925b909f75800e69bd1a65130a0440191a9e60a</id>
<content type='text'>
The only usage of qmp_cooling_device_ops is to pass its address to
devm_thermal_of_cooling_device_register() which takes a pointer to const
struct thermal_cooling_device_ops as argument. Make it const to allow
the compiler to put it in read-only memory.

Signed-off-by: Rikard Falkeborn &lt;rikard.falkeborn@gmail.com&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/20211128210317.25504-1-rikard.falkeborn@gmail.com
</content>
</entry>
<entry>
<title>soc: qcom: aoss: Drop power domain support</title>
<updated>2021-09-27T19:59:55Z</updated>
<author>
<name>Sibi Sankar</name>
<email>sibis@codeaurora.org</email>
</author>
<published>2021-09-16T13:59:28Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=99512191f4f1dd4e0ad92e6f61ffe4d8a22aa3ba'/>
<id>urn:sha1:99512191f4f1dd4e0ad92e6f61ffe4d8a22aa3ba</id>
<content type='text'>
Strip out the load state power-domain support from the driver since the
low power mode signalling for the co-processors is now accessible through
the direct qmp message send interface.

Signed-off-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Reviewed-by: Matthias Kaehlcke &lt;mka@chromium.org&gt;
Reviewed-by: Stephen Boyd &lt;swboyd@chromium.org&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/1631800770-371-12-git-send-email-sibis@codeaurora.org
</content>
</entry>
<entry>
<title>Merge tag '1630420228-31075-2-git-send-email-deesin@codeaurora.org' into drivers-for-5.16</title>
<updated>2021-09-21T22:49:38Z</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2021-09-21T22:49:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=665783d887dac334db9be1fbef09f87991e88db6'/>
<id>urn:sha1:665783d887dac334db9be1fbef09f87991e88db6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>soc: qcom: aoss: Make use of the helper function devm_platform_ioremap_resource()</title>
<updated>2021-09-21T22:41:48Z</updated>
<author>
<name>Cai Huoqing</name>
<email>caihuoqing@baidu.com</email>
</author>
<published>2021-09-08T08:02:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c318dcbcccd35a033e7bd79ba51004d2daeb4acb'/>
<id>urn:sha1:c318dcbcccd35a033e7bd79ba51004d2daeb4acb</id>
<content type='text'>
Use the devm_platform_ioremap_resource() helper instead of
calling platform_get_resource() and devm_ioremap_resource()
separately

Signed-off-by: Cai Huoqing &lt;caihuoqing@baidu.com&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/20210908080216.1301-4-caihuoqing@baidu.com
</content>
</entry>
<entry>
<title>soc: qcom: aoss: Expose send for generic usecase</title>
<updated>2021-09-21T22:31:18Z</updated>
<author>
<name>Deepak Kumar Singh</name>
<email>deesin@codeaurora.org</email>
</author>
<published>2021-08-31T14:30:27Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8c75d585b931ac874fbe4ee5a8f1811d20c2817f'/>
<id>urn:sha1:8c75d585b931ac874fbe4ee5a8f1811d20c2817f</id>
<content type='text'>
Not all upcoming usecases will have an interface to allow the aoss
driver to hook onto. Expose the send api and create a get function to
enable drivers to send their own messages to aoss.

Signed-off-by: Chris Lew &lt;clew@codeaurora.org&gt;
Signed-off-by: Deepak Kumar Singh &lt;deesin@codeaurora.org&gt;
Reviewed-by: Stephen Boyd &lt;swboyd@chromium.org&gt;
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
Link: https://lore.kernel.org/r/1630420228-31075-2-git-send-email-deesin@codeaurora.org
</content>
</entry>
<entry>
<title>soc: qcom: aoss: Fix the out of bound usage of cooling_devs</title>
<updated>2021-07-19T20:20:55Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
<email>manivannan.sadhasivam@linaro.org</email>
</author>
<published>2021-06-29T15:32:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a89f355e469dcda129c2522be4fdba00c1c74c83'/>
<id>urn:sha1:a89f355e469dcda129c2522be4fdba00c1c74c83</id>
<content type='text'>
In "qmp_cooling_devices_register", the count value is initially
QMP_NUM_COOLING_RESOURCES, which is 2. Based on the initial count value,
the memory for cooling_devs is allocated. Then while calling the
"qmp_cooling_device_add" function, count value is post-incremented for
each child node.

This makes the out of bound access to the cooling_dev array. Fix it by
passing the QMP_NUM_COOLING_RESOURCES definition to devm_kzalloc() and
initializing the count to 0.

While at it, let's also free the memory allocated to cooling_dev if no
cooling device is found in DT and during unroll phase.

Cc: stable@vger.kernel.org # 5.4
Fixes: 05589b30b21a ("soc: qcom: Extend AOSS QMP driver to support resources that are used to wake up the SoC.")
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20210629153249.73428-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
<entry>
<title>soc: qcom: aoss: Add generic compatible</title>
<updated>2021-07-19T20:20:45Z</updated>
<author>
<name>Bjorn Andersson</name>
<email>bjorn.andersson@linaro.org</email>
</author>
<published>2021-07-09T17:41:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d63486dd8e0bf843949c184843137e03bca5b8b4'/>
<id>urn:sha1:d63486dd8e0bf843949c184843137e03bca5b8b4</id>
<content type='text'>
It seems we don't need platform specific implementation for the AOSS
QMP, so let's introduce a generic compatible to avoid having to update
the driver for each platform.

Reviewed-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Tested-by: Sibi Sankar &lt;sibis@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20210709174142.1274554-4-bjorn.andersson@linaro.org
Signed-off-by: Bjorn Andersson &lt;bjorn.andersson@linaro.org&gt;
</content>
</entry>
</feed>
