[PATCHv2 01/22] drm/bridge: tc358767: fix tc_aux_get_status error handling
Tomi Valkeinen
tomi.valkeinen at ti.com
Fri Apr 26 14:08:52 UTC 2019
On 20/04/2019 23:14, Laurent Pinchart wrote:
> Hi Tomi,
>
> Thank you for the patch.
>
> On Tue, Mar 26, 2019 at 12:31:25PM +0200, Tomi Valkeinen wrote:
>> tc_aux_get_status() does not report AUX_TIMEOUT correctly, as it only
>> checks the AUX_TIMEOUT if aux is still busy. Fix this by always checking
>> for AUX_TIMEOUT.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
>> ---
>> drivers/gpu/drm/bridge/tc358767.c | 11 +++++++----
>> 1 file changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
>> index 888980d4bc74..7031c4f52c57 100644
>> --- a/drivers/gpu/drm/bridge/tc358767.c
>> +++ b/drivers/gpu/drm/bridge/tc358767.c
>> @@ -286,14 +286,17 @@ static int tc_aux_get_status(struct tc_data *tc, u8 *reply)
>> ret = regmap_read(tc->regmap, DP0_AUXSTATUS, &value);
>> if (ret < 0)
>> return ret;
>> +
>> if (value & AUX_BUSY) {
>> - if (value & AUX_TIMEOUT) {
>> - dev_err(tc->dev, "i2c access timeout!\n");
>> - return -ETIMEDOUT;
>> - }
>> + dev_err(tc->dev, "aux busy!\n");
>> return -EBUSY;
>> }
>>
>> + if (value & AUX_TIMEOUT) {
>> + dev_err(tc->dev, "aux access timeout!\n");
>> + return -ETIMEDOUT;
>> + }
>> +
>
> This changes the priority between errors. Should AUX_TIMEOUT be checked
> first ?
BUSY is not an error, it indicates that the HW is not finished. I don't
think it makes sense to look at the error bits before the HW is done.
Tomi
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
More information about the dri-devel
mailing list