[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a5bb5f6bf7defa9c9bbf7d1fde87ca49@codeaurora.org>
Date: Thu, 08 Jul 2021 14:59:53 -0700
From: khsieh@...eaurora.org
To: Stephen Boyd <swboyd@...omium.org>
Cc: dri-devel@...ts.freedesktop.org, robdclark@...il.com,
sean@...rly.run, abhinavk@...eaurora.org, aravindh@...eaurora.org,
airlied@...ux.ie, daniel@...ll.ch, bjorn.andersson@...aro.org,
linux-arm-msm@...r.kernel.org, freedreno@...ts.freedesktop.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/7] drm/msm/dp: reset aux controller after
dp_aux_cmd_fifo_tx() failed.
On 2021-07-08 00:34, Stephen Boyd wrote:
> Quoting Kuogee Hsieh (2021-07-06 10:20:16)
>> Aux hardware calibration sequence requires resetting the aux
>> controller
>> in order for the new setting to take effect. However resetting the AUX
>> controller will also clear HPD interrupt status which may accidentally
>> cause pending unplug interrupt to get lost. Therefore reset aux
>> controller only when link is in connection state when
>> dp_aux_cmd_fifo_tx()
>> fail. This fixes Link Layer CTS cases 4.2.1.1 and 4.2.1.2.
>>
>> Signed-off-by: Kuogee Hsieh <khsieh@...eaurora.org>
>> ---
>> drivers/gpu/drm/msm/dp/dp_aux.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/msm/dp/dp_aux.c
>> b/drivers/gpu/drm/msm/dp/dp_aux.c
>> index 4a3293b..eb40d84 100644
>> --- a/drivers/gpu/drm/msm/dp/dp_aux.c
>> +++ b/drivers/gpu/drm/msm/dp/dp_aux.c
>> @@ -353,6 +353,9 @@ static ssize_t dp_aux_transfer(struct drm_dp_aux
>> *dp_aux,
>> if (!(aux->retry_cnt % MAX_AUX_RETRIES))
>>
>> dp_catalog_aux_update_cfg(aux->catalog);
>> }
>> + /* reset aux if link is in connected state */
>> + if (dp_catalog_link_is_connected(aux->catalog))
>
> How do we avoid resetting aux when hpd is unplugged and then plugged
> back in during an aux transfer?
i am not sure this is possible.
it should get unplug interrupt followed by plugin interrupt.
In this case, aux will be re set and initialized
>
>> + dp_catalog_aux_reset(aux->catalog);
>> } else {
>> aux->retry_cnt = 0;
>> switch (aux->aux_error_num) {
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora
>> Forum,
>> a Linux Foundation Collaborative Project
>>
Powered by blists - more mailing lists