<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/power/smartreflex.h, branch v6.6.132</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.132</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.6.132'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2023-01-09T16:00:54+00:00</updated>
<entry>
<title>ARM: omap2: smartreflex: remove on_init control</title>
<updated>2023-01-09T16:00:54+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2022-09-28T12:19:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=00a5d41ee1b05a8f0c75e1f7e26d363f4c68420e'/>
<id>urn:sha1:00a5d41ee1b05a8f0c75e1f7e26d363f4c68420e</id>
<content type='text'>
Nothing calls omap_enable_smartreflex_on_init() any more, so it
does not need to be tracked either.

Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>soc: ti: Remove pm_runtime_irq_safe() usage for smartreflex</title>
<updated>2021-08-10T22:51:22+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2021-08-09T16:27:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ed4520d6a10bbc1d6fdebf325f0395995ce634cf'/>
<id>urn:sha1:ed4520d6a10bbc1d6fdebf325f0395995ce634cf</id>
<content type='text'>
For the smartreflex device, we need to disable smartreflex on SoC idle,
and have been using pm_runtime_irq_safe() to do that. But we want to
remove the irq_safe usage as PM runtime takes a permanent usage count
on the parent device with it.

In order to remove the need for pm_runtime_irq_safe(), let's gate
the clock directly in the driver. This removes the need to call PM runtime
during idle, and allows us to switch to using CPU_PM in the following
patch.

Note that the smartreflex interconnect target module is configured for smart
idle, but the clock does not have autoidle capability, and needs to be gated
manually. If the clock supported autoidle, we would not need to even gate
the clock.

With this change, we can now remove the related quirk flags for ti-sysc
also.

Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition</title>
<updated>2019-11-13T10:33:53+00:00</updated>
<author>
<name>Ben Dooks</name>
<email>ben.dooks@codethink.co.uk</email>
</author>
<published>2019-10-15T13:12:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2079fe6ea8cbd2fb2fbadba911f1eca6c362eb9b'/>
<id>urn:sha1:2079fe6ea8cbd2fb2fbadba911f1eca6c362eb9b</id>
<content type='text'>
The omap_sr_pdata is not declared but is exported, so add a
define for it to fix the following warning:

arch/arm/mach-omap2/pdata-quirks.c:609:36: warning: symbol 'omap_sr_pdata' was not declared. Should it be static?

Signed-off-by: Ben Dooks &lt;ben.dooks@codethink.co.uk&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PM / AVS: SmartReflex: Switch to SPDX Licence ID</title>
<updated>2018-12-12T12:54:28+00:00</updated>
<author>
<name>Nishanth Menon</name>
<email>nm@ti.com</email>
</author>
<published>2018-12-08T16:00:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f9dca0f0675e7249e10bba259392a582836e5e6e'/>
<id>urn:sha1:f9dca0f0675e7249e10bba259392a582836e5e6e</id>
<content type='text'>
Fix up licensing to be inline with Linux conventions.

Signed-off-by: Nishanth Menon &lt;nm@ti.com&gt;
Acked-by: Kevin Hilman &lt;khilman@baylibre.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PM / AVS: SmartReflex: remove unused function</title>
<updated>2018-10-09T07:50:19+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>uwe@kleine-koenig.org</email>
</author>
<published>2018-10-06T16:40:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2d12df47eafe74bf2e22cbbebc0265db7cd47082'/>
<id>urn:sha1:2d12df47eafe74bf2e22cbbebc0265db7cd47082</id>
<content type='text'>
omap_sr_register_pmic() was introduced in 2010 in commit

	984aa6dbf4ca ("OMAP3: PM: Adding smartreflex driver support.")

. There was never any caller of this function in mainline resulting in a
warning

	sr_init: No PMIC hook to init smartreflex

for each machine where this driver is enabled. So remove the unused
function and the pr_warn.

Signed-off-by: Uwe Kleine-König &lt;uwe@kleine-koenig.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP2+: Prepare to pass auxdata for smartreflex</title>
<updated>2018-02-22T21:57:30+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2018-02-22T21:57:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d060b40523dcd91428c7fb2aaa307de37887484a'/>
<id>urn:sha1:d060b40523dcd91428c7fb2aaa307de37887484a</id>
<content type='text'>
We are still initializing smartreflex with platform data using
omap_device_build(). We can instead pass the platform data in
with auxdata in pdata-quirks.c and make the driver use that
in later patches.

Note that we cannot enable the auxdata use yet, this is done
in the last patch of the series.

Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
</entry>
<entry>
<title>PM / AVS: SmartReflex: use omap_sr * for enable/disable interface</title>
<updated>2013-06-10T17:46:18+00:00</updated>
<author>
<name>Andrii Tseglytskyi</name>
<email>andrii.tseglytskyi@ti.com</email>
</author>
<published>2013-05-27T11:09:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=299066bb376ef7720cc3d8de95d5b967c5446863'/>
<id>urn:sha1:299066bb376ef7720cc3d8de95d5b967c5446863</id>
<content type='text'>
SmartReflex driver interface is natively divided to two parts:

