<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in opp.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>b489e794 - PM / OPP: Add reference counting helpers for Rust implementation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#b489e794</link>
        <description>PM / OPP: Add reference counting helpers for Rust implementationTo ensure that resources such as OPP tables or OPP nodes are not freedwhile in use by the Rust implementation, it is necessary to incrementtheir reference count from Rust code.This commit introduces a new helper function,dev_pm_opp_get_opp_table_ref(), to increment the reference count of anOPP table and declares the existing helper dev_pm_opp_get() in pm_opp.h.Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Tue, 09 Jan 2024 06:27:48 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>d6caca30 - OPP: Drop redundant *_opp_attach|detach_genpd()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#d6caca30</link>
        <description>OPP: Drop redundant *_opp_attach|detach_genpd()All users of *_opp_attach|detach_genpd(), have been converted to usedev|devm_pm_domain_attach|detach_list(), hence let&apos;s drop it along with itscorresponding exported functions.Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;Link: https://lore.kernel.org/r/20241002122232.194245-12-ulf.hansson@linaro.org

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Wed, 02 Oct 2024 12:22:32 +0000</pubDate>
        <dc:creator>Ulf Hansson &lt;ulf.hansson@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>0e8158b4 - OPP: Rework _set_required_devs() to manage a single device per call</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#0e8158b4</link>
        <description>OPP: Rework _set_required_devs() to manage a single device per callAt this point there are no consumer drivers that makes use of_set_required_devs(), hence it should be straightforward to rework the codeto enable it to better integrate with the PM domain attach procedure.During attach, one device at the time is being hooked up to itscorresponding PM domain. Therefore, let&apos;s update the _set_required_devs()to align to this behaviour, allowing callers to fill out one required_devper call. Subsequent changes starts making use of this.Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;Link: https://lore.kernel.org/r/20241002122232.194245-4-ulf.hansson@linaro.org

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Wed, 02 Oct 2024 12:22:24 +0000</pubDate>
        <dc:creator>Ulf Hansson &lt;ulf.hansson@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>217fa396 - OPP: Remove unused declarations in header file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#217fa396</link>
        <description>OPP: Remove unused declarations in header fileThe definition of _update_set_required_opps() has been removed sincecommit e37440e7e2c2 (&quot;OPP: Call dev_pm_opp_set_opp() for requiredOPPs&quot;).Besides, the definition of _put_opp_list_kref() has been removed sincecommit 03758d60265c (&quot;opp: Replace list_kref with a local counter&quot;).Let&apos;s remove the empty declarations in header file.Signed-off-by: Zhang Zekun &lt;zhangzekun11@huawei.com&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Sat, 07 Sep 2024 08:07:01 +0000</pubDate>
        <dc:creator>Zhang Zekun &lt;zhangzekun11@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>dcfec12b - OPP: Rename &apos;rate_clk_single&apos;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#dcfec12b</link>
        <description>OPP: Rename &apos;rate_clk_single&apos;The field&apos;s name isn&apos;t clear enough. Rename it.Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Fri, 05 Jan 2024 10:09:52 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>3b82024c - OPP: Move dev_pm_opp_icc_bw to internal opp.h</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#3b82024c</link>
        <description>OPP: Move dev_pm_opp_icc_bw to internal opp.hIt isn&apos;t used by any driver or API, privatize it.Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Thu, 28 Dec 2023 07:34:41 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>e37440e7 - OPP: Call dev_pm_opp_set_opp() for required OPPs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#e37440e7</link>
        <description>OPP: Call dev_pm_opp_set_opp() for required OPPsConfiguring the required OPP was never properly implemented, we justtook an exception for genpds and configured them directly, while leavingout all other required OPP types.Now that a standard call to dev_pm_opp_set_opp() takes care ofconfiguring the opp-&gt;level too, the special handling for genpds can beavoided by simply calling dev_pm_opp_set_opp() for the required OPPs,which shall eventually configure the corresponding level for genpds.This also makes it possible for us to configure other type of requiredOPPs (no concrete users yet though), via the same path. This is howother frameworks take care of parent nodes, like clock, regulators, etc,where we recursively call the same helper.In order to call dev_pm_opp_set_opp() for the virtual genpd devices,they must share the OPP table of the genpd. Call _add_opp_dev() for themto get that done.This commit also extends the struct dev_pm_opp_config to pass requireddevices, for non-genpd cases, which can be used to calldev_pm_opp_set_opp() for the non-genpd required devices.Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;Tested-by: Stephan Gerhold &lt;stephan.gerhold@kernkonzept.com&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Fri, 27 Oct 2023 08:47:48 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>48b5aaec - OPP: Remove genpd_virt_dev_lock</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#48b5aaec</link>
        <description>OPP: Remove genpd_virt_dev_lockAll the config operations for OPP tables share common code paths now andnone of the other ones have such protection in place. Either all shouldhave it or none.The understanding here is that user won&apos;t clear the OPP configs whilestill using them and so such a case won&apos;t happen. We can always comeback and use a wider lock for all resource types if required.Also fix the error on failing to allocate memory.Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Thu, 12 Oct 2023 06:20:59 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>248a38d5 - OPP: Add dev_pm_opp_add_dynamic() to allow more flexibility</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#248a38d5</link>
        <description>OPP: Add dev_pm_opp_add_dynamic() to allow more flexibilityThe dev_pm_opp_add() API is limited to add dynamic OPPs with a frequencyand a voltage level. To enable more flexibility, let&apos;s add a new API,dev_pm_opp_add_dynamic() that&apos;s takes a struct dev_pm_opp_data* instead ofa list of in-parameters.Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Mon, 25 Sep 2023 13:17:09 +0000</pubDate>
        <dc:creator>Ulf Hansson &lt;ulf.hansson@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>7c41cdcd - OPP: Simplify the over-designed pstate &lt;-&gt; level dance</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#7c41cdcd</link>
        <description>OPP: Simplify the over-designed pstate &lt;-&gt; level danceWhile adding support for &quot;performance states&quot; in the OPP and genpd core,it was decided to set the `pstate` field via genpd&apos;spm_genpd_opp_to_performance_state() helper, to allow platforms to set`pstate` even if they don&apos;t have a corresponding `level` field in the DTOPP tables (More details are present in commit 6e41766a6a50 (&quot;PM /Domain: Implement of_genpd_opp_to_performance_state()&quot;)).Revisiting that five years later clearly suggests that it wasover-designed as all current users are eventually using the `level`value only.The previous commit already added necessary checks to make sure pstateis only used for genpd tables. Lets now simplify this a little, and use`level` directly and remove `pstate` field altogether.Suggested-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Wed, 14 Jun 2023 09:59:32 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>04bd2eaf - OPP: don&apos;t drop performance constraint on OPP table removal</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#04bd2eaf</link>
        <description>OPP: don&apos;t drop performance constraint on OPP table removalThis code was added (long back) by commit 009acd196fc8 (&quot;PM / OPP:Support updating performance state of device&apos;s power domain&quot;) and atthat time the `opp-&gt;pstate` field was used to store the performancestate required by a device&apos;s OPP.Over time that changed and the `-&gt;pstate` field is now used only forgenpd devices and consumer devices access that via the required-oppsinstead.Because of all these changes, _opp_table_kref_release() now drops theconstraint only when the genpd&apos;s OPP table gets freed and not thedevice&apos;s. Which is definitely not what we wanted. And dropping theconstraint doesn&apos;t have much meaning as the genpd itself is going away.Moreover, if we want to drop constraints here, then just dropping theperformance constraint alone isn&apos;t sufficient as there are otherresource constraints like clk, regulator, etc. too, which must behandled.Probably the right thing to do here is to leave this decision to theconsumers, which can call `dev_pm_opp_set_rate(dev, 0)` or similar APIsto drop all constraints properly. Which many of the consumers alreadydo.Remove the special code, which is broken anyway.Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Wed, 14 Jun 2023 07:20:20 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>167eb2bd - OPP: Staticize `lazy_opp_tables` in of.c</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#167eb2bd</link>
        <description>OPP: Staticize `lazy_opp_tables` in of.c`lazy_opp_tables` is only used in of.c, move it there and mark it`static`.Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Thu, 08 Jun 2023 07:25:07 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>528f2d8d - OPP: Move required opps configuration to specialized callback</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#528f2d8d</link>
        <description>OPP: Move required opps configuration to specialized callbackThe required-opps configuration is closely tied to genpd and performancestates at the moment and it is not very obvious that required-opps canlive without genpds. Though we don&apos;t support configuring required-oppsfor non-genpd cases currently.This commit aims at separating these parts, where configuring genpdswould be a special case of configuring the required-opps.Add a specialized callback, set_required_opps(), to the opp table andset it to different callbacks accordingly.This shouldn&apos;t result in any functional changes for now.Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Wed, 22 Feb 2023 11:06:38 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>3466ea2c - OPP: Don&apos;t drop opp-&gt;np reference while it is still in use</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#3466ea2c</link>
        <description>OPP: Don&apos;t drop opp-&gt;np reference while it is still in useThe struct dev_pm_opp contains a reference of the DT node, opp-&gt;np,throughout its lifetime. We should increase the refcount for the samefrom _opp_add_static_v2(), and drop it while removing the OPP finally.Signed-off-by: Liang He &lt;windhl@126.com&gt;[ Viresh: Updated subject / commit log, create _of_clear_opp() and drop	  reference from it]Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Mon, 18 Jul 2022 13:36:32 +0000</pubDate>
        <dc:creator>Liang He &lt;windhl@126.com&gt;</dc:creator>
    </item>
