diff mbox series

[1/3] drm/bridge: microchip-lvds: Revert clk_prepare_enable() in case of failure

Message ID 20240827161223.4152195-2-claudiu.beznea@tuxon.dev (mailing list archive)
State New, archived
Headers show
Series drm/bridge: microchip-lvds: Cleanups | expand

Commit Message

Claudiu Beznea Aug. 27, 2024, 4:12 p.m. UTC
In case pm_runtime_get_sync() fails the clock remains enabled. Disable
it to save power on this failure scenario.

Fixes: 179b0769fc5f ("drm/bridge: add lvds controller support for sam9x7")
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
---
 drivers/gpu/drm/bridge/microchip-lvds.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Dharma Balasubiramani Sept. 2, 2024, 4:39 a.m. UTC | #1
On 27/08/24 9:42 pm, Claudiu Beznea wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> In case pm_runtime_get_sync() fails the clock remains enabled. Disable
> it to save power on this failure scenario.
> 
> Fixes: 179b0769fc5f ("drm/bridge: add lvds controller support for sam9x7")
> Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Reviewed-and-tested-by: Dharma Balasubiramani <dharma.b@microchip.com>
> ---
>   drivers/gpu/drm/bridge/microchip-lvds.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/bridge/microchip-lvds.c b/drivers/gpu/drm/bridge/microchip-lvds.c
> index b8313dad6072..027292ab0197 100644
> --- a/drivers/gpu/drm/bridge/microchip-lvds.c
> +++ b/drivers/gpu/drm/bridge/microchip-lvds.c
> @@ -125,6 +125,7 @@ static void mchp_lvds_enable(struct drm_bridge *bridge)
> 
>          ret = pm_runtime_get_sync(lvds->dev);
>          if (ret < 0) {
> +               clk_disable_unprepare(lvds->pclk);
>                  dev_err(lvds->dev, "failed to get pm runtime: %d\n", ret);
>                  return;
>          }
> --
> 2.39.2
>
Claudiu Beznea Sept. 2, 2024, 8:18 a.m. UTC | #2
On 02.09.2024 07:39, Dharma.B@microchip.com wrote:
> On 27/08/24 9:42 pm, Claudiu Beznea wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> In case pm_runtime_get_sync() fails the clock remains enabled. Disable
>> it to save power on this failure scenario.
>>
>> Fixes: 179b0769fc5f ("drm/bridge: add lvds controller support for sam9x7")
>> Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
> Reviewed-and-tested-by: Dharma Balasubiramani <dharma.b@microchip.com>

This tag is not valid, AFAIK. You should use 2 different tags: Reviewed-by,
Tested-by

>> ---
>>   drivers/gpu/drm/bridge/microchip-lvds.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/bridge/microchip-lvds.c b/drivers/gpu/drm/bridge/microchip-lvds.c
>> index b8313dad6072..027292ab0197 100644
>> --- a/drivers/gpu/drm/bridge/microchip-lvds.c
>> +++ b/drivers/gpu/drm/bridge/microchip-lvds.c
>> @@ -125,6 +125,7 @@ static void mchp_lvds_enable(struct drm_bridge *bridge)
>>
>>          ret = pm_runtime_get_sync(lvds->dev);
>>          if (ret < 0) {
>> +               clk_disable_unprepare(lvds->pclk);
>>                  dev_err(lvds->dev, "failed to get pm runtime: %d\n", ret);
>>                  return;
>>          }
>> --
>> 2.39.2
>>
> 
>
Dharma Balasubiramani Sept. 2, 2024, 8:25 a.m. UTC | #3
Hi Claudiu,

On 02/09/24 1:48 pm, claudiu beznea wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> On 02.09.2024 07:39, Dharma.B@microchip.com wrote:
>> On 27/08/24 9:42 pm, Claudiu Beznea wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> In case pm_runtime_get_sync() fails the clock remains enabled. Disable
>>> it to save power on this failure scenario.
>>>
>>> Fixes: 179b0769fc5f ("drm/bridge: add lvds controller support for sam9x7")
>>> Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
>> Reviewed-and-tested-by: Dharma Balasubiramani <dharma.b@microchip.com>
> 
> This tag is not valid, AFAIK. You should use 2 different tags: Reviewed-by,
> Tested-by
Okay, I don't know how these got in

