On Tue, 24 Jan 2017, Manasi Navare <[email protected]> wrote:
> Thanks for this patch. I have tested this on DPR 120 compliance test device
> and verified that it works as expected.
>
> Manasi
>
> On Fri, Jan 20, 2017 at 07:04:06PM +0200, Jani Nikula wrote:
>> There is no point in setting intel_dp->compliance.test_type, and
>> proceeding with the autotests, if we're about to NAK the request. Some
>> drive-by cleanups while at it.
>> 
>> v2: look at the ACK bit, as the result may also contain
>>     TEST_EDID_CHECKSUM_WRITE
>> 
>
>  Reviewed-by: Manasi Navare <[email protected]>
>  Tested-by: Manasi Navare <[email protected]>

Thanks for the review and testing, pushed to drm-intel-next-queued.

BR,
Jani.

>> Cc: Manasi Navare <[email protected]>
>> Signed-off-by: Jani Nikula <[email protected]>
>> ---
>>  drivers/gpu/drm/i915/intel_dp.c | 21 +++++++++------------
>>  1 file changed, 9 insertions(+), 12 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c 
>> b/drivers/gpu/drm/i915/intel_dp.c
>> index e80d620846c8..247fbf352576 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -3985,45 +3985,42 @@ static uint8_t intel_dp_autotest_phy_pattern(struct 
>> intel_dp *intel_dp)
>>  static void intel_dp_handle_test_request(struct intel_dp *intel_dp)
>>  {
>>      uint8_t response = DP_TEST_NAK;
>> -    uint8_t rxdata = 0;
>> -    int status = 0;
>> +    uint8_t request = 0;
>> +    int status;
>>  
>> -    status = drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_REQUEST, &rxdata, 1);
>> +    status = drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_REQUEST, &request);
>>      if (status <= 0) {
>>              DRM_DEBUG_KMS("Could not read test request from sink\n");
>>              goto update_status;
>>      }
>>  
>> -    switch (rxdata) {
>> +    switch (request) {
>>      case DP_TEST_LINK_TRAINING:
>>              DRM_DEBUG_KMS("LINK_TRAINING test requested\n");
>> -            intel_dp->compliance.test_type = DP_TEST_LINK_TRAINING;
>>              response = intel_dp_autotest_link_training(intel_dp);
>>              break;
>>      case DP_TEST_LINK_VIDEO_PATTERN:
>>              DRM_DEBUG_KMS("TEST_PATTERN test requested\n");
>> -            intel_dp->compliance.test_type = DP_TEST_LINK_VIDEO_PATTERN;
>>              response = intel_dp_autotest_video_pattern(intel_dp);
>>              break;
>>      case DP_TEST_LINK_EDID_READ:
>>              DRM_DEBUG_KMS("EDID test requested\n");
>> -            intel_dp->compliance.test_type = DP_TEST_LINK_EDID_READ;
>>              response = intel_dp_autotest_edid(intel_dp);
>>              break;
>>      case DP_TEST_LINK_PHY_TEST_PATTERN:
>>              DRM_DEBUG_KMS("PHY_PATTERN test requested\n");
>> -            intel_dp->compliance.test_type = DP_TEST_LINK_PHY_TEST_PATTERN;
>>              response = intel_dp_autotest_phy_pattern(intel_dp);
>>              break;
>>      default:
>> -            DRM_DEBUG_KMS("Invalid test request '%02x'\n", rxdata);
>> +            DRM_DEBUG_KMS("Invalid test request '%02x'\n", request);
>>              break;
>>      }
>>  
>> +    if (response & DP_TEST_ACK)
>> +            intel_dp->compliance.test_type = request;
>> +
>>  update_status:
>> -    status = drm_dp_dpcd_write(&intel_dp->aux,
>> -                               DP_TEST_RESPONSE,
>> -                               &response, 1);
>> +    status = drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_RESPONSE, response);
>>      if (status <= 0)
>>              DRM_DEBUG_KMS("Could not write test response to sink\n");
>>  }
>> -- 
>> 2.1.4
>> 

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to