Received: by 2002:a17:90a:1609:0:0:0:0 with SMTP id n9csp845500pja; Wed, 1 Apr 2020 09:44:27 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvLVpIVlYsS/NOps6cdYp8Dyk/7qseNX/abLKgMEviGOPmf8ZkBhS1GjHzAKaZ32yNwR3oN X-Received: by 2002:a05:6830:23bb:: with SMTP id m27mr18134616ots.195.1585759467551; Wed, 01 Apr 2020 09:44:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585759467; cv=none; d=google.com; s=arc-20160816; b=0+aXk+rU1tnz4GnTKQJUF5V029Castt1sa1xqH9mOiyjubYkYGJACMPUjAw9/lQ337 CwxP6eBnLOqj/IVP1fQ9CkPiUpEfrTTtZjFqlSiTc/yvZ0yFMzhVw7qG8hN0z84vUS+F eFTxKEru3Ll79o6EE/IC3A5hauKlr47N52w6ti9ZSVjS3RzBkHxV7DyQ+hAbN0r65QiN Ngn4UHp42QL4m5iZ7hycp5VgC4UN/5b2ohUV2ahoPG5LTWKsQYf0s9UHVQVtZj55IShL Z5vO0YI4sX8CWi4Pk/5jN/wBO5+racQHRR9EV32IdAgkuA1xGlQJKjHaJH36gmPycK4o FMQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KY6bpgOvLZ2u7Z/T0QX+PoIOWLEGIm080QsTMROWUiI=; b=wxfpbwVUE0BevVrUplP5/0WAYluZQ1ZWdFjHy9VyKKuiUkljKL0sRmzk1WHFF4A76V yE0XrTVEueBYEtu7vMsBCFEInMSPGeY1WRtIYLB3+ZVfl7US8IB7jYGWY2hYFsvGfPwD ZLq8+cuAnK7gA3Lseac7W4KGMV+lRoznFLdEPK+R/yUH2XEtGA2JODE0F/Qe5TVuWB66 dGlMxjZThH3vrvOfnGuB4YxBAAGBqTbix1IVJ4Mhi2MYAhXP33oOnnR97yDHTECusIza 0addKbUKdiNWG+M8xNalr2yr9we02Q6oN6uRvc2YffYSkZeW5YFfx9y0f/ZQEtSlnYzA yLrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gpYDQsYZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b6si998775otj.275.2020.04.01.09.44.14; Wed, 01 Apr 2020 09:44:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gpYDQsYZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389327AbgDAQmb (ORCPT + 99 others); Wed, 1 Apr 2020 12:42:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:43080 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389532AbgDAQm3 (ORCPT ); Wed, 1 Apr 2020 12:42:29 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 85B9420658; Wed, 1 Apr 2020 16:42:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585759348; bh=cuxX1JFcg9dUi9x7TC1NK+SvhULhF55NA76HG+4K9so=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gpYDQsYZscuFv1/BmzyfEq8S94L0ApXtXbKy556dn/ecX4/oAIcgQTgZJhq56mrcl iF6cBMFBsP+LgsgCBUOQPlWn3QHpF/0AoL0ga7Qcu+vmzEVMoU6Ar2mHgn/ViOHqN9 SCKVDYhzLwe3oJ1pLy4g6E/YBjgdN0JAO0okxNp8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Laurent Pinchart , Jernej Skrabec Subject: [PATCH 4.14 052/148] drm/bridge: dw-hdmi: fix AVI frame colorimetry Date: Wed, 1 Apr 2020 18:17:24 +0200 Message-Id: <20200401161558.011736998@linuxfoundation.org> X-Mailer: git-send-email 2.26.0 In-Reply-To: <20200401161552.245876366@linuxfoundation.org> References: <20200401161552.245876366@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jernej Skrabec commit e8dca30f7118461d47e1c3510d0e31b277439151 upstream. CTA-861-F explicitly states that for RGB colorspace colorimetry should be set to "none". Fix that. Acked-by: Laurent Pinchart Fixes: def23aa7e982 ("drm: bridge: dw-hdmi: Switch to V4L bus format and encodings") Signed-off-by: Jernej Skrabec Link: https://patchwork.freedesktop.org/patch/msgid/20200304232512.51616-2-jernej.skrabec@siol.net Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 46 ++++++++++++++++-------------- 1 file changed, 26 insertions(+), 20 deletions(-) --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -1348,28 +1348,34 @@ static void hdmi_config_AVI(struct dw_hd frame.colorspace = HDMI_COLORSPACE_RGB; /* Set up colorimetry */ - switch (hdmi->hdmi_data.enc_out_encoding) { - case V4L2_YCBCR_ENC_601: - if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV601) - frame.colorimetry = HDMI_COLORIMETRY_EXTENDED; - else + if (!hdmi_bus_fmt_is_rgb(hdmi->hdmi_data.enc_out_bus_format)) { + switch (hdmi->hdmi_data.enc_out_encoding) { + case V4L2_YCBCR_ENC_601: + if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV601) + frame.colorimetry = HDMI_COLORIMETRY_EXTENDED; + else + frame.colorimetry = HDMI_COLORIMETRY_ITU_601; + frame.extended_colorimetry = + HDMI_EXTENDED_COLORIMETRY_XV_YCC_601; + break; + case V4L2_YCBCR_ENC_709: + if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV709) + frame.colorimetry = HDMI_COLORIMETRY_EXTENDED; + else + frame.colorimetry = HDMI_COLORIMETRY_ITU_709; + frame.extended_colorimetry = + HDMI_EXTENDED_COLORIMETRY_XV_YCC_709; + break; + default: /* Carries no data */ frame.colorimetry = HDMI_COLORIMETRY_ITU_601; + frame.extended_colorimetry = + HDMI_EXTENDED_COLORIMETRY_XV_YCC_601; + break; + } + } else { + frame.colorimetry = HDMI_COLORIMETRY_NONE; frame.extended_colorimetry = - HDMI_EXTENDED_COLORIMETRY_XV_YCC_601; - break; - case V4L2_YCBCR_ENC_709: - if (hdmi->hdmi_data.enc_in_encoding == V4L2_YCBCR_ENC_XV709) - frame.colorimetry = HDMI_COLORIMETRY_EXTENDED; - else - frame.colorimetry = HDMI_COLORIMETRY_ITU_709; - frame.extended_colorimetry = - HDMI_EXTENDED_COLORIMETRY_XV_YCC_709; - break; - default: /* Carries no data */ - frame.colorimetry = HDMI_COLORIMETRY_ITU_601; - frame.extended_colorimetry = - HDMI_EXTENDED_COLORIMETRY_XV_YCC_601; - break; + HDMI_EXTENDED_COLORIMETRY_XV_YCC_601; } frame.scan_mode = HDMI_SCAN_MODE_NONE;