s)(struct device *dev,
Thanks
Chanwoo Choi
On 21. 3. 4. 오후 9:50, Daniel Lezcano wrote:
Currently the default behavior is to manually having the devfreq
backend to register themselves as a devfreq cooling device.
There are no so many and actually it makes more sense to register the
devfreq devic
before v5.10-rc7, Maybe, I'll apply the devfreq patches
for v5.12-rc1.
Best Regards,
Chanwoo Choi
On 11/23/20 9:27 AM, Dmitry Osipenko wrote:
> This series brings initial support for memory interconnect to Tegra20,
> Tegra30 and Tegra124 SoCs.
>
> For the starter only display contro
On 11/30/20 5:36 PM, Krzysztof Kozlowski wrote:
> On Mon, Nov 30, 2020 at 05:44:39PM +0900, Chanwoo Choi wrote:
>> Hi Dmitry,
>>
>> The v5.10-rc6 was released from linus git tree.
>> Generally, I will send the pull-quest about devfreq to linux-pm.git
>> maintaine
y.
>
> Tested-by: Peter Geis
> Tested-by: Nicolas Chauvet
> Acked-by: Chanwoo Choi
> Signed-off-by: Dmitry Osipenko
> ---
> drivers/devfreq/tegra30-devfreq.c | 79 +++
> 1 file changed, 37 insertions(+), 42 deletions(-)
>
> diff
proper
> count-weight value for Tegra30 and MC_ALL device config needs a bit more
> aggressive boosting.
>
> Add a separate ACTMON driver configuration that is specific to Tegra30.
>
> Tested-by: Peter Geis
> Tested-by: Nicolas Chauvet
> Acked-by: Chanwoo Choi
> Si
oncern is the initial performance lag in a case of
> multimedia applications. But this will be resolved by hooking up
> performance voting to all drivers, once we will get around to it.
OK. You can choice the type of timer on both probe
and via sysfs file on the runtime.
--
Best Regards
ivers/interconnect/Kconfig | 1 +
> drivers/interconnect/Makefile | 1 +
> drivers/interconnect/exynos/Kconfig| 6 +
> drivers/interconnect/exynos/Makefile | 4 +
> drivers/interconnect/exynos/exynos.c | 198
> +
> 9 files changed, 438 insertions(+), 10 deletions(-)
> create mode 100644 drivers/interconnect/exynos/Kconfig
> create mode 100644 drivers/interconnect/exynos/Makefile
> create mode 100644 drivers/interconnect/exynos/exynos.c
>
> --
> 2.7.4
>
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi Georgi,
On 11/3/20 5:29 PM, Georgi Djakov wrote:
> Hi Chanwoo and Sylwester,
>
> On 11/3/20 09:54, Chanwoo Choi wrote:
>> Hi Sylwester,
>>
>> When I tested this patchset on Odroid-U3,
>> After setting 0 bps by interconnect[1][2],
>> the frequency of
er a PM QoS request for the parent (devfreq) device.
> + */
> + ret = dev_pm_qos_add_request(bus_dev, &priv->qos_req,
> + DEV_PM_QOS_MIN_FREQUENCY, 0);
> + if (ret < 0)
> + goto err_node_del;
> +
> + icc_nod
p_table: opp_table3 {
> + compatible = "operating-points-v2";
> + /* ... */
> + };
> +
> + bus_display_opp_table: opp_table4 {
> + compatible = "operating-points-v2";
> + /* .. */
> + };
> +
> + &mixer {
> + compatible = "samsung,exynos4212-mixer";
> + interconnects = <&bus_display &bus_dmc>;
> + /* ... */
> + };
> + };
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi Sylwester,
On 11/3/20 7:12 PM, Sylwester Nawrocki wrote:
> Hi Chanwoo, Georgi
>
> On 03.11.2020 09:53, Chanwoo Choi wrote:
>> On 11/3/20 5:29 PM, Georgi Djakov wrote:
>>> On 11/3/20 09:54, Chanwoo Choi wrote:
>
>>>> When I tested this patchset on
icc",
> + PLATFORM_DEVID_AUTO, NULL, 0);
> +
> + if (IS_ERR(bus->icc_pdev)) {
> + ret = PTR_ERR(bus->icc_pdev);
> + goto err;
> + }
> +
Hi Sylwester,
On Tue, Nov 3, 2020 at 9:32 PM Sylwester Nawrocki
wrote:
>
> Hi Chanwoo,
>
> On 03.11.2020 11:45, Chanwoo Choi wrote:
> > On 10/30/20 9:51 PM, Sylwester Nawrocki wrote:
> >> This patch adds registration of a child platform device for the exynos
>
Hi Sylwester,
On Tue, Nov 3, 2020 at 8:32 PM Sylwester Nawrocki
wrote:
>
> On 03.11.2020 10:37, Chanwoo Choi wrote:
> > On 10/30/20 9:51 PM, Sylwester Nawrocki wrote:
> >> This patch adds a generic interconnect driver for Exynos SoCs in order
> >> to provide inter
> + /* ... */
> + }
> +
> + bus_leftbus_opp_table: opp_table3 {
> + compatible = "operating-points-v2";
> + /* ... */
> + };
> +
> + bus_display_opp_table: opp_table4 {
> +
REQUENCY, 0);
> + if (ret < 0)
> + goto err_node_del;
> +
> + icc_node->data = priv;
> + icc_node_add(icc_node, provider);
> +
> + icc_parent_node = exynos_icc_get_parent(bus_dev->of_node);
> + if (IS_ERR(icc_parent_node)) {
> +
2 = <&bus_display_opp_table>;
> + interconnects = <&bus_leftbus &bus_dmc>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> --
> 2.7.4
>
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Reviewed-by: Chanwoo Choi
--
Best Regards,
Chanwoo Choi
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
; INVENSENSE ICM-426xx IMU DRIVER
> M: Jean-Baptiste Maneyrol
> L: linux-...@vger.kernel.org
> --
> 2.7.4
>
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https
+ mutex_init(&ctx->icc_lock);
> +
> ctx->pdev = pdev;
> ctx->dev = dev;
> ctx->mxr_ver = drv->version;
> + ctx->icc_path = path;
>
> if (drv->is_vp_enabled)
> __set_bit(MXR_
| 146 ++-
> drivers/interconnect/Kconfig | 1 +
> drivers/interconnect/Makefile | 1 +
> drivers/interconnect/samsung/Kconfig | 13 ++
> drivers/interconnect/samsung/Makefile | 4 +
> drivers
l_freq /= KHZ;
>
> devfreq = devfreq_add_device(&pdev->dev, &tegra_devfreq_profile,
>"tegra_actmon", NULL);
> @@ -902,6 +906,12 @@ static int tegra_devfreq_probe(struct platform_device
> *pdev)
> reset_control
req_soc_data tegra124_soc = {
> + .configs = tegra124_device_configs,
> +
> + /*
> + * Activity counter is incremented every 256 memory transactions,
> + * and each transaction takes 4 EMC clocks.
> + */
> + .count_weight = 4 * 256,
> +};
> +
> +st
: drivers/devfreq/tegra20-devfreq.c
11350 F: drivers/devfreq/tegra30-devfreq.c
Except of missing the updating of MAINTAINERS,
Acked-by: Chanwoo Choi
Thanks,
Chanwoo Choi
On 11/5/20 1:49 AM, Dmitry Osipenko wrote:
> Remove tegra20-devfreq in order
to use 'devfreq_add_device'
due to some reason, you need to call 'devfreq_remove_device' on exit.
> + if (IS_ERR(emc->devfreq)) {
> + err = PTR_ERR(emc->devfreq);
> + dev_err(emc->dev, "failed to initialize devfreq: %d", e
MAND,
> + &emc->ondemand_data);
> + if (IS_ERR(devfreq)) {
> + dev_err(emc->dev, "failed to initialize devfreq: %pe", devfreq);
> + return PTR_ERR(devfreq);
>
there is no build dependency between
> patches.
> Should i take just patches 2,3 or also patch 1? Chanwoo?
Hi Georgi,
If you take the patch 2,3, I'll apply patch 1,4 to devfreq.git.
Hi Sylwester,
First of all, thanks for your work to finish it for a long time.
I
onnect/samsung/Kconfig | 13 ++
> drivers/interconnect/samsung/Makefile | 4 +
> drivers/interconnect/samsung/exynos.c | 199
> +
> 9 files changed, 450 insertions(+), 10 deletions(-)
> create mode 100644 drivers/in
clock
> rate directly.
>
> Tested-by: Peter Geis
> Tested-by: Nicolas Chauvet
> Acked-by: Chanwoo Choi
> Signed-off-by: Dmitry Osipenko
> ---
> drivers/devfreq/tegra30-devfreq.c | 79 +++
> 1 file changed, 37 insertions(+), 42 deletions(-)
>
ed. This resolves complications imposed by
> the removed driver since it was depending on both EMC and MC drivers
> simultaneously.
>
> Acked-by: Chanwoo Choi
> Signed-off-by: Dmitry Osipenko
> ---
> MAINTAINERS | 1 -
> drivers/devfreq/Kconfig
eset(tegra->reset);
> @@ -917,10 +917,6 @@ static int tegra_devfreq_probe(struct platform_device
> *pdev)
> reset_control_reset(tegra->reset);
> disable_clk:
> clk_disable_unprepare(tegra->clock);
> -remove_table:
> - dev_pm_opp_of_remove_table(&pdev->
vice_id rk3399dmc_devfreq_of_match[] = {
> { .compatible = "rockchip,rk3399-dmc" },
> { },
> @@ -502,7 +487,6 @@ MODULE_DEVICE_TABLE(of, rk3399dmc_devfreq_of_match);
>
> static struct platform_driver rk3399_dmcfreq_driver = {
> .probe =
q instance,
the 'ret' value is not the return value of devm_devfreq_add_device().
On this patch, 'ret' value of 'return ret' is from imx8m_ddrc_check_opps().
Surely, it is well working with this modification. But, it is not code
for exception handling.
So, we need to remain the following codes:
return 0;
err:
return ret;
> }
>
> --
> 2.25.1
>
--
Best Regards,
Chanwoo Choi
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
if (ret)
> - goto err;
> -
> - return 0;
> + return imx_bus_init_icc(dev);
Remove the unneeded blank line under '.return imx_bus_init_icc(dev);".
> -err:
> - dev_pm_opp_of_remove_table(dev);
> - return ret;
> }
>
&g
arse_of(np, bus);
> if (ret < 0)
> - goto err_reg;
> + return ret;
>
> if (passive)
> ret = exynos_bus_profile_init_passive(bus, profile);
> @@ -456,11 +436,7 @@ static int exynos_bus_probe(struct platform_device *pdev)
> return 0;
>
> err:
> - dev_pm_opp_of_remove_table(dev);
> clk_disable_unprepare(bus->clk);
> -err_reg:
> - dev_pm_opp_put_regulators(bus->opp_table);
> - bus->opp_table = NULL;
>
> return ret;
> }
> --
> 2.25.1
>
--
Best Regards,
Chanwoo Choi
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
t device *dev,
> -struct devfreq *devfreq)
> -{
> - WARN_ON(devres_release(dev, devm_devfreq_opp_release,
> - devm_devfreq_dev_match, devfreq));
> -}
> -EXPORT_SYMBOL(devm_devfreq_unregister_opp_notifier);
Need to support devm_devfreq_unregister_opp_notifier()
because sometimes, the user wants to release the resource by himself.
(snip)
Best Regards,
Chanwoo Choi
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi Yangtao,
On Tue, Jan 5, 2021 at 1:13 PM Chanwoo Choi wrote:
>
> On Sun, Jan 3, 2021 at 12:58 PM Yangtao Li wrote:
> >
> > Use devm_pm_opp_* API to simplify code.
> >
> > Signed-off-by: Yangtao Li
> > ---
> > drivers/devfreq/imx8m-ddrc.c |
phen Boyd
> Cc: Thierry Reding
> Cc: MyungJoo Ham
> Cc: Chanwoo Choi
> Cc: Linus Walleij
> Cc: Bartosz Golaszewski
> Cc: Jonathan Cameron
> Cc: Dmitry Torokhov
> Cc: Thomas Gleixner
> Cc: Marc Zyngier
> Cc: Mauro Carvalho Chehab
> Cc: Chen-Yu Tsai
> Cc: Ul
hes.
Also, I want to test the build test. but, When I apply these patches,
merge conflict happen. Could you give the information about base git repository?
Regards,
Chanwoo Choi
> drivers/clk/rockchip/Makefile | 1 +
> drivers/clk/rockchip/clk-ddr.c | 146 +
Hi Lin,
Because you remove the 'RFC' prefix on patch title,
I think that you better to make the documentation as following:
- Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt
Regards,
Chanwoo Choi
On 2016ë
07ì 29ì¼ 16:56, Lin Huang wrote:
> on rk3399 platform,
Hi Lin,
I add the one minor comment for full name of 'DRI'.
On 2016ë
08ì 01ì¼ 16:41, Chanwoo Choi wrote:
> Hi Lin,
>
> Because you remove the 'RFC' prefix on patch title,
> I think that you better to make the documentation as following:
> - Documentatio
+
> + data->edev = devfreq_event_get_edev_by_phandle(dev, 0);
> + if (IS_ERR(data->edev))
> + return -EPROBE_DEFER;
> +
> + ret = devfreq_event_enable_edev(data->edev);
> + if (ret < 0) {
> + dev_err(dev, "failed to enable devfreq-event devices\n");
s/failed/Failed. Use a capital letter for the first char.
> + return ret;
> + }
> +
> + /*
> + * We add a devfreq driver to our parent since it has a device tree node
> + * with operating points.
> + */
You should wrap the rcu lock before calling the dev_pm_opp_of_add_table().
> + if (dev_pm_opp_of_add_table(dev)) {
> + dev_err(dev, "Invalid operating-points in device tree.\n");
> + return -EINVAL;
> + }
> + of_property_read_u32(np, "upthreshold",
> + &data->ondemand_data.upthreshold);
> + of_property_read_u32(np, "downdifferential",
> + &data->ondemand_data.downdifferential);
Need one blank line.
Maybe this code to get the properfy for ondemand governor,
the devfreq will support in the future.
> + data->rate = clk_get_rate(data->dmc_clk);
> + rk3399_devfreq_dmc_profile.initial_freq = data->rate;
Need one blank line.
> + data->devfreq = devfreq_add_device(dev,
> +&rk3399_devfreq_dmc_profile,
> +"simple_ondemand",
> +&data->ondemand_data);
> + if (IS_ERR(data->devfreq))
> + return PTR_ERR(data->devfreq);
> + devfreq_register_opp_notifier(dev, data->devfreq);
Use the devm_devfreq_register_opp_notifier().
> +
> + data->dev = dev;
> + platform_set_drvdata(pdev, data);
> +
> + return 0;
> +}
> +
> +static int rk3399_dmcfreq_remove(struct platform_device *pdev)
> +{
> + struct rk3399_dmcfreq *dmcfreq = platform_get_drvdata(pdev);
> +
> + devfreq_remove_device(dmcfreq->devfreq);
> + regulator_put(dmcfreq->vdd_center);
> +
> + return 0;
> +}
> +
> +static const struct of_device_id rk3399dmc_devfreq_of_match[] = {
> + { .compatible = "rockchip,rk3399-dmc" },
> + { },
> +};
> +
> +static struct platform_driver rk3399_dmcfreq_driver = {
> + .probe = rk3399_dmcfreq_probe,
> + .remove = rk3399_dmcfreq_remove,
> + .driver = {
> + .name = "rk3399-dmc-freq",
> + .pm = &rk3399_dmcfreq_pm,
> + .of_match_table = rk3399dmc_devfreq_of_match,
> + },
> +};
> +module_platform_driver(rk3399_dmcfreq_driver);
> +
> +MODULE_LICENSE("GPL v2");
> +MODULE_DESCRIPTION("RK3399 dmcfreq driver with devfreq framework");
You need to add the MODULE_AUTHOR information.
Regards,
Chanwoo Choi
Hi Lin,
On 2016ë
08ì 01ì¼ 17:27, hl wrote:
> Hi Chanwoo Choi,
>
> On 2016å¹´08æ01æ¥ 16:08, Chanwoo Choi wrote:
>> Hi Lin,
>>
>> I add the one minor comment for full name of 'DRI'.
>>
>> On 2016ë
08ì 01ì¼ 16:41, Chanwoo Choi wrote
Hi Lin,
On 2016ë
08ì 01ì¼ 16:46, hl wrote:
> Hi Chanwoo Choi,
>
> Ah, i am base on
> https://chromium.googlesource.com/chromiumos/third_party/kernel/v4.4,
> and forget to rebase on
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git, i will
> f
Hi Lin,
On the next version, I'd like you to add the 'linux-pm at vger.kernel.org'
because devfreq is a subsystem of power management.
On 2016ë
08ì 02ì¼ 10:03, hl wrote:
> Hi Chanwoo Choi,
>
> Thanks for reviewing so carefully. And i have some question:
>
&
Hi Lin,
On 2016ë
08ì 03ì¼ 16:38, hl wrote:
>
> Hi Chanwoo Choi,
> On 2016å¹´08æ02æ¥ 12:21, Chanwoo Choi wrote:
>> Hi Lin,
>>
>> On the next version, I'd like you to add the 'linux-pm at vger.kernel.org'
>> because devfreq is a subsys
extcon APIs to support the notification
> - extcon: Add EXTCON_DISP_DP and the property for USB Type-C
The extcon patches are merged on extcon-next branch.
So, you can check them on both extcon git and linux-next git repo.
[snip]
Regards,
Chanwoo Choi
eg = <0x00 0xff63 0x00 0x4000>;
> + compatible = "rockchip,rk3399-dfi";
Usually, the compatible is first entry within Device-tree node.
> + rockchip,pmu = <&pmugrf>;
> + clocks = <&cru PCLK_DDR_MON>;
> +
ng-points-v2 = <&dmc_opp_table>;
I think that you better to add the example of 'dmc_opp_table'
in the documentation.
> + center-supply = <&ppvar_centerlogic>;
> + upthreshold = <15>;
> + downdifferential = <10>;
> + status = "disabled";
> + };
> +
>
Regards,
Chanwoo Choi
Hi Lin,
I add the some comment on below.
If you modify them, feel free to add the my reviewed tag on next version:
Reviewed-by: Chanwoo Choi
On 2016ë
08ì 10ì¼ 12:26, Lin Huang wrote:
> base on dfi result, we do ddr frequency scaling, register
> dmc driver to devfreq framework, a
Hi Lin,
Looks good to me about the devfreq/devfreq-event usage.
[Usage of the devfreq/devfreq-event APIs]
Reviewed-by: Chanwoo Choi
Regards,
Chanwoo Choi
On 2016ë
08ì 10ì¼ 12:26, Lin Huang wrote:
> when in ddr frequency scaling process, vop can not do
> enable or disable operation,
Hi Lin,
I add the additional comment.
On 2016ë
08ì 17ì¼ 09:31, Chanwoo Choi wrote:
> Hi Lin,
>
> I add one minor comment.
>
> After fixing it, looks good to me.
> Acked-by: Chanwoo Choi
>
> On 2016ë
08ì 17ì¼ 07:36, Lin Huang wrote:
>> This patch adds
Hi Lin,
I add one minor comment.
After fixing it, looks good to me.
Acked-by: Chanwoo Choi
On 2016ë
08ì 17ì¼ 07:36, Lin Huang wrote:
> This patch adds the documentation for rockchip dfi devfreq-event driver.
>
> Signed-off-by: Lin Huang
> ---
> Changes in v6:
> -None
Hi Lin,
I add just one comment to remove the blank line.
On 2016ë
08ì 17ì¼ 07:36, Lin Huang wrote:
> base on dfi result, we do ddr frequency scaling, register
> dmc driver to devfreq framework, and use simple-ondemand
> policy.
>
> Signed-off-by: Lin Huang
> Reviewe
dle = <0>;
rockchip,srpd_lite_idle = <0>;
rockchip,standby_idle = <0>;
rockchip,dram_dll_dis_freq = <300>;
rockchip,phy_dll_dis_freq = <125>;
rockchip,ddr3_odt_dis_freq = <333>;
rockchip,ddr3_drv = ;
rockchip,ddr3_odt = ;
rockchip,phy_ddr3_ca_drv = ;
rockchip,phy_ddr3_dq_drv = ;
rockchip,phy_ddr3_odt = ;
rockchip,lpddr3_odt_dis_freq = <333>;
rockchip,lpddr3_drv = ;
rockchip,lpddr3_odt = ;
rockchip,phy_lpddr3_ca_drv = ;
rockchip,phy_lpddr3_dq_drv = ;
rockchip,phy_lpddr3_odt = ;
rockchip,lpddr4_odt_dis_freq = <333>;
rockchip,lpddr4_drv = ;
rockchip,lpddr4_dq_odt = ;
rockchip,lpddr4_ca_odt = ;
rockchip,phy_lpddr4_ca_drv = ;
rockchip,phy_lpddr4_ck_cs_drv = ;
rockchip,phy_lpddr4_dq_drv = ;
rockchip,phy_lpddr4_odt = ;
Regards,
Chanwoo Choi
Hi Lin,
On 2016ë
08ì 22ì¼ 07:16, hl wrote:
> Hi Chanwoo Choi,
>
> On 2016å¹´08æ17æ¥ 12:50, Chanwoo Choi wrote:
>> Hi Lin,
>>
>> On 2016ë
08ì 17ì¼ 07:36, Lin Huang wrote:
>>> This patch adds the documentation for rockchip rk3399 dmc driv
Hi Lin,
I reply the on v6 patch[1].
If you have another opinion, please let me know.
If my suggestion is not reasonable, we need to discuss it.
[1] https://lkml.org/lkml/2016/8/23/28
Best Regards,
Chanwoo Choi
On 2016ë
08ì 22ì¼ 12:36, Lin Huang wrote:
> This patch adds the documentat
clock-names = "pclk_ddr_mon";
> + status = "disabled";
> + };
> +
>
I reviewed this patch on previous version[1] already.
[1] https://lkml.org/lkml/2016/8/16/913
There are minor requirement. If you modify it,
I'll finish the review of this patch.
--
Best Regards,
Chanwoo Choi
profile, DEVFREQ_GOV_SIMPLE_ONDEMAND,
> + NULL);
> if (IS_ERR(pfdev->devfreq.devfreq)) {
> DRM_DEV_ERROR(&pfdev->pdev->dev, "Couldn't initialize GPU
> devfreq\n");
> ret = PTR_ERR(pfdev->devfreq.dev
ev, "failed to register opp notifier\n");
> - goto err;
> - }
> -
> - /*
> -* Enable devfreq-event to get raw data which is used to determine
> -* current bus load.
> -*/
> - ret = exynos_bus_enable_edev(bus);
> - if (ret < 0) {
> - dev_err(dev, "failed to enable devfreq-event devices\n");
> - goto err;
> - }
> -
> - ret = exynos_bus_set_event(bus);
> - if (ret < 0) {
> - dev_err(dev, "failed to set event to devfreq-event
> devices\n");
> - goto err;
> - }
>
> goto out;
> passive:
> --
> 2.17.1
>
NACK.
It has not any benefit and I don't understand reason why it is necessary.
I don't agree. Please drop it.
--
Best Regards,
Chanwoo Choi
devm_devfreq_add_device(dev, profile,
> DEVFREQ_GOV_PASSIVE,
> - passive_data);
> - if (IS_ERR(bus->devfreq)) {
> - dev_err(dev,
> - "failed to add devfreq dev with passive governor\n");
> - ret = PTR_ERR(bus->devfreq);
> - goto err;
> - }
>
> out:
> max_state = bus->devfreq->profile->max_state;
> --
> 2.17.1
>
Actually, it is not necessary. It has no any benefit.
Please drop it as I commented on patch1.
--
Best Regards,
Chanwoo Choi
ble_edev(bus);
> - if (ret < 0) {
> + if (ret < 0)
> dev_err(dev, "failed to enable the devfreq-event devices\n");
> - return ret;
> - }
>
> - return 0;
> + return ret;
> }
>
> static int exynos_bus_suspend(struct device *dev)
> @@ -561,12 +558,10 @@ static int exynos_bus_suspend(struct device *dev)
> int ret;
>
NACK.
> ret = exynos_bus_disable_edev(bus);
> - if (ret < 0) {
> + if (ret < 0)
> dev_err(dev, "failed to disable the devfreq-event devices\n");
> - return ret;
> - }
>
> - return 0;
> + return ret;
> }
> #endif
>
> --
> 2.17.1
>
NACK.
As I already commented, It has never any benefit.
I think that it is not usful. Please drop it.
--
Best Regards,
Chanwoo Choi
_passive(bus, profile);
> - if (ret < 0)
> - goto err;
> -
> -out:
> max_state = bus->devfreq->profile->max_state;
> min_freq = (bus->devfreq->profile->freq_table[0] / 1000);
> max_freq = (bus->devfreq->profile->freq_table[max_state - 1] / 1000);
> --
> 2.17.1
>
It seems more simple than before.
Instead, please merge patch1/2/3 to one patch. and drop the patch4.
--
Best Regards,
Chanwoo Choi
ames = "bus";
> operating-points-v2 = <&bus_fsys_opp_table>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> @@ -491,6 +498,7 @@
> clocks = <&clock CLK_ACLK100>;
> clock-names = "bus";
> operating-points-v2 = <&bus_peri_opp_table>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> @@ -499,6 +507,7 @@
> clocks = <&clock CLK_SCLK_MFC>;
> clock-names = "bus";
> operating-points-v2 = <&bus_leftbus_opp_table>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> --
> 2.17.1
>
--
Best Regards,
Chanwoo Choi
2019년 7월 25일 (목) 오후 9:56, Chanwoo Choi 님이 작성:
>
> 2019년 7월 24일 (수) 오전 8:08, Artur Świgoń 님이 작성:
> >
> > This patch improves code readability by changing the following construct:
> >
> > >if (cond)
> > >goto passive;
> > >f
On 19. 7. 26. 오후 7:42, Krzysztof Kozlowski wrote:
> On Thu, 25 Jul 2019 at 14:44, Chanwoo Choi wrote:
>>
>> 2019년 7월 24일 (수) 오전 8:09, Artur Świgoń 님이 작성:
>>>
>>> This patch adds a new static function, exynos_bus_profile_init(), extracted
>>> from exynos
On 19. 7. 26. 오후 7:45, Krzysztof Kozlowski wrote:
> On Thu, 25 Jul 2019 at 14:51, Chanwoo Choi wrote:
>>
>> 2019년 7월 24일 (수) 오전 8:07, Artur Świgoń 님이 작성:
>>>
>>> This patch adds minor improvements to the exynos-bus driver.
>>>
>>> Signed-off-by
Hi,
On 19. 7. 26. 오후 9:02, Marek Szyprowski wrote:
> Hi
>
> On 2019-07-25 15:13, Chanwoo Choi wrote:
>> 2019년 7월 24일 (수) 오전 8:07, Artur Świgoń 님이 작성:
>>> This patch adds two fields tp the Exynos4412 DTS:
>>>- parent: to declare connections between nodes
of_node->name;
> + node->data = bus;
> + icc_node_add(node, provider);
> +
> + ret = exynos_bus_icc_connect(bus);
> + if (ret < 0)
> + goto err_connect;
> +
> +out:
> + return ret;
> +
> +err_connect:
> + icc_node_del(node);
> + icc_node_destroy(id);
> +err_node:
> + icc_provider_del(provider);
> +
> + return ret;
> +}
> +
> static int exynos_bus_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> @@ -517,6 +654,14 @@ static int exynos_bus_probe(struct platform_device *pdev)
> goto err;
> }
>
> + /*
> + * Initialize interconnect provider. A return value of -ENOTSUPP means
> + * that CONFIG_INTERCONNECT is disabled.
> + */
> + ret = exynos_bus_icc_init(bus);
> + if (ret < 0 && ret != -ENOTSUPP)
> + goto err;
> +
> max_state = bus->devfreq->profile->max_state;
> min_freq = (bus->devfreq->profile->freq_table[0] / 1000);
> max_freq = (bus->devfreq->profile->freq_table[max_state - 1] / 1000);
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
b/drivers/gpio/gpio-adp5588.c
> index e388e75103f4..acb673dc9005 100644
> --- a/drivers/gpio/gpio-adp5588.c
> +++ b/drivers/gpio/gpio-adp5588.c
> @@ -411,14 +411,12 @@ static int adp5588_gpio_probe(struct i2c_client *client)
> return 0;
> }
Reviewed-by: Chanwoo Choi
--
Best Regards,
Samsung Electronics
Chanwoo Choi
opp_table *opp_table;
> - const char *vdd = "vdd";
> + const char *supplies[] = { "vdd", NULL };
> int i, ret, count, size;
>
> - opp_table = dev_pm_opp_set_regulators(dev, &vdd, 1);
> + opp_table = dev_pm_opp_set_regulators(dev, supplies);
> if (IS_ERR(opp_table)) {
> ret = PTR_ERR(opp_table);
> dev_err(dev, "failed to set regulators %d\n", ret);
Reviewed-by: Chanwoo Choi
(snip)
--
Best Regards,
Samsung Electronics
Chanwoo Choi
rn -ENOTSUPP;
> }
>
> +struct icc_node *of_icc_get_from_provider(struct of_phandle_args *spec)
> +{
> + return ERR_PTR(-ENOTSUPP);
> +}
> +
> #endif /* CONFIG_INTERCONNECT */
>
> #endif /* __LINUX_INTERCONNECT_PROVIDER_H */
>
Reviewed-by: Chanwoo Choi
--
Check the return value.
> +
> +out:
Remove this goto due to not necessary.
> + return ret;
return 0;
> +
> +err_connect:
> + icc_node_del(node);
> + icc_node_destroy(id);
> +err_node:
> + icc_provider_
; + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> @@ -491,6 +498,7 @@
> clocks = <&clock CLK_ACLK100>;
> clock-names = "bus";
> operating-points-v2 = <&bus_peri_opp_table>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> @@ -499,6 +507,7 @@
> clocks = <&clock CLK_SCLK_MFC>;
> clock-names = "bus";
> operating-points-v2 = <&bus_leftbus_opp_table>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
; + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> @@ -491,6 +498,7 @@
> clocks = <&clock CLK_ACLK100>;
> clock-names = "bus";
> operating-points-v2 = <&bus_peri_opp_table>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> @@ -499,6 +507,7 @@
> clocks = <&clock CLK_SCLK_MFC>;
> clock-names = "bus";
> operating-points-v2 = <&bus_leftbus_opp_table>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi,
Please ignore second reply. It is my mistake
to send the duplicate message because of my company firewall issue.
Regards,
Chanwoo Choi
On 12/16/19 9:55 AM, Chanwoo Choi wrote:
> Hi,
>
> On 9/19/19 11:22 PM, Artur Świgoń wrote:
>> From: Artur Świgoń
>>
>> This p
Hi,
On 12/16/19 9:51 AM, Chanwoo Choi wrote:
> On 9/19/19 11:22 PM, Artur Świgoń wrote:
>> From: Artur Świgoń
>>
>> This patch adds two fields to the Exynos4412 DTS:
>> - parent: to declare connections between nodes that are not in a
>>
Hi
2019년 12월 18일 (수) 오후 7:18, Artur Świgoń 님이 작성:
>
> Hi,
>
> On Mon, 2019-12-16 at 11:59 +0900, Chanwoo Choi wrote:
> > Hi,
> >
> > On 12/16/19 9:51 AM, Chanwoo Choi wrote:
> > > On 9/19/19 11:22 PM, Artur Świgoń wrote:
> > > > From: Artur Św
Hi,
2019년 12월 18일 (수) 오후 7:19, Artur Świgoń 님이 작성:
>
> Hi,
>
> Thank you for the review.
>
> On Mon, 2019-12-16 at 09:44 +0900, Chanwoo Choi wrote:
> > Hi,
> >
> > On 9/19/19 11:22 PM, Artur Świgoń wrote:
> > > From: Artur Świgoń
> > >
&
Hi,
If possible, I'd like to apply these patches to v5.6-rc1.
It is very useful feature to support the QoS for user device using memory bus.
2019년 12월 18일 (수) 오후 7:48, Artur Świgoń 님이 작성:
>
> On Wed, 2019-12-18 at 19:39 +0900, Chanwoo Choi wrote:
> > Hi,
> >
> > 201
t; of_phandle_args *spec)
> struct icc_node *node = ERR_PTR(-EPROBE_DEFER);
> struct icc_provider *provider;
>
> - if (!spec || spec->args_count != 1)
> + if (!spec)
> return ERR_PTR(-EINVAL);
>
> mutex_lock(&icc_lock);
&g
if (parent_node)
> + icc_link_destroy(node, parent_node);
> +err_parent:
> + icc_node_del(node);
> + icc_node_destroy(id);
> +err_node:
> + ida_free(&ida, id);
> +err_id:
> + icc_provider_del(provider);
> +
> + return ret;
> +}
> +
> s
On Sun, Dec 22, 2019 at 4:53 AM Chanwoo Choi wrote:
>
> Hi,
>
> On Fri, Dec 20, 2019 at 9:02 PM Artur Świgoń wrote:
> >
> > This patch adds interconnect functionality to the exynos-bus devfreq
> > driver.
> >
> > The SoC topology is a graph (or, more s
s4412-odroid-common.dtsi| 5 +
> arch/arm/boot/dts/exynos4412.dtsi | 1 +
> drivers/devfreq/exynos-bus.c | 144 ++
> drivers/gpu/drm/exynos/exynos_mixer.c | 71 -
> drivers/interconnect/core.c | 16 +-
> include/linux/interconnect-provider.h | 8 +
> 6 files changed, 232 insertions(+), 13 deletions(-)
>
> --
> 2.17.1
>
--
Best Regards,
Chanwoo Choi
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
s = "okay";
> };
>
> @@ -116,6 +119,8 @@
>
> &bus_display {
> exynos,parent-bus = <&bus_leftbus>;
> + exynos,interconnect-parent-node = <&bus_leftbus>;
> + #interconnect-cells = <0>;
> sta
t;, "sclk_hdmi", "vp";
> clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
> <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>;
> + interconnects = <&bus_display &bus_dmc>;
> };
>
> &pmu {
>
+ goto err;
> +
> + pm_runtime_enable(dev);
> +
> + return 0;
> +
> +err:
> + icc_put(path);
>
> return ret;
> }
>
> static int mixer_remove(struct platform_device *pdev)
> {
> -
configured with @set
> * @data: pointer to private data
> */
> struct icc_provider {
> @@ -53,6 +54,7 @@ struct icc_provider {
> struct icc_node* (*xlate)(struct of_phandle_args *spec, void *data);
> struct device *dev;
> int users;
> + boolinter_set;
> void*data;
> };
>
> --
> 2.17.1
>
--
Best Regards,
Chanwoo Choi
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
ek Szyprowski (1):
> drm: exynos: mixer: Add interconnect support
>
> .../boot/dts/exynos4412-odroid-common.dtsi| 1 +
> arch/arm/boot/dts/exynos4412.dtsi | 10 +
> drivers/devfreq/exynos-bus.c | 319 +-
> drivers/gpu/drm/exynos/exynos_mixer.c | 71 +++-
> drivers/interconnect/core.c | 12 +-
> include/linux/interconnect-provider.h | 6 +
> 6 files changed, 327 insertions(+), 92 deletions(-)
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
Hi Artur,
I tried to just build this patch on mainline kernel or linux-next.
But, when I applied them, merge conflict happens. You didn't develop
them on latest version. Please rebase them based on latest mainline kernel.
On 19. 9. 20. 오전 10:07, Chanwoo Choi wrote:
> Hi Artur,
>
freq device\n");
> - ret = PTR_ERR(bus->devfreq);
> - goto err;
> - }
> -
> - /*
> - * Enable devfreq-event to get raw data which is used to determine
> - * current bus load.
> - */
> - ret = exynos_bus_enable_edev(bus);
> - if (ret < 0) {
> - dev_err(dev, "failed to enable devfreq-event devices\n");
> - goto err;
> - }
> -
> - ret = exynos_bus_set_event(bus);
> - if (ret < 0) {
> - dev_err(dev, "failed to set event to devfreq-event devices\n");
> - goto err;
> - }
>
> goto out;
> passive:
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
he devfreq-event devices\n");
> - return ret;
Keep the 'return ret' if error happen as I commented[1] on v1.
[1] https://lkml.org/lkml/2019/7/26/331
> - }
>
> - return 0;
> + return ret;
And you just keep 'return 0' or you can change it as 'return ret'.
> }
>
> static int exynos_bus_suspend(struct device *dev)
> @@ -475,12 +461,10 @@ static int exynos_bus_suspend(struct device *dev)
> int ret;
>
> ret = exynos_bus_disable_edev(bus);
> - if (ret < 0) {
> + if (ret < 0)
> dev_err(dev, "failed to disable the devfreq-event devices\n");
> - return ret;
Keep the 'return ret' if error happen as I commented[1] on v1.
[1] https://lkml.org/lkml/2019/7/26/331
> - }
>
> - return 0;
> + return ret;
And you just keep 'return 0' or you can change it as 'return ret'.
> }
> #endif
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
Hi,
On 19. 9. 25. 오후 2:47, Artur Świgoń wrote:
> Hi,
>
> On Fri, 2019-09-20 at 11:14 +0900, Chanwoo Choi wrote:
>> Hi Artur,
>>
>> I tried to just build this patch on mainline kernel or linux-next.
>> But, when I applied them, merge conflict happens. You didn
Hi,
On 19. 9. 25. 오후 2:44, Artur Świgoń wrote:
> Hi,
>
> On Fri, 2019-09-20 at 11:15 +0900, Chanwoo Choi wrote:
>> Hi,
>>
>> As I already replied on v1, patch1/2/3 clean-up code
>> for readability without any behavior changes.
>>
>> I think tha
Hi,
On 19. 9. 25. 오후 3:37, Artur Świgoń wrote:
> On Wed, 2019-09-25 at 15:12 +0900, Chanwoo Choi wrote:
>> Hi,
>>
>> On 19. 9. 25. 오후 2:47, Artur Świgoń wrote:
>>> Hi,
>>>
>>> On Fri, 2019-09-20 at 11:14 +0900, Chanwoo Choi wrote:
>>>
err_connect;
> +
> + ret = dev_pm_qos_add_request(bus->devfreq->dev.parent, &bus->qos_req,
> + DEV_PM_QOS_MIN_FREQUENCY, 0);
> +
> +out:
> + return ret;
> +
> +err_connect:
> + icc_node_del(node);
> + icc_node_destroy(id);
> +err_node:
> + icc_provider_del(provider);
> +
> + return ret;
> +}
> +
> static int exynos_bus_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> @@ -415,6 +560,14 @@ static int exynos_bus_probe(struct platform_device *pdev)
> if (ret < 0)
> goto err;
>
> + /*
> + * Initialize interconnect provider. A return value of -ENOTSUPP means
> + * that CONFIG_INTERCONNECT is disabled.
> + */
> + ret = exynos_bus_icc_init(bus);
> + if (ret < 0 && ret != -ENOTSUPP)
> + goto err;
> +
> max_state = bus->devfreq->profile->max_state;
> min_freq = (bus->devfreq->profile->freq_table[0] / 1000);
> max_freq = (bus->devfreq->profile->freq_table[max_state - 1] / 1000);
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
Hi Artur,
On 12/3/19 2:05 AM, Artur Świgoń wrote:
> Hi Chanwoo,
>
> On Wed, 2019-09-25 at 16:03 +0900, Chanwoo Choi wrote:
>> Hi,
>>
>> I need the time to dig the ICC framework
>> to understand them detailed. After that, I'll review this.
>
> Any up
wigoń wrote:
> Hi,
>
> Thank you for your remarks. I will take them into account while preparing
> RFCv2.
>
> On Mon, 2019-07-29 at 10:52 +0900, Chanwoo Choi wrote:
>> Hi,
>>
>> On 19. 7. 23. 오후 9:20, Artur Świgoń wrote:
>>> This patch adds interconnect
Hi Artur,
On 19. 8. 13. 오후 3:17, Chanwoo Choi wrote:
> Hi Artur.
>
> The patch1-4 in this series depend on other patches[1] on mainline.
> On next v2 version, please make some patches based on patches[1]
> in order to prevent the merge conflict.
>
> [1] [RESEND PATC
droid-common.dtsi| 1 +
> arch/arm/boot/dts/exynos4412.dtsi | 10 +
> drivers/devfreq/exynos-bus.c | 296 ++
> drivers/gpu/drm/exynos/exynos_mixer.c | 68 +++-
> drivers/interconnect/core.c | 12 +-
> include
Hi Artur and Leonard,
On 19. 8. 9. 오전 12:00, Leonard Crestez wrote:
> On 29.07.2019 04:49, Chanwoo Choi wrote:
>> On 19. 7. 23. 오후 9:20, Artur Świgoń wrote:
>>> This patch adds interconnect functionality to the exynos-bus devfreq
>>> driver.
>>>
>>&
1 - 100 of 180 matches
Mail list logo