From nobody Tue Apr 7 17:12:32 2026 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (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 72ACC37B417 for ; Thu, 26 Feb 2026 12:30:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772109023; cv=none; b=bZnZYK5CaSX0yNlHZnxYwpWiHEzJ1PIXlxf+44tfETXMtbuv2w60xjlJPTcsOfs4zdDh9BWyExI4pVfggd36Y4HlvnUypIND6Ys7mmb4O0bx12QwqSRjDzQDrmrIoSQfgZlJIqs+kRaQFAb4nG/q3SqPL2yjpeJGdyhRLpah1/M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772109023; c=relaxed/simple; bh=ziIkw6+Dh61gA3SH6XJNAnST9i3wXX6JtJ3qCO5Q3hw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ey7OuSr5DWg0sLkoK2C4FNGtokeYV/YhEL9vb98U2cLqBiMscSzYN1m0yZRLPbz3A0n59EplFozddWq9deDOh7bHJFdba5KpO7RbDaWsGWQjSd5ObBPOm1ouVtTs1rOE7kYHlx5bIXQ0BwqWBoFpfqpKsJQlMjRKmDygUvEp7b0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mLgeJIdH; arc=none smtp.client-ip=209.85.215.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mLgeJIdH" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-c6e2355739dso286209a12.2 for ; Thu, 26 Feb 2026 04:30:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772109022; x=1772713822; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vX2tPF6zBIVyTh8hqIJIyXQIEwmjYpU6LNcfWWsSq80=; b=mLgeJIdHWm9ivOoBE/PQ7R4oxTDveIcPP9caInoy/Im/uQc8APYkFiUaOotzIHkYN0 L9f5n5oo8xTzZa/gxGOTp8/EaN5dZFBPzJI14b4BcFy2C1XyHmT4O4vCMAnhYTtrRJAJ IMZtMDb8Ou6Ib2eJSKBgfJM2x2Ga3MGJvYIbJjE2opH3NOTqh41vVWBcMCQkKd6kgfj3 njBJCDVnl8dYJ4UIi4S99eA6w8TVz7VnomUVNMbsHjhSXkBtBzx3hIcKNn0fgO3ojKdK 7hxzEu0OYKztR9K8cPuqjByzznaTPn6crLipbTLWBjNoADhMJkBtbnU5I/ocwd9rGl4I 0rNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772109022; x=1772713822; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=vX2tPF6zBIVyTh8hqIJIyXQIEwmjYpU6LNcfWWsSq80=; b=qQbcPmiL2mWShAYHr4DmTrZ+StVPdz5nzQ+uTHC0DINDRuWjeNfuBlt4yhg62xFTxw FIXyWOkB0Xu7jbl/UrP3KBHWiD79oFMQH0S4SbUz+XApOH+ZsxfcNmuIzsVcuNh/Ea0f lolOIU6qyHDDdEPfSIK03U3heyVDqXi/rZ6754ut4ENFGUFL6LOIMY97/dZafQ2UrwHJ SpG2sW1jwDbZzRaOjV3Mbjnzi+PtxfM1R1giuOcdJjUOLNYTZ5sUJE0R4pfTg/d0jrLM uYw5tzmpYjD+lrumbIp74W8cvS09OcK/A5xp0nwO686MRNB1nkv4/wdgu3TNNXwpUX+D +x9g== X-Forwarded-Encrypted: i=1; AJvYcCWt8UgtaIBuThprrLGEzGcgSuzWixSHHwjO3cp7EGS+6xu/nFR0z9S8RQFGPCEhR0BQhFg/RU/wJiBxmPo=@vger.kernel.org X-Gm-Message-State: AOJu0Yzm9kz1BUq0pfeJ7SKM3fW1+lFrMApNxJxabF/dY+Okr/tEtSk1 xnDh4FFxW/dxnOwFju++LAE4aLbhcpAH6SooW0gL7a5lhYxI+DUjX/5y X-Gm-Gg: ATEYQzyZHdVh+wk/IHLpztMhT6VCEsrE2nMxbqwTA6oyTbLxkV0FMXQ+zP2JhnURSZ1 89miZ55CsmfkEZ8xu3PW+95RBIlhpJN1xUm/BRTMurRTUnZKorlBCQs5eTciVc0rMu14O6deU4f /0GXms1HEE+7ZBkS2fPC/YcbQZ3szCGWcBreMZ7f0ZQUtanhnQpZvj5bU1GxbpdnlRWvidcOiA1 s8tPqbjxxxntQ/fBgihURoJ2jil9Xa8k/bhjSf1fnuE2XxemFnXNpOA/83FEe4838AKpqhCSu7O MJuJ3LiWxQF2BFrL4mJmPOYhyWhbR5sgZeLkLIrZ07MAQ5GNLSLWje3+C8ceVDE2gVC7niwhnss DoSG/pNFRFkjogUfdB+znUjgAp7GudGiP6nF3lXuwIx3sSuYI4oJeKtWjObEHLPGDqO8bVR+Li9 BOixZBvg== X-Received: by 2002:a17:903:94b:b0:2a2:f0cb:dfa2 with SMTP id d9443c01a7336-2ae02e49483mr17925415ad.13.1772109021776; Thu, 26 Feb 2026 04:30:21 -0800 (PST) Received: from nuvole.lan ([2408:824c:a17:8230::c83]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2adfb5b22e7sm25504125ad.3.2026.02.26.04.30.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Feb 2026 04:30:21 -0800 (PST) From: Pengyu Luo To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Pengyu Luo , Mark Brown , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Dmitry Baryshkov Subject: [PATCH 1/2] drm/msm/dsi/phy: fix hardware revision Date: Thu, 26 Feb 2026 20:29:57 +0800 Message-ID: <20260226122958.22555-2-mitltlatltl@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260226122958.22555-1-mitltlatltl@gmail.com> References: <20260226122958.22555-1-mitltlatltl@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The hardware revision for TSMC 3nm-based Qualcomm SOCs should be 7.2, this can be confirmed from REG_DSI_7nm_PHY_CMN_REVISION_ID0, the value is 0x27, which means hardware revision is 7.2 No functional change. Fixes: 1337d7ebfb6d ("drm/msm/dsi/phy: Add support for SM8750") Suggested-by: Dmitry Baryshkov Signed-off-by: Pengyu Luo Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c b/drivers/gpu/drm/ms= m/dsi/phy/dsi_phy_7nm.c index 8cb0db3a9..01182442d 100644 --- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c +++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c @@ -51,8 +51,8 @@ #define DSI_PHY_7NM_QUIRK_V4_3 BIT(3) /* Hardware is V5.2 */ #define DSI_PHY_7NM_QUIRK_V5_2 BIT(4) -/* Hardware is V7.0 */ -#define DSI_PHY_7NM_QUIRK_V7_0 BIT(5) +/* Hardware is V7.2 */ +#define DSI_PHY_7NM_QUIRK_V7_2 BIT(5) =20 struct dsi_pll_config { bool enable_ssc; @@ -143,7 +143,7 @@ static void dsi_pll_calc_dec_frac(struct dsi_pll_7nm *p= ll, struct dsi_pll_config =20 if (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_PRE_V4_1) { config->pll_clock_inverters =3D 0x28; - } else if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_0)) { + } else if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) { if (pll_freq < 163000000ULL) config->pll_clock_inverters =3D 0xa0; else if (pll_freq < 175000000ULL) @@ -284,7 +284,7 @@ static void dsi_pll_config_hzindep_reg(struct dsi_pll_7= nm *pll) } =20 if ((pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) || - (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_0)) { + (pll->phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) { if (pll->vco_current_rate < 1557000000ULL) vco_config_1 =3D 0x08; else @@ -699,7 +699,7 @@ static int dsi_7nm_set_usecase(struct msm_dsi_phy *phy) case MSM_DSI_PHY_MASTER: pll_7nm->slave =3D pll_7nm_list[(pll_7nm->phy->id + 1) % DSI_MAX]; /* v7.0: Enable ATB_EN0 and alternate clock output to external phy */ - if (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_0) + if (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2) writel(0x07, base + REG_DSI_7nm_PHY_CMN_CTRL_5); break; case MSM_DSI_PHY_SLAVE: @@ -987,7 +987,7 @@ static int dsi_7nm_phy_enable(struct msm_dsi_phy *phy, /* Request for REFGEN READY */ if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_3) || (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) || - (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_0)) { + (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) { writel(0x1, phy->base + REG_DSI_7nm_PHY_CMN_GLBL_DIGTOP_SPARE10); udelay(500); } @@ -1021,7 +1021,7 @@ static int dsi_7nm_phy_enable(struct msm_dsi_phy *phy, lane_ctrl0 =3D 0x1f; } =20 - if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_0)) { + if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) { if (phy->cphy_mode) { /* TODO: different for second phy */ vreg_ctrl_0 =3D 0x57; @@ -1097,7 +1097,7 @@ static int dsi_7nm_phy_enable(struct msm_dsi_phy *phy, =20 /* program CMN_CTRL_4 for minor_ver 2 chipsets*/ if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) || - (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_0) || + (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2) || (readl(base + REG_DSI_7nm_PHY_CMN_REVISION_ID0) & (0xf0)) =3D=3D 0x20) writel(0x04, base + REG_DSI_7nm_PHY_CMN_CTRL_4); =20 @@ -1213,7 +1213,7 @@ static void dsi_7nm_phy_disable(struct msm_dsi_phy *p= hy) /* Turn off REFGEN Vote */ if ((phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V4_3) || (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V5_2) || - (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_0)) { + (phy->cfg->quirks & DSI_PHY_7NM_QUIRK_V7_2)) { writel(0x0, base + REG_DSI_7nm_PHY_CMN_GLBL_DIGTOP_SPARE10); wmb(); /* Delay to ensure HW removes vote before PHY shut down */ @@ -1502,7 +1502,7 @@ const struct msm_dsi_phy_cfg dsi_phy_3nm_8750_cfgs = =3D { #endif .io_start =3D { 0xae95000, 0xae97000 }, .num_dsi_phy =3D 2, - .quirks =3D DSI_PHY_7NM_QUIRK_V7_0, + .quirks =3D DSI_PHY_7NM_QUIRK_V7_2, }; =20 const struct msm_dsi_phy_cfg dsi_phy_3nm_kaanapali_cfgs =3D { @@ -1525,5 +1525,5 @@ const struct msm_dsi_phy_cfg dsi_phy_3nm_kaanapali_cf= gs =3D { #endif .io_start =3D { 0x9ac1000, 0x9ac4000 }, .num_dsi_phy =3D 2, - .quirks =3D DSI_PHY_7NM_QUIRK_V7_0, + .quirks =3D DSI_PHY_7NM_QUIRK_V7_2, }; --=20 2.53.0