<item>
        <title>2083da24 - OPP: Allow multiple clocks for a device</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#2083da24</link>
        <description>OPP: Allow multiple clocks for a deviceThis patch adds support to allow multiple clocks for a device.The design is pretty much similar to how this is done for regulators,and platforms can supply their own version of the config_clks() callbackif they have multiple clocks for their device. The core manages thecalls via opp_table-&gt;config_clks() eventually.We have kept both &quot;clk&quot; and &quot;clks&quot; fields in the OPP table structure andthe reason is provided as a comment in _opp_set_clknames(). The sameisn&apos;t done for &quot;rates&quot; though and we use rates[0] at most of the placesnow.Co-developed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;Tested-by: Jon Hunter &lt;jonathanh@nvidia.com&gt;Tested-by: Dmitry Osipenko &lt;dmitry.osipenko@collabora.com&gt;Tested-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Fri, 10 Jun 2022 06:32:04 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>1efae8d2 - OPP: Make dev_pm_opp_set_opp() independent of frequency</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#1efae8d2</link>
        <description>OPP: Make dev_pm_opp_set_opp() independent of frequencydev_pm_opp_set_opp() can be called for any device, it may or may nothave a frequency value associated with it.If a frequency value isn&apos;t available, we pass 0 to _set_opp(). Make itoptional instead by making _set_opp() accept a pointer instead, as thefrequency value is anyway available in the OPP. This makesdev_pm_opp_set_opp() and _set_opp() completely independent of anyspecial key value.Tested-by: Dmitry Osipenko &lt;dmitry.osipenko@collabora.com&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Fri, 03 Jun 2022 09:31:30 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>4768914b - OPP: Remove rate_not_available parameter to _opp_add()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#4768914b</link>
        <description>OPP: Remove rate_not_available parameter to _opp_add()commit 32715be4fe95 (&quot;opp: Fix adding OPP entries in a wrong order ifrate is unavailable&quot;) removed the only user of this field, get rid ofrest of it now.Tested-by: Dmitry Osipenko &lt;dmitry.osipenko@collabora.com&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Wed, 08 Jun 2022 06:27:24 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>1f378c6e - OPP: Remove custom OPP helper support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#1f378c6e</link>
        <description>OPP: Remove custom OPP helper supportThe only user of the custom helper is migrated to usedev_pm_opp_set_config_regulators() interface. Remove the now unusedcustom OPP helper support.This cleans up _set_opp() and leaves a single code path to be used byall users.Tested-by: Dmitry Osipenko &lt;dmitry.osipenko@collabora.com&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Mon, 04 Jul 2022 09:27:06 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>aee3352f - OPP: Add support for config_regulators() helper</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#aee3352f</link>
        <description>OPP: Add support for config_regulators() helperExtend the dev_pm_opp_set_config() interface to allow addingconfig_regulators() helpers. This helper will be called to set thevoltages of the regulators from the regular path in _set_opp(), while weare trying to change the OPP.This will eventually replace the custom set_opp() helper.Tested-by: Dmitry Osipenko &lt;dmitry.osipenko@collabora.com&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Mon, 04 Jul 2022 08:15:08 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>11b9b663 - OPP: Add dev_pm_opp_set_config() and friends</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/opp/opp.h#11b9b663</link>
        <description>OPP: Add dev_pm_opp_set_config() and friendsThe OPP core already have few configuration specific APIs and it isgetting complex or messy for both the OPP core and its users.Lets introduce a new set of API which will be used for all kind ofdifferent configurations, and shall eventually be used by all theexisting ones.The new API, returns a unique token instead of a pointer to the OPPtable, which allows the OPP core to drop the resources selectively lateron.Tested-by: Dmitry Osipenko &lt;dmitry.osipenko@collabora.com&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;

            List of files:
            /linux-6.15/drivers/opp/opp.h</description>
        <pubDate>Wed, 25 May 2022 09:53:16 +0000</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
</channel>
</rss>
