From: Jani Nikula Date: Wed, 29 Apr 2015 11:29:39 +0000 (+0300) Subject: drm/i915/hdmi: fix vlv infoframe port check X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=eeea3e67a4b2ab1df4e6e42e86d365fd14e070af;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git drm/i915/hdmi: fix vlv infoframe port check Due to missing shifting, the vlv infoframe port check only works for port A. Fix it. Broken since introduction in commit 535afa2e9e3c1867460d6981d879b04d8b2b9ab3 Author: Jesse Barnes Date: Wed Apr 15 16:52:29 2015 -0700 drm/i915/vlv: check port in infoframe_enabled v2 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90059 Tested-by: xubin Tested-by: Ye Tian Reviewed-by: Jesse Barnes Signed-off-by: Jani Nikula --- diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 56d1d13c075a..3b9c1176be5b 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -327,9 +327,8 @@ static bool vlv_infoframe_enabled(struct drm_encoder *encoder) struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder); int reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe); u32 val = I915_READ(reg); - u32 port = intel_dig_port->port; - if (port == (val & VIDEO_DIP_PORT_MASK)) + if (VIDEO_DIP_PORT(intel_dig_port->port) == (val & VIDEO_DIP_PORT_MASK)) return val & VIDEO_DIP_ENABLE; return false;