[Intel-gfx] [PATCH] drm/i915: preserve other DP_TEST_SINK bits.

Rodrigo Vivi rodrigo.vivi at gmail.com
Tue Sep 30 22:41:20 CEST 2014


Please don't forget the drm/i915: Fix Sink CRC

That is the important one that fix crc calculation and will allow me
to remove the extra wait for vblanks on tests besides making tests
more stable.


On Tue, Sep 30, 2014 at 1:36 PM, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Mon, Sep 29, 2014 at 06:29:52PM -0400, Rodrigo Vivi wrote:
>> Sink crc was implemented based on dp 1.1 spec that had all TEST_SINK bits
>> reserved reading all 0s. But when reviewing my latest changes on sink crc
>> Todd warned me that on new specs we have other valid bits on this reg that we
>> might want to preserve.
>>
>> Cc: Todd Previte <tprevite at gmail.com>
>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
>> ---
>>  drivers/gpu/drm/i915/intel_dp.c | 8 ++++++--
>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index b8699b0..7d5fa2f 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -3821,8 +3821,9 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc)
>>       if (!(buf & DP_TEST_CRC_SUPPORTED))
>>               return -ENOTTY;
>>
>> +     drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf);
>>       if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK,
>
> With this we no longer check the first aux transaction for errors, and
> maybe we should even check them all?

That is true. Do you prefer a v2 or top fix?
And what do you prefer? avoid the check at all or check on the first
aux transaction?


> -Daniel
>
>> -                            DP_TEST_SINK_START) < 0)
>> +                             buf | DP_TEST_SINK_START) < 0)
>>               return -EIO;
>>
>>       drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, &buf);
>> @@ -3841,7 +3842,10 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc)
>>       if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0)
>>               return -EIO;
>>
>> -     drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0);
>> +     drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK, &buf);
>> +     drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK,
>> +                     buf & ~DP_TEST_SINK_START);
>> +
>>       return 0;
>>  }
>>
>> --
>> 1.9.3
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br



More information about the Intel-gfx mailing list