Received: by 2002:a05:7412:8d1c:b0:fa:4c10:6cad with SMTP id bj28csp582982rdb; Wed, 17 Jan 2024 10:42:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IHupfUJHxV/gdNqAtsev8m+lQ7d8wai9YVrJIRnJ5s6mfr4e1rJvsFd+1t9nwnt622CUDoJ X-Received: by 2002:a05:6871:79a5:b0:204:1590:2044 with SMTP id pb37-20020a05687179a500b0020415902044mr12606850oac.5.1705516941401; Wed, 17 Jan 2024 10:42:21 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705516941; cv=pass; d=google.com; s=arc-20160816; b=ij8ns9ieIDUtWjegp6rvAZk12nKk4Ehh+aKt9zRedDHegopcTQnnDvhGLnM/S7it1z K1L8em/Yp6/eKvwHRelcRbiadoNSHg/AuVB8otmnsPYWnssbC9/FQnopVrB+z9O4mtk6 GAhyPwjoQ5Hj2mbTaF2iFgAuTv1U38rM5v4KUcHZS1JIgOjXPZC1TzuGcTUlABq5tCen KOUQvWunXRrPQe6fRk/cASDk9nsJsui9HkzWeDvsANEEGywH+IwNXWZTtcUjUOWbeQ/8 YhCrfoDXGUp6dHnc7Wt4w3NXQKBuc6J2WsDp9H5VkygJXvsJl9tKexA0b1xb3eviHZVN YZ0A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :dkim-signature; bh=XQziOnoabwrvBkO8mFhZ12paFF8gmB+VBE+mmqVmTwc=; fh=Iu05yrOKhRyKBOIps2Mjvip7s5lelUzP4uL09HFczko=; b=JkBfl3Juo+H9e4evygXrL9jFGzLuy9fH+TlaJFJpq5Ru3uX0dekt+GSHT6tQF4IO64 IYCgLZNjn+M3RZbGfH6Uo9ZLiteu/B9XFItGdVeCYJNtgWkQOgD0r7OwLNCWUcPZiGj6 OmhQUuMngElU5qNl0mkziKdCYNfuEIcJbV56H90BDUCfubuEsE06nRtTogzEPsqm5pn7 3pH/D8bVpOuJ3Zz66NGO9mReCLqcxHTuu+4aSu7HcVvVJhJ7VtT2mxVdGgYrN7SnoB/g 7JOye0zsYlTE3QcStkhVeE8GM5zgxbi/LwjZCKXhs2G+NSkrQD8o2ga/O9s8PtW4OfI5 A6Rw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zRdGHYIj; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-29327-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-29327-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id s5-20020a656445000000b005cd8938b10csi13804624pgv.631.2024.01.17.10.42.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jan 2024 10:42:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-29327-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zRdGHYIj; arc=pass (i=1 spf=pass spfdomain=linaro.org dkim=pass dkdomain=linaro.org dmarc=pass fromdomain=linaro.org); spf=pass (google.com: domain of linux-kernel+bounces-29327-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-29327-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 83183B2426D for ; Wed, 17 Jan 2024 18:40:57 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3502D21A15; Wed, 17 Jan 2024 18:40:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="zRdGHYIj" Received: from mail-yb1-f181.google.com (mail-yb1-f181.google.com [209.85.219.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A99434C9F for ; Wed, 17 Jan 2024 18:40:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705516848; cv=none; b=HO2IV5W/lQ4v7XKxFFfNap+k1iQEOoTT4wvegxnGzznDjpA/zzzMsOli+sr4UqwXbs89k/V4JGhTq5DvhA7oEf/Rc/TJsbdMxnxBkp7pnVDd8thJ3KoGjU1neIJEi4tZKepWvgX2hfzZMT3yaZPHElZm0mrgISrsMAziIkHX7fc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705516848; c=relaxed/simple; bh=jiZKiB5TQckNN9zKjh3rw9Kof7QFp9LD8N+clmDHUxA=; h=Received:DKIM-Signature:X-Google-DKIM-Signature: X-Gm-Message-State:X-Google-Smtp-Source:X-Received:MIME-Version: References:In-Reply-To:From:Date:Message-ID:Subject:To:Cc: Content-Type; b=K/p4ue1i+SARW1jYvO8/IonXSVrKikvXSZCzpcoeaqpjTtRVfeg3owRqRIckQCK37OwhdI55tzpQcIO6MPZuKOcIOqISLRLdMFImxGqkmh88Zp8G3bco0sNN40FtGC7FLBnZnLxqwTkAuLxCgoe3Ga5ooehfXo+4xM9JKnhWa1c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=zRdGHYIj; arc=none smtp.client-ip=209.85.219.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-yb1-f181.google.com with SMTP id 3f1490d57ef6-dbed0710c74so9066661276.1 for ; Wed, 17 Jan 2024 10:40:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1705516845; x=1706121645; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XQziOnoabwrvBkO8mFhZ12paFF8gmB+VBE+mmqVmTwc=; b=zRdGHYIjl8N3OYfFlWBb7HA641Tr110tzNltbZxstOTf13wuFnSediWtRz2kQvwUQl 3bsAuGFubW6YS1urhcQ1PuY83Sem9LfLr8rvX9gpQ1/SasvlMAgGmyKvOssBQscSzONF F+0Dl8cUME5LpQbYqIW36OxzaLmldslU2T8rdIMMkWjNnJ7LMKwGbmo9M8bL7ob4A+w/ iM/UFnBSOMoykjUPA/npFmHmeMOVuvLe6jrM3jhb2G5mFtrYUoHaHcEf4+FqgT0jtoNE XYvCm0xNHNzDy2YhC2vx16aK2QEbUpdkQrp9OxbyTmB8zg0CP+fe7J/ytYq/rUgMU+6v 5DzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705516845; x=1706121645; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XQziOnoabwrvBkO8mFhZ12paFF8gmB+VBE+mmqVmTwc=; b=CVpNAHRPUH4ipj1tRZOXeq0FF/ptioKpMB4lK2RpvSWpjpHhaW1OQB0sgpYD+26JEN J1bqMpOS2VQC8xK2xFWgE7gd3pg6sxkFiM2bIQ+gUCQWmVeUjcTQCP3/vXTd3sb/RBAl IveWMlE0QxWHA+0BPZixss7yZoEJ/AHgT+I823CIK/Ktmctsf8uCZv9BdGyMNum1tAT5 emgKsf3tRovLpqEFXbvl7bWTHKq5abHmnKBBhmf/IgW+uX9bMzgIRXP46BlkQrjA6S7i ndHRKyCnGJeQDOcQgflqbUeaJsQuIuUz0ld0kKCepOj1fcH4rkcaBCFfBeOyz1HF1OVx 633g== X-Gm-Message-State: AOJu0Yy0hgh2qPT0KXE8sPXL+q2nMO7H3jPICjgnfgH0wn5j5I/+/R6+ lHFG/ofjQ3e+TOBkN4wHOReD7Q7RNYjuUDryZZ9lJlKebQKw/g== X-Received: by 2002:a5b:788:0:b0:dbd:b205:4078 with SMTP id b8-20020a5b0788000000b00dbdb2054078mr5777359ybq.101.1705516845649; Wed, 17 Jan 2024 10:40:45 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <1705514068-22394-1-git-send-email-quic_khsieh@quicinc.com> <33f9d97d-f0fb-96d7-eea9-c43c3a5a162e@quicinc.com> In-Reply-To: <33f9d97d-f0fb-96d7-eea9-c43c3a5a162e@quicinc.com> From: Dmitry Baryshkov Date: Wed, 17 Jan 2024 20:40:34 +0200 Message-ID: Subject: Re: [PATCH v2] drm/msm/dp: correct configure Colorimetry Indicator Field at MISC0 To: Kuogee Hsieh Cc: dri-devel@lists.freedesktop.org, robdclark@gmail.com, sean@poorly.run, swboyd@chromium.org, dianders@chromium.org, vkoul@kernel.org, daniel@ffwll.ch, airlied@gmail.com, agross@kernel.org, andersson@kernel.org, quic_abhinavk@quicinc.com, quic_jesszhan@quicinc.com, quic_sbillaka@quicinc.com, marijn.suijten@somainline.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" On Wed, 17 Jan 2024 at 20:29, Kuogee Hsieh wrote: > > > On 1/17/2024 10:12 AM, Dmitry Baryshkov wrote: > > On Wed, 17 Jan 2024 at 19:54, Kuogee Hsieh wrote: > >> MSA MISC0 bit 1 to 7 contains Colorimetry Indicator Field. At > >> current implementation, at DP_TEST_DYNAMIC_RANGE_CEA case the > > In the current implementation, in the ... case > > > >> Colorimetry Indicator Field is mistakenly left shifted one extra > >> bit. > > This doesn't make sense. You say that the value is mistakenly shifted, > > but the shift is still in place in dp_catalog_ctrl_config_misc(). > > The problem is at > > link->dp_link.test_video.test_dyn_range = (bp & > DP_TEST_DYNAMIC_RANGE_CEA); <== this from reading dpcd directly where > ==> DP_TEST_DYNAMIC_RANGE_CEA is (1 << 3) > > within dp_catalog_ctrl_config_misc(), cc will be left shift one more bit. > so that cc is totally is left shifted 4 bits (bit 4). > > at misc0, it should be bit 3 set only for CEA_RGB. Yes. But your patch doesn't fix the shift (which is correct). You patch fixes the value being written to that field. > > > > >> This patch return correct value of colorimetry at > >> dp_link_get_colorimetry_config() to fix this problem. > > See Documentation/process/submitting-patches.rst#_describe_changes > > > >> Changes in V2: > >> -- drop retrieving colorimetry from colorspace > >> -- drop dr = link->dp_link.test_video.test_dyn_range assignment > >> > >> Fixes: c943b4948b58 ("drm/msm/dp: add displayPort driver support") > >> Signed-off-by: Kuogee Hsieh > >> --- > >> drivers/gpu/drm/msm/dp/dp_link.c | 11 ++++++----- > >> drivers/gpu/drm/msm/dp/dp_link.h | 3 +++ > >> 2 files changed, 9 insertions(+), 5 deletions(-) > >> > >> diff --git a/drivers/gpu/drm/msm/dp/dp_link.c b/drivers/gpu/drm/msm/dp/dp_link.c > >> index 98427d4..2e1bdaf 100644 > >> --- a/drivers/gpu/drm/msm/dp/dp_link.c > >> +++ b/drivers/gpu/drm/msm/dp/dp_link.c > >> @@ -1082,7 +1082,7 @@ int dp_link_process_request(struct dp_link *dp_link) > >> > >> int dp_link_get_colorimetry_config(struct dp_link *dp_link) > >> { > >> - u32 cc; > >> + u32 cc = DP_MISC0_LEGACY_RGB; > >> struct dp_link_private *link; > >> > >> if (!dp_link) { > >> @@ -1096,10 +1096,11 @@ int dp_link_get_colorimetry_config(struct dp_link *dp_link) > >> * Unless a video pattern CTS test is ongoing, use RGB_VESA > >> * Only RGB_VESA and RGB_CEA supported for now > >> */ > >> - if (dp_link_is_video_pattern_requested(link)) > >> - cc = link->dp_link.test_video.test_dyn_range; > >> - else > >> - cc = DP_TEST_DYNAMIC_RANGE_VESA; > >> + if (dp_link_is_video_pattern_requested(link)) { > >> + if (link->dp_link.test_video.test_dyn_range & > >> + DP_TEST_DYNAMIC_RANGE_CEA) > >> + cc = DP_MISC0_CEA_RGB; > >> + } > >> > >> return cc; > >> } > >> diff --git a/drivers/gpu/drm/msm/dp/dp_link.h b/drivers/gpu/drm/msm/dp/dp_link.h > >> index 9dd4dd9..fe8f716 100644 > >> --- a/drivers/gpu/drm/msm/dp/dp_link.h > >> +++ b/drivers/gpu/drm/msm/dp/dp_link.h > >> @@ -12,6 +12,9 @@ > >> #define DP_TEST_BIT_DEPTH_UNKNOWN 0xFFFFFFFF > >> #define DP_LINK_CAP_ENHANCED_FRAMING (1 << 0) > >> > >> +#define DP_MISC0_LEGACY_RGB 0 > >> +#define DP_MISC0_CEA_RGB 0x04 > > These should go to dp_reg.h and should start with DP_MISC0_COLORIMETRY_CFG > > > >> + > >> struct dp_link_info { > >> unsigned char revision; > >> unsigned int rate; > >> -- > >> 2.7.4 > >> > > -- With best wishes Dmitry