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

Archit Taneja
2016-12-14T05:03:55Z

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