- external SmartReflex interface
- interface between SmartReflex driver and SmartReflex Class

Functions which belong to AVS class interface can use
struct omap_sr* instead of struct voltatedomain*, to provide a
direct connection between SR driver and SR class. This allows
us to optimize and not do additional lookups where none is
required.

sr_enable() and sr_disable() are interface functions between
SR driver and SR class. They are typically used by Class driver
to enable/disable SmartReflex hardware module.
Now they take struct omap_sr* as input parameter.

Signed-off-by: Andrii Tseglytskyi &lt;andrii.tseglytskyi@ti.com&gt;
Acked-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Kevin Hilman &lt;khilman@linaro.org&gt;
</content>
</entry>
<entry>
<title>PM / AVS: SmartReflex: use omap_sr * for minmax interfaces</title>
<updated>2013-06-10T17:46:17+00:00</updated>
<author>
<name>Andrii Tseglytskyi</name>
<email>andrii.tseglytskyi@ti.com</email>
</author>
<published>2013-05-27T11:09:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6c80573415fe47450579d5d8bfab53b304d803ed'/>
<id>urn:sha1:6c80573415fe47450579d5d8bfab53b304d803ed</id>
<content type='text'>
SmartReflex driver interface is natively divided to two parts:

- external SmartReflex interface
- interface between SmartReflex driver and SmartReflex Class

Functions which belong to AVS class interface can use
struct omap_sr* instead of struct voltatedomain*, to provide a
direct connection between SR driver and SR class. This allows
us to optimize and not do additional lookups where none is
required.

sr_configure_minmax() is interface function between SR driver
and SR class. It is typically used by Class driver to
configure MINMAXAVG module inside SmartReflex module.
Now it takes struct omap_sr* as input parameter.

Signed-off-by: Andrii Tseglytskyi &lt;andrii.tseglytskyi@ti.com&gt;
Acked-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Kevin Hilman &lt;khilman@linaro.org&gt;
</content>
</entry>
<entry>
<title>PM / AVS: SmartReflex: use omap_sr * for errgen interfaces</title>
<updated>2013-06-10T17:46:17+00:00</updated>
<author>
<name>Andrii Tseglytskyi</name>
<email>andrii.tseglytskyi@ti.com</email>
</author>
<published>2013-05-27T11:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3dfc35ffd938abe67f2559db6b517536a207df24'/>
<id>urn:sha1:3dfc35ffd938abe67f2559db6b517536a207df24</id>
<content type='text'>
SmartReflex driver interface is natively divided to two parts:

- external SmartReflex interface
- interface between SmartReflex driver and SmartReflex Class

Functions which belong to AVS class interface can use
struct omap_sr* instead of struct voltatedomain*, to provide a
direct connection between SR driver and SR class. This allows
us to optimize and not do additional lookups where none is
required.

sr_disable_errgen() and sr_configure_errgen() are interface
functions between SR driver and SR class. They are typically
used by Class driver to configure error generator module during
SmartReflex enable/disable sequence.
Now they take struct omap_sr* as input parameter.

Signed-off-by: Andrii Tseglytskyi &lt;andrii.tseglytskyi@ti.com&gt;
Acked-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Kevin Hilman &lt;khilman@linaro.org&gt;
</content>
</entry>
<entry>
<title>ARM: OMAP: SmartReflex: pass device dependent data via platform data</title>
<updated>2012-10-15T22:22:24+00:00</updated>
<author>
<name>Jean Pihet</name>
<email>j-pihet@ti.com</email>
</author>
<published>2012-10-04T16:47:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=98aed08e16c5f18d0c31fc07127bc163ccd0d04c'/>
<id>urn:sha1:98aed08e16c5f18d0c31fc07127bc163ccd0d04c</id>
<content type='text'>
Remove the device dependent code (ex. cpu_is_xxx()) and settings
from the driver code and instead pass them via the platform
data. This allows a clean separation of the driver code and the platform
code, as required by the move of the platform header files to
include/linux/platform_data.

Note about the smartreflex functional clocks: the smartreflex fclks
are derived from sys_clk and have the same name as the main_clk from
the hwmod entry, in order for the SmartReflex driver to request the
fclk (using clk_get(dev, "fck")).

Signed-off-by: Jean Pihet &lt;j-pihet@ti.com&gt;
Signed-off-by: Kevin Hilman &lt;khilman@ti.com&gt;
</content>
</entry>
</feed>
