Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1539761 > unrolled thread

[PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr

Started byCaesar Wang <wxt@rock-chips.com>
First post2016-12-10 04:00 +0100
Last post2016-12-15 10:40 +0100
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr Caesar Wang <wxt@rock-chips.com> - 2016-12-10 04:00 +0100
    Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling  the psr Sean Paul <seanpaul@chromium.org> - 2016-12-12 16:00 +0100
      Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling  the psr Archit Taneja <architt@codeaurora.org> - 2016-12-14 06:10 +0100
        Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling  the psr Sean Paul <seanpaul@chromium.org> - 2016-12-14 11:10 +0100
          Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling  the psr Archit Taneja <architt@codeaurora.org> - 2016-12-15 10:40 +0100

#1539761 — [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr

FromCaesar Wang <wxt@rock-chips.com>
Date2016-12-10 04:00 +0100
Subject[PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr
Message-ID<sMG3g-2Py-5@gated-at.bofh.it>
Look likes, the BOE panel FW didn't ack the DPCD600 signal from the host
device, that will cause the panel hang on the startup display.
The root cause we use the fast link mode during enter and exit the psr,
this issue is gone if switching the fast link to main link mode.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---

 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 6e0447f..6a5347b 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -133,6 +133,7 @@ int analogix_dp_disable_psr(struct device *dev)
 {
 	struct analogix_dp_device *dp = dev_get_drvdata(dev);
 	struct edp_vsc_psr psr_vsc;
+	int ret;
 
 	if (!dp->psr_support)
 		return -EINVAL;
@@ -147,6 +148,10 @@ int analogix_dp_disable_psr(struct device *dev)
 	psr_vsc.DB0 = 0;
 	psr_vsc.DB1 = 0;
 
+	ret = drm_dp_dpcd_writeb(&dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
+	if (ret != 1)
+		dev_err(dp->dev, "Failed to set DP Power0 %d\n", ret);
+
 	analogix_dp_send_psr_spd(dp, &psr_vsc);
 	return 0;
 }
-- 
2.7.4

[toc] | [next] | [standalone]


#1540365 — Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr

FromSean Paul <seanpaul@chromium.org>
Date2016-12-12 16:00 +0100
SubjectRe: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr
Message-ID<sNAf8-5C8-27@gated-at.bofh.it>
In reply to#1539761
On Fri, Dec 9, 2016 at 9:49 PM, Caesar Wang <wxt@rock-chips.com> wrote:
> Look likes, the BOE panel FW didn't ack the DPCD600 signal from the host
> device, that will cause the panel hang on the startup display.
> The root cause we use the fast link mode during enter and exit the psr,
> this issue is gone if switching the fast link to main link mode.
>

Cc: Archit Taneja <architt@codeaurora.org>

> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
> ---
>
>  drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> index 6e0447f..6a5347b 100644
> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> @@ -133,6 +133,7 @@ int analogix_dp_disable_psr(struct device *dev)
>  {
>         struct analogix_dp_device *dp = dev_get_drvdata(dev);
>         struct edp_vsc_psr psr_vsc;
> +       int ret;
>
>         if (!dp->psr_support)
>                 return -EINVAL;
> @@ -147,6 +148,10 @@ int analogix_dp_disable_psr(struct device *dev)
>         psr_vsc.DB0 = 0;
>         psr_vsc.DB1 = 0;
>
> +       ret = drm_dp_dpcd_writeb(&dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> +       if (ret != 1)
> +               dev_err(dp->dev, "Failed to set DP Power0 %d\n", ret);
> +
>         analogix_dp_send_psr_spd(dp, &psr_vsc);
>         return 0;
>  }
> --
> 2.7.4
>

[toc] | [prev] | [next] | [standalone]


#1541700 — Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr

FromArchit Taneja <architt@codeaurora.org>
Date2016-12-14 06:10 +0100
SubjectRe: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr
Message-ID<sO9Zf-2jA-9@gated-at.bofh.it>
In reply to#1540365
Hi,

On 12/12/2016 08:28 PM, Sean Paul wrote:
> On Fri, Dec 9, 2016 at 9:49 PM, Caesar Wang <wxt@rock-chips.com> wrote:
>> Look likes, the BOE panel FW didn't ack the DPCD600 signal from the host
>> device, that will cause the panel hang on the startup display.
>> The root cause we use the fast link mode during enter and exit the psr,
>> this issue is gone if switching the fast link to main link mode.
>>
>
> Cc: Archit Taneja <architt@codeaurora.org>

Do we want this as a fix in 4.10? Or is it okay to get it in 4.11?
In other words, should this go to drm-misc-next or drm-misc-fixes?

Thanks,
Archit

>
>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>> ---
>>
>>  drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>> index 6e0447f..6a5347b 100644
>> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>> @@ -133,6 +133,7 @@ int analogix_dp_disable_psr(struct device *dev)
>>  {
>>         struct analogix_dp_device *dp = dev_get_drvdata(dev);
>>         struct edp_vsc_psr psr_vsc;
>> +       int ret;
>>
>>         if (!dp->psr_support)
>>                 return -EINVAL;
>> @@ -147,6 +148,10 @@ int analogix_dp_disable_psr(struct device *dev)
>>         psr_vsc.DB0 = 0;
>>         psr_vsc.DB1 = 0;
>>
>> +       ret = drm_dp_dpcd_writeb(&dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
>> +       if (ret != 1)
>> +               dev_err(dp->dev, "Failed to set DP Power0 %d\n", ret);
>> +
>>         analogix_dp_send_psr_spd(dp, &psr_vsc);
>>         return 0;
>>  }
>> --
>> 2.7.4
>>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

[toc] | [prev] | [next] | [standalone]


#1541813 — Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr

FromSean Paul <seanpaul@chromium.org>
Date2016-12-14 11:10 +0100
SubjectRe: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr
Message-ID<sOeFB-5aj-39@gated-at.bofh.it>
In reply to#1541700
On Wed, Dec 14, 2016 at 12:03 AM, Archit Taneja <architt@codeaurora.org> wrote:
> Hi,
>
> On 12/12/2016 08:28 PM, Sean Paul wrote:
>>
>> On Fri, Dec 9, 2016 at 9:49 PM, Caesar Wang <wxt@rock-chips.com> wrote:
>>>
>>> Look likes, the BOE panel FW didn't ack the DPCD600 signal from the host
>>> device, that will cause the panel hang on the startup display.
>>> The root cause we use the fast link mode during enter and exit the psr,
>>> this issue is gone if switching the fast link to main link mode.
>>>
>>
>> Cc: Archit Taneja <architt@codeaurora.org>
>
>
> Do we want this as a fix in 4.10? Or is it okay to get it in 4.11?
> In other words, should this go to drm-misc-next or drm-misc-fixes?
>

Hi Archit,
4.11 is totally fine.

Sean


> Thanks,
> Archit
>
>
>>
>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>>> ---
>>>
>>>  drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>> b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>> index 6e0447f..6a5347b 100644
>>> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>> @@ -133,6 +133,7 @@ int analogix_dp_disable_psr(struct device *dev)
>>>  {
>>>         struct analogix_dp_device *dp = dev_get_drvdata(dev);
>>>         struct edp_vsc_psr psr_vsc;
>>> +       int ret;
>>>
>>>         if (!dp->psr_support)
>>>                 return -EINVAL;
>>> @@ -147,6 +148,10 @@ int analogix_dp_disable_psr(struct device *dev)
>>>         psr_vsc.DB0 = 0;
>>>         psr_vsc.DB1 = 0;
>>>
>>> +       ret = drm_dp_dpcd_writeb(&dp->aux, DP_SET_POWER,
>>> DP_SET_POWER_D0);
>>> +       if (ret != 1)
>>> +               dev_err(dp->dev, "Failed to set DP Power0 %d\n", ret);
>>> +
>>>         analogix_dp_send_psr_spd(dp, &psr_vsc);
>>>         return 0;
>>>  }
>>> --
>>> 2.7.4
>>>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> a Linux Foundation Collaborative Project

[toc] | [prev] | [next] | [standalone]


#1542591 — Re: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr

FromArchit Taneja <architt@codeaurora.org>
Date2016-12-15 10:40 +0100
SubjectRe: [PATCH] drm/bridge: analogix_dp: set the DPCD600 during disabling the psr
Message-ID<sOAG6-45w-41@gated-at.bofh.it>
In reply to#1541813

On 12/14/2016 03:30 PM, Sean Paul wrote:
> On Wed, Dec 14, 2016 at 12:03 AM, Archit Taneja <architt@codeaurora.org> wrote:
>> Hi,
>>
>> On 12/12/2016 08:28 PM, Sean Paul wrote:
>>>
>>> On Fri, Dec 9, 2016 at 9:49 PM, Caesar Wang <wxt@rock-chips.com> wrote:
>>>>
>>>> Look likes, the BOE panel FW didn't ack the DPCD600 signal from the host
>>>> device, that will cause the panel hang on the startup display.
>>>> The root cause we use the fast link mode during enter and exit the psr,
>>>> this issue is gone if switching the fast link to main link mode.
>>>>
>>>
>>> Cc: Archit Taneja <architt@codeaurora.org>
>>
>>
>> Do we want this as a fix in 4.10? Or is it okay to get it in 4.11?
>> In other words, should this go to drm-misc-next or drm-misc-fixes?
>>
>
> Hi Archit,
> 4.11 is totally fine.

Thanks. Queued after some commit message cleanup.

Archit

>
> Sean
>
>
>> Thanks,
>> Archit
>>
>>
>>>
>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>>>> ---
>>>>
>>>>  drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 5 +++++
>>>>  1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>>> b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>>> index 6e0447f..6a5347b 100644
>>>> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>>> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
>>>> @@ -133,6 +133,7 @@ int analogix_dp_disable_psr(struct device *dev)
>>>>  {
>>>>         struct analogix_dp_device *dp = dev_get_drvdata(dev);
>>>>         struct edp_vsc_psr psr_vsc;
>>>> +       int ret;
>>>>
>>>>         if (!dp->psr_support)
>>>>                 return -EINVAL;
>>>> @@ -147,6 +148,10 @@ int analogix_dp_disable_psr(struct device *dev)
>>>>         psr_vsc.DB0 = 0;
>>>>         psr_vsc.DB1 = 0;
>>>>
>>>> +       ret = drm_dp_dpcd_writeb(&dp->aux, DP_SET_POWER,
>>>> DP_SET_POWER_D0);
>>>> +       if (ret != 1)
>>>> +               dev_err(dp->dev, "Failed to set DP Power0 %d\n", ret);
>>>> +
>>>>         analogix_dp_send_psr_spd(dp, &psr_vsc);
>>>>         return 0;
>>>>  }
>>>> --
>>>> 2.7.4
>>>>
>>
>> --
>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>> a Linux Foundation Collaborative Project

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web