From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Todd Previte" Subject: Re: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. Date: Mon, 29 Sep 2014 15:39:06 -0700 Message-ID: <009801cfdc36$2f1454c0$8d3cfe40$@gmail.com> References: <1412029792-1992-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-pa0-f43.google.com (mail-pa0-f43.google.com [209.85.220.43]) by gabe.freedesktop.org (Postfix) with ESMTP id F2C126E1FA for ; Mon, 29 Sep 2014 15:39:08 -0700 (PDT) Received: by mail-pa0-f43.google.com with SMTP id hz1so5284873pad.2 for ; Mon, 29 Sep 2014 15:39:08 -0700 (PDT) In-Reply-To: <1412029792-1992-1-git-send-email-rodrigo.vivi@intel.com> Content-Language: en-us List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: 'Rodrigo Vivi' , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Hi Rodrigo, Looks good. Only thing that needs to be removed is that extra blank line between the last part of the function and the return statement. Otherwise... Reviewed-by: Todd Previte -----Original Message----- From: Rodrigo Vivi [mailto:rodrigo.vivi@intel.com] Sent: Monday, September 29, 2014 3:30 PM To: intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi; Todd Previte Subject: [PATCH] drm/i915: preserve other DP_TEST_SINK bits. 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 Signed-off-by: Rodrigo Vivi --- 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, - 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