From patchwork Thu Oct 24 18:24:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gwan-gyeong Mun X-Patchwork-Id: 11210601 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 21E3914ED for ; Thu, 24 Oct 2019 18:24:38 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0A94121872 for ; Thu, 24 Oct 2019 18:24:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0A94121872 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 627126E5D1; Thu, 24 Oct 2019 18:24:37 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C9866E5D4 for ; Thu, 24 Oct 2019 18:24:35 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 11:24:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,225,1569308400"; d="scan'208";a="373305002" Received: from helsinki.fi.intel.com ([10.237.66.157]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2019 11:24:33 -0700 From: Gwan-gyeong Mun To: intel-gfx@lists.freedesktop.org Date: Thu, 24 Oct 2019 21:24:19 +0300 Message-Id: <20191024182423.958952-2-gwan-gyeong.mun@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> References: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 1/5] drm/i915: Add whether or not to enable an each of Video DIP X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Because DP ports don't use set_infoframes() / intel_write_infoframe() machanisms, DP ports requires a handling of enabling/disabling of each Video DIP when a changing usage of video DIP for SDP transmission such as whether or not to use HDR. For now it only adds enable_infoframe() callback for hsw platform. Signed-off-by: Gwan-gyeong Mun --- .../drm/i915/display/intel_display_types.h | 4 +++ drivers/gpu/drm/i915/display/intel_hdmi.c | 35 +++++++++++++++++++ drivers/gpu/drm/i915/display/intel_hdmi.h | 3 ++ 3 files changed, 42 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index bac40482a2aa..a541c8cc8d83 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1305,6 +1305,10 @@ struct intel_digital_port { const struct intel_crtc_state *crtc_state, unsigned int type, void *frame, ssize_t len); + void (*enable_infoframe)(struct intel_encoder *encoder, + bool enable, + const struct intel_crtc_state *crtc_state, + unsigned int type); void (*set_infoframes)(struct intel_encoder *encoder, bool enable, const struct intel_crtc_state *crtc_state, diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c index b54ccbb5aad5..3c2aea93ae02 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.c +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -559,6 +559,24 @@ static void hsw_read_infoframe(struct intel_encoder *encoder, type, i >> 2)); } +static void hsw_enable_infoframe(struct intel_encoder *encoder, + bool enable, + const struct intel_crtc_state *crtc_state, + unsigned int type) +{ + struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); + i915_reg_t ctl_reg = HSW_TVIDEO_DIP_CTL(crtc_state->cpu_transcoder); + u32 val = I915_READ(ctl_reg); + + if (enable) + val |= hsw_infoframe_enable(type); + else + val &= ~hsw_infoframe_enable(type); + + I915_WRITE(ctl_reg, val); + POSTING_READ(ctl_reg); +} + static u32 hsw_infoframes_enabled(struct intel_encoder *encoder, const struct intel_crtc_state *pipe_config) { @@ -586,6 +604,22 @@ static const u8 infoframe_type_to_idx[] = { HDMI_INFOFRAME_TYPE_DRM, }; +void intel_enable_infoframe(struct intel_encoder *encoder, + bool enable, + const struct intel_crtc_state *crtc_state, + unsigned int type) +{ + struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); + + if (dig_port->enable_infoframe) + dig_port->enable_infoframe(encoder, enable, crtc_state, type); + else { + struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); + DRM_DEBUG_KMS("GEN%d enable_infoframe() callback is not implemented!", + INTEL_GEN(dev_priv)); + } +} + u32 intel_hdmi_infoframe_enable(unsigned int type) { int i; @@ -3104,6 +3138,7 @@ void intel_infoframe_init(struct intel_digital_port *intel_dig_port) } else { intel_dig_port->write_infoframe = hsw_write_infoframe; intel_dig_port->read_infoframe = hsw_read_infoframe; + intel_dig_port->enable_infoframe = hsw_enable_infoframe; intel_dig_port->set_infoframes = hsw_set_infoframes; intel_dig_port->infoframes_enabled = hsw_infoframes_enabled; } diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.h b/drivers/gpu/drm/i915/display/intel_hdmi.h index cf1ea5427639..86f925526514 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.h +++ b/drivers/gpu/drm/i915/display/intel_hdmi.h @@ -48,5 +48,8 @@ void intel_read_infoframe(struct intel_encoder *encoder, const struct intel_crtc_state *crtc_state, enum hdmi_infoframe_type type, union hdmi_infoframe *frame); +void intel_enable_infoframe(struct intel_encoder *encoder, bool enable, + const struct intel_crtc_state *crtc_state, + unsigned int type); #endif /* __INTEL_HDMI_H__ */ From patchwork Thu Oct 24 18:24:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gwan-gyeong Mun X-Patchwork-Id: 11210603 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A179613B1 for ; Thu, 24 Oct 2019 18:24:39 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8946520684 for ; Thu, 24 Oct 2019 18:24:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8946520684 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B59DA6E5D4; Thu, 24 Oct 2019 18:24:38 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id B10AE6E5D5 for ; Thu, 24 Oct 2019 18:24:37 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 11:24:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,225,1569308400"; d="scan'208";a="373305017" Received: from helsinki.fi.intel.com ([10.237.66.157]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2019 11:24:35 -0700 From: Gwan-gyeong Mun To: intel-gfx@lists.freedesktop.org Date: Thu, 24 Oct 2019 21:24:20 +0300 Message-Id: <20191024182423.958952-3-gwan-gyeong.mun@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> References: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 2/5] drm/i915: Add checking a specific Video DIP is enabled or not X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Because DP ports don't use intel_hdmi_infoframes_enabled() machanism, DP ports requires a way to check a specific infoframe (aka. Video DIP ) is enabled or not. Signed-off-by: Gwan-gyeong Mun --- drivers/gpu/drm/i915/display/intel_hdmi.c | 21 +++++++++++++++++++++ drivers/gpu/drm/i915/display/intel_hdmi.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c index 3c2aea93ae02..aed06a5da489 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.c +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -620,6 +620,27 @@ void intel_enable_infoframe(struct intel_encoder *encoder, } } +bool intel_infoframe_enabled(struct intel_encoder *encoder, + const struct intel_crtc_state *crtc_state, + unsigned int type) +{ + struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); + struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base); + u32 val = 0; + + val = dig_port->infoframes_enabled(encoder, crtc_state); + + if (HAS_DDI(dev_priv)) { + if (val & hsw_infoframe_enable(type)) + return true; + } else { + if (val & g4x_infoframe_enable(type)) + return true; + } + + return false; +} + u32 intel_hdmi_infoframe_enable(unsigned int type) { int i; diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.h b/drivers/gpu/drm/i915/display/intel_hdmi.h index 86f925526514..96d50f591b69 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.h +++ b/drivers/gpu/drm/i915/display/intel_hdmi.h @@ -51,5 +51,8 @@ void intel_read_infoframe(struct intel_encoder *encoder, void intel_enable_infoframe(struct intel_encoder *encoder, bool enable, const struct intel_crtc_state *crtc_state, unsigned int type); +bool intel_infoframe_enabled(struct intel_encoder *encoder, + const struct intel_crtc_state *crtc_state, + unsigned int type); #endif /* __INTEL_HDMI_H__ */ From patchwork Thu Oct 24 18:24:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gwan-gyeong Mun X-Patchwork-Id: 11210607 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9B28C1747 for ; Thu, 24 Oct 2019 18:24:48 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 83B1720684 for ; Thu, 24 Oct 2019 18:24:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 83B1720684 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 486276E5CF; Thu, 24 Oct 2019 18:24:47 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id B4C756E5D9 for ; Thu, 24 Oct 2019 18:24:39 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 11:24:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,225,1569308400"; d="scan'208";a="373305033" Received: from helsinki.fi.intel.com ([10.237.66.157]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2019 11:24:37 -0700 From: Gwan-gyeong Mun To: intel-gfx@lists.freedesktop.org Date: Thu, 24 Oct 2019 21:24:21 +0300 Message-Id: <20191024182423.958952-4-gwan-gyeong.mun@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> References: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 3/5] drm/i915/dp: Stop sending of VSC SDP when it is not needed X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" It prevents sending VSC SDP Packet to a receiver when VSC SDP is not needed. Because VSC SDP is used for PSR, YCbCr 420, HDR BT.2020 and etc, it checks PSR is enabled or not. Signed-off-by: Gwan-gyeong Mun --- drivers/gpu/drm/i915/display/intel_dp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 521ce23f38ac..ed6845485b41 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -4735,8 +4735,16 @@ void intel_dp_vsc_enable(struct intel_dp *intel_dp, const struct intel_crtc_state *crtc_state, const struct drm_connector_state *conn_state) { - if (!intel_dp_needs_vsc_sdp(crtc_state, conn_state)) + if (!intel_dp_needs_vsc_sdp(crtc_state, conn_state)) { + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct intel_encoder *encoder = &intel_dig_port->base; + + if (!intel_psr_enabled(intel_dp) && + intel_infoframe_enabled(encoder, crtc_state, DP_SDP_VSC)) + intel_enable_infoframe(encoder, false, crtc_state, DP_SDP_VSC); + return; + } intel_dp_setup_vsc_sdp(intel_dp, crtc_state, conn_state); } From patchwork Thu Oct 24 18:24:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gwan-gyeong Mun X-Patchwork-Id: 11210605 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E50C013B1 for ; Thu, 24 Oct 2019 18:24:47 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CDF1E21872 for ; Thu, 24 Oct 2019 18:24:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CDF1E21872 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5CCC26E5D5; Thu, 24 Oct 2019 18:24:47 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 965DA6E5D5 for ; Thu, 24 Oct 2019 18:24:41 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 11:24:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,225,1569308400"; d="scan'208";a="373305045" Received: from helsinki.fi.intel.com ([10.237.66.157]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2019 11:24:39 -0700 From: Gwan-gyeong Mun To: intel-gfx@lists.freedesktop.org Date: Thu, 24 Oct 2019 21:24:22 +0300 Message-Id: <20191024182423.958952-5-gwan-gyeong.mun@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> References: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 4/5] drm/i915/dp: Stop sending of HDR Metadata Infoframe when it is not needed X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" It prevents sending HDR Metadata Infoframe SDP packet to a receiver when HDR Metadata Infoframe SDP is not needed. Signed-off-by: Gwan-gyeong Mun --- drivers/gpu/drm/i915/display/intel_dp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index ed6845485b41..729f1e8cb49a 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -4753,8 +4753,16 @@ void intel_dp_hdr_metadata_enable(struct intel_dp *intel_dp, const struct intel_crtc_state *crtc_state, const struct drm_connector_state *conn_state) { - if (!conn_state->hdr_output_metadata) + if (!conn_state->hdr_output_metadata) { + struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); + struct intel_encoder *encoder = &intel_dig_port->base; + + if (intel_infoframe_enabled(encoder, crtc_state, + HDMI_PACKET_TYPE_GAMUT_METADATA)) + intel_enable_infoframe(encoder, false, crtc_state, + HDMI_PACKET_TYPE_GAMUT_METADATA); return; + } intel_dp_setup_hdr_metadata_infoframe_sdp(intel_dp, crtc_state, From patchwork Thu Oct 24 18:24:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gwan-gyeong Mun X-Patchwork-Id: 11210609 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B51ED1747 for ; Thu, 24 Oct 2019 18:24:49 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9D9F420684 for ; Thu, 24 Oct 2019 18:24:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9D9F420684 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4E2676E5DD; Thu, 24 Oct 2019 18:24:48 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6C3CF6E5CF for ; Thu, 24 Oct 2019 18:24:43 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2019 11:24:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,225,1569308400"; d="scan'208";a="373305053" Received: from helsinki.fi.intel.com ([10.237.66.157]) by orsmga005.jf.intel.com with ESMTP; 24 Oct 2019 11:24:41 -0700 From: Gwan-gyeong Mun To: intel-gfx@lists.freedesktop.org Date: Thu, 24 Oct 2019 21:24:23 +0300 Message-Id: <20191024182423.958952-6-gwan-gyeong.mun@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> References: <20191024182423.958952-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 5/5] drm/i915/dp: Call dp_vsc_enable() / dp_hdr_metata_enable() on pipe updates X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Call intel_dp_vsc_enable() and intel_dp_hdr_metadata_enable() on pipe updates to make sure that we enable sending of VSC SDP and HDR Metadata Infoframe SDP packet (when applicable) on fastsets. These functions check pipe state and when the features does not need, they disable the features. Signed-off-by: Gwan-gyeong Mun --- drivers/gpu/drm/i915/display/intel_ddi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c index 1a49266f4f57..e07591ff2a6e 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi.c +++ b/drivers/gpu/drm/i915/display/intel_ddi.c @@ -4020,6 +4020,8 @@ static void intel_ddi_update_pipe_dp(struct intel_encoder *encoder, intel_ddi_set_dp_msa(crtc_state, conn_state); intel_psr_update(intel_dp, crtc_state); + intel_dp_vsc_enable(intel_dp, crtc_state, conn_state); + intel_dp_hdr_metadata_enable(intel_dp, crtc_state, conn_state); intel_edp_drrs_enable(intel_dp, crtc_state); intel_panel_update_backlight(encoder, crtc_state, conn_state);