linux$ git log | grep Reviewed-and-tested-by
     Reviewed-and-tested-by: Jiadong Zhu <Jiadong.Zhu@amd.com>
     Reviewed-and-tested-by: Jiadong Zhu <Jiadong.Zhu@amd.com>
     Reviewed-and-tested-by: Raghavendra K T <raghavendra.kt@amd.com>
     Reviewed-and-tested-by: K Prateek Nayak <kprateek.nayak@amd.com>
     Reviewed-and-tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
     Reviewed-and-tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
     Reviewed-and-tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
     Reviewed-and-tested-by: Madadi Vineeth Reddy <vineethr@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
     Reviewed-and-tested-by: Chen Yu <yu.c.chen@intel.com>
     Reviewed-and-tested-by: Haibo Chen <haibo.chen@nxp.com>
     Reviewed-and-tested-by: Jingbo Xu <jefflexu@linux.alibaba.com>
     Reviewed-and-tested-by: Xiongwei Song <xiongwei.song@windriver.com>
     Reviewed-and-tested-by: Xiongwei Song <xiongwei.song@windriver.com>
     Reviewed-and-tested-by: Mathieu Desnoyers 
<mathieu.desnoyers@efficios.com>
     Reviewed-and-tested-by: Geliang Tang <geliang@kernel.org>
     Reviewed-and-tested-by: Geliang Tang <geliang@kernel.org>
     Reviewed-and-tested-by: Davidlohr Bueso <dave@stgolabs.net>
     Reviewed-and-tested-by: Jiadong Zhu <Jiadong.Zhu@amd.com>
     Reviewed-and-tested-by: Wenjia Zhang <wenjia@linux.ibm.com>
     Reviewed-and-tested-by: Wenjia Zhang <wenjia@linux.ibm.com>
:
:
:
> 
>>> ---
>>>    drivers/gpu/drm/bridge/microchip-lvds.c | 1 +
>>>    1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/gpu/drm/bridge/microchip-lvds.c b/drivers/gpu/drm/bridge/microchip-lvds.c
>>> index b8313dad6072..027292ab0197 100644
>>> --- a/drivers/gpu/drm/bridge/microchip-lvds.c
>>> +++ b/drivers/gpu/drm/bridge/microchip-lvds.c
>>> @@ -125,6 +125,7 @@ static void mchp_lvds_enable(struct drm_bridge *bridge)
>>>
>>>           ret = pm_runtime_get_sync(lvds->dev);
>>>           if (ret < 0) {
>>> +               clk_disable_unprepare(lvds->pclk);
>>>                   dev_err(lvds->dev, "failed to get pm runtime: %d\n", ret);
>>>                   return;
>>>           }
>>> --
>>> 2.39.2
>>>
>>
>>
Dharma Balasubiramani Sept. 2, 2024, 8:35 a.m. UTC | #4
On 27/08/24 9:42 pm, Claudiu Beznea wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> In case pm_runtime_get_sync() fails the clock remains enabled. Disable
> it to save power on this failure scenario.
> 
> Fixes: 179b0769fc5f ("drm/bridge: add lvds controller support for sam9x7")
> Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Reviewed-by: Dharma Balasubiramani <dharma.b@microchip.com>
Tested-by: Dharma Balasubiramani <dharma.b@microchip.com>
> ---
>   drivers/gpu/drm/bridge/microchip-lvds.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/bridge/microchip-lvds.c b/drivers/gpu/drm/bridge/microchip-lvds.c
> index b8313dad6072..027292ab0197 100644
> --- a/drivers/gpu/drm/bridge/microchip-lvds.c
> +++ b/drivers/gpu/drm/bridge/microchip-lvds.c
> @@ -125,6 +125,7 @@ static void mchp_lvds_enable(struct drm_bridge *bridge)
> 
>          ret = pm_runtime_get_sync(lvds->dev);
>          if (ret < 0) {
> +               clk_disable_unprepare(lvds->pclk);
>                  dev_err(lvds->dev, "failed to get pm runtime: %d\n", ret);
>                  return;
>          }
> --
> 2.39.2
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/microchip-lvds.c b/drivers/gpu/drm/bridge/microchip-lvds.c
index b8313dad6072..027292ab0197 100644
--- a/drivers/gpu/drm/bridge/microchip-lvds.c
+++ b/drivers/gpu/drm/bridge/microchip-lvds.c
@@ -125,6 +125,7 @@  static void mchp_lvds_enable(struct drm_bridge *bridge)
 
 	ret = pm_runtime_get_sync(lvds->dev);
 	if (ret < 0) {
+		clk_disable_unprepare(lvds->pclk);
 		dev_err(lvds->dev, "failed to get pm runtime: %d\n", ret);
 		return;
 	}