From patchwork Tue Mar 12 08:06:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: AceLan Kao X-Patchwork-Id: 1910854 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=185.125.189.65; helo=lists.ubuntu.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=patchwork.ozlabs.org) Received: from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Tv5sr4FK6z23rC for ; Tue, 12 Mar 2024 19:10:08 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=lists.ubuntu.com) by lists.ubuntu.com with esmtp (Exim 4.86_2) (envelope-from ) id 1rjxCv-0007Qf-PW; Tue, 12 Mar 2024 08:09:57 +0000 Received: from mail-pl1-f179.google.com ([209.85.214.179]) by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1rjx9d-0006eJ-3h for kernel-team@lists.ubuntu.com; Tue, 12 Mar 2024 08:06:36 +0000 Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-1dc3b4b9b62so31407905ad.1 for ; Tue, 12 Mar 2024 01:06:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710230791; x=1710835591; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mbFJW7rbdu5SWGgIbM9d0mYdzvNzm/Atk1NrcuOBGoc=; b=M5EqCgcm4Af5TvvnikjKys41IyN5v2qyykf3q9NAo+iJZT8UTCY0bxQvfQcjY+sIkn 0bGezgkKOaD8EDzHpZ7GjeItpXY24LzJHCg9IgCcXbzldpGZL4WrJ25sC6Bb6pMoKqlB 3RmBX5jL3eMYZE6N6YlcqEPQqSPUt2PbM88Jez/0pQcV0L8TaJYQphpXGpwsCMhEroaw PCj+QgkpzFohsU2QeK9BCt7R3NStu0NpjKnCXkudijAY660G7hg1MbDcPzJXXoZsdbL0 vH/7wZHUZzVwxh54r91cHKlT4iAEAzeQ2AWeJfaNJGrRO0nRJqDdVjJZZfXojWg5OXKx zAdQ== X-Gm-Message-State: AOJu0YwHpcigxoiIkZHcwiVU27q54qQeHaT2EQ+WLwvJW353fYDfXkD6 W6Y3ckeW2wo3hKblpI7gf+Pks07Q/SxbF0BsINterlg2SRnJCDezEBfVnlBc X-Google-Smtp-Source: AGHT+IHovULlxaFkodOT8aLM1VAMvbBEqBe6qCxRgpQuEJvYZHE07Cwm6Km8GA4egj6f06H9AQcpjQ== X-Received: by 2002:a17:902:c402:b0:1dd:1c6f:af51 with SMTP id k2-20020a170902c40200b001dd1c6faf51mr13712612plk.16.1710230791141; Tue, 12 Mar 2024 01:06:31 -0700 (PDT) Received: from localhost (220-135-95-34.hinet-ip.hinet.net. [220.135.95.34]) by smtp.gmail.com with ESMTPSA id b11-20020a170903228b00b001dca40bb727sm5941415plh.88.2024.03.12.01.06.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Mar 2024 01:06:30 -0700 (PDT) From: AceLan Kao To: kernel-team@lists.ubuntu.com Subject: [PATCH 2/4][SRU][M] drm/amd/display: Clear dpcd_sink_ext_caps if not set Date: Tue, 12 Mar 2024 16:06:22 +0800 Message-Id: <20240312080624.169161-3-acelan.kao@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240312080624.169161-1-acelan.kao@canonical.com> References: <20240312080624.169161-1-acelan.kao@canonical.com> MIME-Version: 1.0 Received-SPF: pass client-ip=209.85.214.179; envelope-from=acelan@gmail.com; helo=mail-pl1-f179.google.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Paul Hsieh BugLink: https://bugs.launchpad.net/bugs/2057430 [WHY] Some eDP panels' ext caps don't set initial values and the value of dpcd_addr (0x317) is random. It means that sometimes the eDP can be OLED, miniLED and etc, and cause incorrect backlight control interface. [HOW] Add remove_sink_ext_caps to remove sink ext caps (HDR, OLED and etc) Cc: Mario Limonciello Cc: Alex Deucher Cc: stable@vger.kernel.org Reviewed-by: Anthony Koo Acked-by: Alex Hung Signed-off-by: Paul Hsieh Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher (cherry picked from commit 923bbfe6c888812db1088d684bd30c24036226d2) Signed-off-by: Chia-Lin Kao (AceLan) --- drivers/gpu/drm/amd/display/dc/dc_types.h | 1 + drivers/gpu/drm/amd/display/dc/link/link_detection.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h b/drivers/gpu/drm/amd/display/dc/dc_types.h index 0564f55aa5957..36e0a95513061 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_types.h +++ b/drivers/gpu/drm/amd/display/dc/dc_types.h @@ -189,6 +189,7 @@ struct dc_panel_patch { unsigned int disable_fams; unsigned int skip_avmute; unsigned int mst_start_top_delay; + unsigned int remove_sink_ext_caps; }; struct dc_edid_caps { diff --git a/drivers/gpu/drm/amd/display/dc/link/link_detection.c b/drivers/gpu/drm/amd/display/dc/link/link_detection.c index 2fe27e76da699..a015557244b95 100644 --- a/drivers/gpu/drm/amd/display/dc/link/link_detection.c +++ b/drivers/gpu/drm/amd/display/dc/link/link_detection.c @@ -1086,6 +1086,9 @@ static bool detect_link_and_local_sink(struct dc_link *link, if (sink->edid_caps.panel_patch.skip_scdc_overwrite) link->ctx->dc->debug.hdmi20_disable = true; + if (sink->edid_caps.panel_patch.remove_sink_ext_caps) + link->dpcd_sink_ext_caps.raw = 0; + if (dc_is_hdmi_signal(link->connector_signal)) read_scdc_caps(link->ddc, link->local_sink);