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
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
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
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
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 |
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
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
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
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
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 =
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->
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
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
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
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
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
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(-)
>
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
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
MAND,
> + &emc->ondemand_data);
> + if (IS_ERR(devfreq)) {
> + dev_err(emc->dev, "failed to initialize devfreq: %pe", devfreq);
> + return PTR_ERR(devfreq);
>
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
: 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
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
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
| 146 ++-
> drivers/interconnect/Kconfig | 1 +
> drivers/interconnect/Makefile | 1 +
> drivers/interconnect/samsung/Kconfig | 13 ++
> drivers/interconnect/samsung/Makefile | 4 +
> drivers
+ 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_
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
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)) {
> +
> + /* ... */
> + }
> +
> + bus_leftbus_opp_table: opp_table3 {
> + compatible = "operating-points-v2";
> + /* ... */
> + };
> +
> + bus_display_opp_table: opp_table4 {
> +
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
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
>
icc",
> + PLATFORM_DEVID_AUTO, NULL, 0);
> +
> + if (IS_ERR(bus->icc_pdev)) {
> + ret = PTR_ERR(bus->icc_pdev);
> + goto err;
> + }
> +
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
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
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
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
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
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
ret = PTR_ERR(bus->icc_pdev);
> + goto err;
> + }
> + }
> +
> max_state = bus->devfreq->profile->max_state;
> min_freq = (bus->devfreq->profile->freq_table[0] / 1000);
> max_freq =
On Mon, Nov 2, 2020 at 12:49 AM Dmitry Osipenko wrote:
>
> 01.11.2020 18:44, Chanwoo Choi пишет:
> >> OPP core will try to grab the clock reference for the table and it may
> >> cause EPROBE_DEFER. Although, it shouldn't happen here because we have
> >> d
Hi Dmitry,
On Mon, Nov 2, 2020 at 12:24 AM Dmitry Osipenko wrote:
>
> 01.11.2020 17:44, Chanwoo Choi пишет:
> > Hi Dmitry,
> >
> > On Mon, Oct 26, 2020 at 7:22 AM Dmitry Osipenko wrote:
> >>
> >> This patch moves ACTMON driver away from generating OPP
Hi Dmitry,
On Mon, Nov 2, 2020 at 12:23 AM Dmitry Osipenko wrote:
>
> 01.11.2020 17:39, Chanwoo Choi пишет:
> > Hi Dmitry,
> >
> > On Mon, Oct 26, 2020 at 7:22 AM Dmitry Osipenko wrote:
> >>
> >> This patch moves ACTMON driver away from generating OPP
counter is incremented every 256 memory transactions,
> +* and each transaction takes 4 EMC clocks.
> +*/
> + .count_weight = 4 * 256,
> +};
> +
> +static const struct tegra_devfreq_soc_data tegra30_soc = {
> + .configs = tegra30_device_configs,
> + .c
> - unsigned long rate;
> - int err;
> + int ret;
>
> opp = devfreq_recommended_opp(dev, freq, flags);
> if (IS_ERR(opp)) {
> - dev_err(dev, "Failed to find opp for %lu Hz\n", *freq);
> +
tegra_actmon", NULL);
> @@ -901,6 +898,12 @@ 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->dev);
> +put_hw:
> + dev_pm_opp_put_supported_hw(tegra->opp_table);
> +put_table:
> + dev_pm_opp_put_opp_table(tegra->opp_table);
>
> return err;
> }
> @@ -912,11 +915,13 @@ static int tegra_devfreq_remove(struct platform_device
> *pdev)
> devfreq_remove_device(tegra->devfreq);
> devfreq_remove_governor(&tegra_devfreq_governor);
>
> - dev_pm_opp_remove_all_dynamic(&pdev->dev);
> -
> reset_control_reset(tegra->reset);
> clk_disable_unprepare(tegra->clock);
>
> + dev_pm_opp_of_remove_table(&pdev->dev);
> + dev_pm_opp_put_supported_hw(tegra->opp_table);
> + dev_pm_opp_put_opp_table(tegra->opp_table);
> +
> return 0;
> }
>
> --
> 2.27.0
>
--
Best Regards,
Chanwoo Choi
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
,
Chanwoo Choi
On Mon, Oct 26, 2020 at 7:21 AM Dmitry Osipenko wrote:
>
> External (EMC) and Internal Memory Controllers (IMC) have a nearly
> identical statistics gathering module. This patch switches driver to use
> EMC_STAT instead of IMC_STAT and adds device-tree support which brings I
d dependency could be relaxed since devfreq driver
> checks MC/EMC presence on probe, allowing kernel configuration where
> devfreq is a built-in driver and EMC driver is a loadable module.
> This change puts Tegra20 devfreq Kconfig entry on a par with the Tegra30
> devfreq entry.
>
Let's silence the deferred probe error.
>
> Acked-by: Chanwoo Choi
> Signed-off-by: Dmitry Osipenko
> ---
> drivers/devfreq/tegra30-devfreq.c | 7 +++
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/devfreq/tegra30-devfreq.c
&g
Let's silence the deferred probe error.
>
> Acked-by: Chanwoo Choi
> Signed-off-by: Dmitry Osipenko
> ---
> drivers/devfreq/tegra20-devfreq.c | 8 +++-
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/devfreq/tegra20-devfreq.c
&g
> Signed-off-by: Rob Herring
> ---
(snip)
> Documentation/devicetree/bindings/extcon/wlf,arizona.yaml| 2 ++
(snip)
For the extcon part,
Acked-by: Chanwoo Choi
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-deve
Hi Maxime,
On 9/1/20 6:45 PM, Maxime Ripard wrote:
> Hi Chanwoo,
>
> On Tue, Sep 01, 2020 at 01:36:17PM +0900, Chanwoo Choi wrote:
>> On 7/9/20 2:42 AM, Maxime Ripard wrote:
>>> The HSM clock needs to be setup at around 101% of the pixel rate. This
>>> was don
On 9/1/20 8:21 PM, Chanwoo Choi wrote:
> Hi Maxime,
>
> On 7/9/20 2:41 AM, Maxime Ripard wrote:
>> In order to prevent timeouts and stalls in the pipeline, the core clock
>> needs to be maxed at 500MHz during a modeset on the BCM2711.
>>
>> Reviewed-by: Eric
return PTR_ERR(hvs->core_clk);
}
+
+ ret = clk_prepare_enable(hvs->core_clk);
+ if (ret) {
+ dev_err(&pdev->dev, "Couldn't enable core clock\n");
+ return ret;
ef2 0x100>;
> +reg-names = "hdmi",
> +"dvp",
> +"phy",
> +"rm",
> + "packet",
> +"metadata",
> +
ant = {
> .encoder_type = VC4_ENCODER_TYPE_HDMI0,
> .debugfs_name = "hdmi_regs",
> + .max_pixel_clock= 16200,
> .cec_available = true,
> .registers = vc4_hdmi_fields,
> .num_registers = ARRAY_SIZE(vc4_hdmi_fields),
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h
> index 3f07aebe89f1..342f6e0227a2 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.h
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.h
> @@ -36,6 +36,9 @@ struct vc4_hdmi_variant {
> /* Set to true when the CEC support is available */
> bool cec_available;
>
> + /* Maximum pixel clock supported by the controller (in Hz) */
> + unsigned long long max_pixel_clock;
> +
> /* List of the registers available on that variant */
> const struct vc4_hdmi_register *registers;
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h
> index 0806c6d9f24e..63c6f8bddf1d 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.h
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.h
> @@ -147,6 +147,7 @@ struct vc4_hdmi {
> struct clk *pixel_clock;
> struct clk *hsm_clock;
> struct clk *audio_clock;
> + struct clk *pixel_bvb_clock;
>
> struct reset_control *reset;
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
|
> 222 +++---
> drivers/gpu/drm/vc4/vc4_regs.h |
> 177 +++-
> drivers/gpu/drm/vc4/vc4_txp.c |
> 4 +-
> 19 files changed, 3331 insertions(+), 1008 deletions(-)
> create mode 100644
> Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml
> create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi.h
> create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi_phy.c
> create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi_regs.h
>
> base-commit: 5bdd2824d705fb8d339d6f96e464b907c9a1553d
>
I tested it for stress test with reboot command repetitively
for verifying this patchset. It is well working.
Tested-by: Chanwoo Choi
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi,
On 8/15/20 1:47 AM, Dmitry Osipenko wrote:
> 14.08.2020 05:02, Chanwoo Choi пишет:
>> Hi Dmitry,
>>
>> I add the minor comment. Except of some comments, it looks good to me.
>
> Hello, Chanwoo! Thank you for the review!
>
> ...
>>> +struct t
err = rate;
> - goto remove_opps;
> - }
> -
> - err = dev_pm_opp_add(&pdev->dev, rate / KHZ, 0);
> - if (err) {
> - dev_err(&pdev->dev, "Failed to add OPP: %d\n", err)
for (rate = 0; rate <= max_rate; rate++) {
> - rate = clk_round_rate(tegra->emc_clock, rate);
> -
> - err = dev_pm_opp_add(&pdev->dev, rate, 0);
> + for (i = 0; i < mc->num_timings; i++) {
> + err = dev_pm_opp_add(&pdev-
ew bus-width property.
>
> Changes for v5:
> - exynos,interconnect-parent-node renamed to samsung,interconnect-parent
> ---
> .../devicetree/bindings/devfreq/exynos-bus.txt | 68
> +-
> 1 file changed, 66 insertions(+), 2 deletions(-)
Acked-by: Ch
_profile tegra_devfreq_profile = {
> - .polling_ms = 500,
> + .polling_ms = 30,
> .target = tegra_devfreq_target,
> .get_dev_status = tegra_devfreq_get_dev_status,
> };
>
Ackded-by: Chanwoo Choi
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
>emc_clock);
> + if (err) {
> + if (err != -EPROBE_DEFER)
> + dev_err(&pdev->dev, "failed to get emc clock: %d\n",
> + err);
> return err;
> }
>
>
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
On 7/2/20 9:56 AM, Chanwoo Choi wrote:
> Hi Dmitry,
>
> On 6/9/20 10:13 PM, Dmitry Osipenko wrote:
>> Tegra EMC driver was turned into a regular kernel driver, it also could
>> be compiled as a loadable kernel module now. Hence EMC clock isn't
>
> Looks good t
On 7/2/20 10:20 AM, Dmitry Osipenko wrote:
> 02.07.2020 03:59, Chanwoo Choi пишет:
>> Hi,
>>
>> On 6/9/20 10:13 PM, Dmitry Osipenko wrote:
>>> Tegra EMC driver was turned into a regular kernel driver, it also could
>>> be compiled as a loadable k
if (err) {
> + dev_err(dev, "Failed to set min rate: %d\n", err);
> return err;
> + }
>
> err = clk_set_rate(tegra->emc_clock, 0);
> - if (err)
> + if (err) {
> + dev_err(dev, "Failed to set rate: %d\n", err
return err;
> }
>
> err = platform_get_irq(pdev, 0);
>
As I commented on patch10, I recommend that you add the Tegra EMC driver
commit information into patch description and Looks good to me.
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
dev_err(&pdev->dev, "failed to add OPP: %d\n", err);
> + return err;
> + }
> + }
>
> - err = dev_pm_opp_add(&pdev->dev, rate, 0);
> + for (i = 0; i < mc->num_timings; i++) {
> + err =
TEST
> depends on COMMON_CLK
> select DEVFREQ_GOV_SIMPLE_ONDEMAND
> help
>
Acked-by: Chanwoo Choi
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
err)
> + if (err) {
> + dev_err(dev, "failed to set min rate: %d\n", err);
> return err;
> + }
>
> err = clk_set_rate(tegra->emc_clock, 0);
> - if (err)
> + if (err) {
> + dev_err(dev, "failed to
On 7/2/20 2:07 PM, Dmitry Osipenko wrote:
> 02.07.2020 07:18, Chanwoo Choi пишет:
>> Hi Dmitry,
>>
>> On 6/9/20 10:13 PM, Dmitry Osipenko wrote:
>>> The clk_round_rate() won't be usable for building OPP table once
>>> interconnect support will be
Hi Sylwester,
On 6/1/20 7:04 PM, Sylwester Nawrocki wrote:
> Cc: Rob, devicetree ML
>
> On 31.05.2020 01:57, Chanwoo Choi wrote:
>> On Sat, May 30, 2020 at 1:33 AM Sylwester Nawrocki
>> wrote:
>>>
>>> This patch adds registration of a child platform device
: 1;
> + bandwidth += format->cpp[j] * bw / sub;
First of all, I agree this approach.
Could you please add more detailed comments for understadning
about this calculation? As you commented, it seems that
the final bandwidth contains the width/height/refresh rate
and pixel format. If you add one real example, it will be very helpful.
(snip)
--
Best Regards,
Chanwoo Choi
Samsung Electronics
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
> + goto err_node_del;
> + }
> +
> + /*
> +* Register a PM QoS request for the bus device for which also devfreq
> +* functionality is registered.
> +*/
> + ret = dev_pm_qos_add_request(bus_dev, &priv->qos_req,
>
ames' property is not needed when there is only one path in
> 'interconnects', in which case calling of_icc_get() with a NULL name simply
> returns the right path.
>
> Signed-off-by: Artur Świgoń
> Reviewed-by: Chanwoo Choi
> ---
> Changes for v5:
> - non
ock-names = "bus";
> operating-points-v2 = <&bus_display_opp_table>;
> + samsung,interconnect-parent = <&bus_leftbus>;
> + #interconnect-cells = <0>;
> status = "disabled";
> };
>
> --
> 2.7.4
>
Reviewed-by: Chanwoo Choi
--
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 = "okay";
> };
>
> @@ -392,6 +401,8 @@ Example2 :
>
> &bus_lcd0 {
> devfreq = <&bus_leftbus>;
> + samsung,interconnect-parent = <&bus_lef
ret = PTR_ERR(bus->icc_pdev);
> + goto err;
> + }
> + }
> +
> max_state = bus->devfreq->profile->max_state;
> min_freq = (bus->devfreq->profile->freq_table[0] / 1000);
>
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
+ goto err;
> +
> + pm_runtime_enable(dev);
> +
> + return 0;
> +
> +err:
> + icc_put(path);
>
> return ret;
> }
>
> static int mixer_remove(struct platform_device *pdev)
> {
> -
t;, "sclk_hdmi", "vp";
> clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
> <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>;
> + interconnects = <&bus_display &bus_dmc>;
> };
>
> &pmu {
>
s = "okay";
> };
>
> @@ -116,6 +119,8 @@
>
> &bus_display {
> exynos,parent-bus = <&bus_leftbus>;
> + exynos,interconnect-parent-node = <&bus_leftbus>;
> + #interconnect-cells = <0>;
> sta
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
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
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
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
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
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
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
; + #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
>>
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_
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
--
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
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,
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:
>>>
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
1 - 100 of 180 matches
Mail list logo