Re: [PATCH] drm/i915: preserve other DP_TEST_SINK bits.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx> 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@xxxxxxxxx>
>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
>> ---
>>  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@xxxxxxxxxxxxxxxxxxxxx
>> 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@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux