From nobody Mon Feb 9 16:53:10 2026 Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) (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 94D011B4227 for ; Thu, 27 Feb 2025 02:25:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623120; cv=none; b=sorjNdbFujEsj6PdD/abrdOMlPHKTB7UIpUWUvE6MdwDmwnOz7SF+JYvyNfXZ1XKl5MCQQ51RkAYSMiAhPyn6gNOtmYcufOoGxhNJj/7a936QBNpB0DHZekpj0P/e30SV1rUCHo76WrRAVaV5a36wBLQYqf+CmsBGmlM+oLa6ps= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623120; c=relaxed/simple; bh=nAUeCQaacPy4eDcat81zyQ4FPPYgERyNRUqIhBqqdZk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=S5sm2po+ot/GE8x4q67kttvZ8Yl9qLm4lBGnlOEznr2XXFXET0azWh0ycDP16LMQTKu12zktqIAcd5FnTHUYLeqKVjUNInnB77jT7j/GZHEkmaX/LB0a2Hku//TAwPMyB6kmLBrjGsHkaJ68FzqeRYf0erjzq8Ox30FHb+BfKeU= 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=fe0Iwat8; arc=none smtp.client-ip=209.85.208.173 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="fe0Iwat8" Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-30a303a656aso5140261fa.0 for ; Wed, 26 Feb 2025 18:25:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740623117; x=1741227917; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=q5U2PqqsAittXp536ew/SvCsut9jyzjmr2ENiR9whTM=; b=fe0Iwat8PSyTJHnfernuyaXQg+VzMR7fYt+dawgcoy8UrssofBvXn3qZDXII07mBzI Zrpaoep+biBhvgySYGOAoSEII+aIw2GOVC1xwAh0/9x+HHvXz1yj2t3fyYyIxW7+zR9M /BPe12JT6sPoCENA5boLHHEJEDE1Sew02uHyyC+lsB6N1+j1ssPfQRAhTLl+4tjFvUmI D9khVF7SOB/Ob9es4EPAyfTabH4iwOPbuPVFU0fgjMnQCpbR06MM2zfZze9Q3dtFQvBx Z0MbCvPKcODqr7DjpaSabiNN0YnyNb95vPjGnUWJUb2YXwZk9PmkcZkBn4qwIiF1bdwT Wvmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740623117; x=1741227917; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=q5U2PqqsAittXp536ew/SvCsut9jyzjmr2ENiR9whTM=; b=QTW/S9dbZg1XlSTToT35uJUbr4MK7RSurX49IuwXs/+vyYEuS/vidxLprNcJwnxokZ 24tJJAu7zyBazt8WIrSYvA7XHI+GskTmgeRcl5cLet5O8yKFbstdE0q2zRCmqd/9v9up Bd9EppwdawBC89jwYaQL6U3L5uGvlUswm30aPQWr+ERLCCv+JHQApc54/ZDY3xM5aD61 IQ95aLIiIABncq9IZcrMo43oDGVP/5JCQyW5biR9N59j2nfRhqFvV6GtnfHLIe47qt3N ouH1VB/8TMgtC51yQarLIm6U7jvTHkUitlTYWBxsfMlxfS2jtzaVLn+WmOM93v+o7US+ BpwQ== X-Forwarded-Encrypted: i=1; AJvYcCWiES0wcWRw1bX+TTJL3V+EmDPv6nn0XltuJBWwwXjb5dGLY0rX/YLfkpjW6/Kc/Gz60YikAFImEhWVuo4=@vger.kernel.org X-Gm-Message-State: AOJu0YxK44BQiHbXxIEMBCp/k4lG2B3D2gqUQSeX7MsMY04NaEla0Rmv sqsgkywonLceewmnMHQDuK8oo0xDGbd7t9/BvLEVqw9uhrMsvp4gRklNH19aeYA= X-Gm-Gg: ASbGncsJ0zIWTzJPe23HhAqQD0HKj6AfuhBCb0pg7r0odE8+97g1Nen8XDXx3JsSdVu 9zhBk2mHNe8oz7HHIx0RenplfM4WsGnpbjngbxteEKhf1NANzuMlFnGNNpTZHzRXLLD4S4EmLov Tc0Js1gvBRT7/pLcNGRrFpdwEdvouQ7EoHmitaBRvnZhNMpMI4Sqs5NxS2dQPX/7hhee3tFdxlv A0RTgEzSyXfcvXZ2HTXatiwk8uLQ+DrsheZN+D3y9Ivz60CfZH14pTl8vHyMlQqtQnuFMMUvdzs iqAtH7NZvN85fX7vLSNuqvKRPnBCn0Sq0g== X-Google-Smtp-Source: AGHT+IGGp9KrMaDyRbIC/wTKqo5mY4JxnEPl4O+DeJ+ybSnTzA3m+DKpiJplqcNL8wwlCZUgExesLg== X-Received: by 2002:a05:6512:2347:b0:545:27f0:7b6f with SMTP id 2adb3069b0e04-5483912fc82mr11153371e87.11.1740623116670; Wed, 26 Feb 2025 18:25:16 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441742a0sm48067e87.5.2025.02.26.18.25.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 18:25:15 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 27 Feb 2025 04:25:09 +0200 Subject: [PATCH v3 1/7] dt-bindings: display: msm: mdp4: add LCDC clock and PLL source Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250227-fd-mdp4-lvds-v3-1-c983788987ae@linaro.org> References: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> In-Reply-To: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1289; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=nAUeCQaacPy4eDcat81zyQ4FPPYgERyNRUqIhBqqdZk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnv80G1AVXjPfLNQ8ur8MgA/B8hG0n9UdJwoFEA 3JcymoX9+mJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7/NBgAKCRCLPIo+Aiko 1UNWCAChp9UJAPMKWIwQHWroB0P5YvcwUfqq3siqgw9PBarSlLO0xCgLeBDo/2zRn2E+OHq7oxB EmRoXMsWHJwSDbHd8/uyWb66SkpVKZH+xtYPJyBTBj7it/qpWjOMK7EZM75sHAWwwTnGgaimA+a /cW/3uQeNEnukCV2+c6OzEV5W5tkVLvoMuvzzMcoraJPl4sTKCU5++fBGoSYx5ZgR+Wih7rOQ/C l8v7QSCRHn0omGtFc4ZyVSG/jdTn1bcAFVzUXf954MGo5XJwxeRwGPM4dTCFt4kD3iBzdMoSO1f Z+5iseXm/gQaIZ2W5cMZcQ5bKfMJYmBK4k8CM0b554psYjFr X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Add the LCDC / LVDS clock input and the XO used to drive internal LVDS PLL to MDP4 controller bindings. The controller also provides LVDS PHY PLL, so add optional #clock-cells to the device. Acked-by: Rob Herring (Arm) Signed-off-by: Dmitry Baryshkov --- Documentation/devicetree/bindings/display/msm/mdp4.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/display/msm/mdp4.yaml b/Docu= mentation/devicetree/bindings/display/msm/mdp4.yaml index 35204a2875795e2c1f7582c8fab227f8a9107ed9..03ee09faa335f332259b64a42ee= fa3ec199b8e03 100644 --- a/Documentation/devicetree/bindings/display/msm/mdp4.yaml +++ b/Documentation/devicetree/bindings/display/msm/mdp4.yaml @@ -18,9 +18,10 @@ properties: =20 clocks: minItems: 6 - maxItems: 6 + maxItems: 8 =20 clock-names: + minItems: 6 items: - const: core_clk - const: iface_clk @@ -28,6 +29,12 @@ properties: - const: lut_clk - const: hdmi_clk - const: tv_clk + - const: lcdc_clk + - const: pxo + description: XO used to drive the internal LVDS PLL + + '#clock-cells': + const: 0 =20 reg: maxItems: 1 --=20 2.39.5 From nobody Mon Feb 9 16:53:10 2026 Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) (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 DD1DA1B6D12 for ; Thu, 27 Feb 2025 02:25:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623122; cv=none; b=TrLfpNyzVkscQWpF/a6AROf8IRt0yEeQBPEpPpUSN1mjN+K//FMA/aOBMH/pjr+KOhZpcjIZfT4Ou7F2R7NnvkcOlhSQXXIDWXe13L7SIrMNV6ZSGBkDxAjXNyrl4YugGSQCHYrY0NpShPr/VmgRQcmH/47n6CiR+pLr0FwAE0Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623122; c=relaxed/simple; bh=ydZYZoA0TUi+Gh3S8eUOrsgEJcPFXVh59QDIeik/wpQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qd4ryYIA8IHbD6vTUsfpAEcB3R4G7wOcDgadGFfkTfi1rNTmu7WGKIo/Gq1GbXznEAgf+ETaby9g6pTx99WlSFP7kB8YIq23RFxy7wavT6o0wKawUe3FfDVVS92B55ew70tHtYWU+I6l/I/ZFRKP9a9dYl6M+uct4f9UPOUkE1s= 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=ZqFNocb2; arc=none smtp.client-ip=209.85.208.171 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ZqFNocb2" Received: by mail-lj1-f171.google.com with SMTP id 38308e7fff4ca-30b83290d39so4075351fa.0 for ; Wed, 26 Feb 2025 18:25:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740623119; x=1741227919; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nwMJpPPmQJzExGwtrw5qRSd6mRYkoPvcGAO5V9qYYKM=; b=ZqFNocb2k5qAzVZmByJuPIFHSjw2eZIPbxvu1rNlAPYMP8hXE4keqpJJ6FuYIFqA1n /nGRl1Kru8avYqAD1/6Nk8WEV97HATzBpzhTJ6Nx5OxxZzDL3EKjLJdXDvXL+hRFgkOP Uxs7YQfM4T+/z6LiCdSom+NPhNts3EXINDA5ke8+cgu6UAUBT6bzoD7xsNvGVrVlbDvM gKGxn0QerWfl+lmR3uuvrOXWzXaKouLGzZL9flQdE1xh32bXpZo/SRJQ9IancZUJx3r8 47vx21wDdO+d9zz2VdR0bebTIjTs1YSBUXq4H/PibrJNwEN0ZImn5UYjY8mIviLk8SrM qYhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740623119; x=1741227919; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nwMJpPPmQJzExGwtrw5qRSd6mRYkoPvcGAO5V9qYYKM=; b=QXFxDyFM04GlaSOJqOH5phJEaVR54yox3J93UuwojfyI+VcvyZmPK4xta+tXbQMgcX 3o2eXBX2q8dLZalhzJgq3NcCenYkDzBI1SUpAeAi0xD0B53go/vLbRQ6Dote+6P0uElK EwghGE9hVZZNknIlxG/S0s1OtaU9HSiJRPlXHDGoXSb2xdTrDNFRWVnRpF8kYiD5pAMA oXpopeDBGjaVXcBoQOINFzHs9Kn0glEy2vpaoW0EqjlboBzKDpE5SFWc6zlxiE+TTxRQ pw9hAHEYCMhSrF4Z1tT1ZZLZ5EUGakN9WYSm+v8196grdMFuIsltMwre8KqbAfbEpVzv T8Pw== X-Forwarded-Encrypted: i=1; AJvYcCWyPxGwSSSmk2j0lp7WcKw+EkAz6Jid9hoItHr998/yiBBivV8Cm2/reQy84vhCaaznGUILJk6hhL9+rDA=@vger.kernel.org X-Gm-Message-State: AOJu0YxfvuU138U2Z/3pOK64cPw6f5L28T/gYnpnVwCh0JsiCAAndDly x+W5VPMjGe2hCymqlxxb0378ifTmlgMBaCrRq7gYu5TkZGkl608QA8gKKbCijKw= X-Gm-Gg: ASbGnctpMnGB69qE8z0CkYgGkAz0ehY3/gPVmm9L8nV5jks+/2yZbWRwI/ULMzKEU1v 6POsHGcC0tzioc05v6vg4zqjX2V1+DkVEpBUm++AtVYeEqDdyL+RtbYc9RnLaFRZvzmnQIkE8z7 vI2oh5p31N5KlAUYm45IfG9AUzMat303u/oyQjFWRu1Tbl09FnfKoEJrPtlTO6zHNJXyg5SzLqm YYkcI8P5GHoHcFegxZrfmpy96kjstEOTz2EyinC4i1UYCorhKsKvPdWAqww5g1Z7lqLjS6xu0fF okXUk1ILWN6XVkiCeSG/hKavZ9is1Se0Rw== X-Google-Smtp-Source: AGHT+IFMFzSt2wsG3oOm+5w5wwMdb2DuK5Yp/Au+CFco5T/pzSUdUvjy0J4YD00jtRalqEX70RhAkA== X-Received: by 2002:a05:6512:200e:b0:548:794f:f9dd with SMTP id 2adb3069b0e04-548794ffb8cmr4463137e87.10.1740623119107; Wed, 26 Feb 2025 18:25:19 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441742a0sm48067e87.5.2025.02.26.18.25.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 18:25:17 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 27 Feb 2025 04:25:10 +0200 Subject: [PATCH v3 2/7] drm/msm/mdp4: drop mpd4_lvds_pll_init stub Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250227-fd-mdp4-lvds-v3-2-c983788987ae@linaro.org> References: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> In-Reply-To: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=983; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=ydZYZoA0TUi+Gh3S8eUOrsgEJcPFXVh59QDIeik/wpQ=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnv80GyadA2VzNwTHLQ/rRvBiE8jpMBgAfbiyde YCGRYQ0O/2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7/NBgAKCRCLPIo+Aiko 1ZDVB/90aFrmR5KOT95tmB3pWLZEsq87+yhuvUptiF1UJSOURslGc6sVg9ydUx9NCix6I56zEbW 3GyGXkGhjaQdfQhmFp7u32GGTj7dl9MzYhy+0vcprVXVPn3wkOfwYoL+ZP8j7EKEO0azkfZxNBo APuBMtzFjaX8PRcgo7MeQMyxLv5di8a/xaX5TF/0FE9FPAE3vnL4erAXNQvSqw1i/dUOr6BMqOs ysFDUPsAzvwcqlgqBgJav4+a2KJLzJrt2BDDeH+wsQ+b0SJ/koY1jFvs9pQR/VQ73GVc9rsWqjo G5DuZIKjsVNaD71Is+vFt/CQYparpNF4JOOIxVg1hnWhc2bD X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Drop the !COMMON_CLK stub for mpd4_lvds_pll_init(), the DRM_MSM driver depends on COMMON_CLK. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.h index 94b1ba92785fe55f8ead3bb8a7f998dc24a76f6a..142ccb68b435263f91ba1ab2767= 6e426d43e5d84 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -207,13 +207,6 @@ static inline struct drm_encoder *mdp4_dsi_encoder_ini= t(struct drm_device *dev) } #endif =20 -#ifdef CONFIG_COMMON_CLK struct clk *mpd4_lvds_pll_init(struct drm_device *dev); -#else -static inline struct clk *mpd4_lvds_pll_init(struct drm_device *dev) -{ - return ERR_PTR(-ENODEV); -} -#endif =20 #endif /* __MDP4_KMS_H__ */ --=20 2.39.5 From nobody Mon Feb 9 16:53:10 2026 Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.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 7AF641C07E6 for ; Thu, 27 Feb 2025 02:25:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623125; cv=none; b=WyKCh79Thn+MAxRWckhyIK1jtQX2xsuhw66ifstZ7HJqTrzqxmibJLYleYfBVId1TBIGAfqdGb539BDtEiUvrdFI1AeK8NbKGEdjYh7uA6hOfO1RI4D8+TeuNC3ujuQbE7QC6nrfmDqTUn2VClo8FVAxX5wrPb26LudnYOXAtOI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623125; c=relaxed/simple; bh=27+bBwIzCM8lHu2v6Fir13MzMlLQU6chggcqKIoU0MI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oq1ZFqX9GjKmVcYqY+5WGDr9WFcIuPKshzmvW1MDXur/m5Yu5alKMcKDTOd2O4dKNQxd+9leQw306V3OYt4ApVLOhBl6IhTDATpSx1U9RfFuJLDD4ZkIH1cJwylhdNZKJAaKRZ/h9AVmm6BAGpaYud22aK3jL0KlZczjlG6joGs= 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=W9wANFDo; arc=none smtp.client-ip=209.85.208.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="W9wANFDo" Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-30a303a656aso5140791fa.0 for ; Wed, 26 Feb 2025 18:25:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740623121; x=1741227921; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=xjMPSn3p+kKVaFgGwZAw2jpHs3L/eAAFrrWZof4s+cw=; b=W9wANFDoaAwcnML1oAliVynhMeEWmCo41zXTMNTecu9P2e9v31tLc7AfAiHB8tHBUP MWPmzmjYCsRDeYVodgTIQPBIPE8kruKC14Mi1rLRYMNP7/qr4Tnr3D0KTD1OamTS4koT p10y3jwxzIXuP1wIFijRxg22qPnEmdeZMMkg8NvsSkzB0BYC1Hvbq5VSdsh/EP1JInpN WtjUID2/WohR+S9Bve70nslxRI/LGYufvLWdZq/HS+UAY/mMSSBEkI1W/tjW/zBReJ3N 1oeYHETKZDINwXpKpZ3at8tCoeArHHR3fNi4lm6YQEn3ZyrBy7LBtB39y8jAnjCHXjSU 1fgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740623121; x=1741227921; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xjMPSn3p+kKVaFgGwZAw2jpHs3L/eAAFrrWZof4s+cw=; b=PVQuxPzpjg3GnFHDxSDwS6VK5olUOTlVqJxTWk3K3Z1doNkw9nwOfH4WiqqMm5gGSk IcJblmk/DI5IblS8LpMj2Do8aJM4VTgd9SURCD26FUVAsdtVm6dwOf80ZPvwEj4OcuVb MActA7+etT1Yiq3d62ZHBj5ibWqp8O53ubCNsSqQF6yVzlzzi0nnbVKrIVVQF/DmzCb9 mJ7acC36i/Bb/Th/NSqMNt33gSj/32DurqQzzJEpitkRUIFxdWTFXRgepEEu1Ux5PZR3 exeOsnv3DVi3T2ugmGY1Nfha2LLfT51/MkemigznY/ONmmv/9plzizJQjPxUglP0OFnm 4dzA== X-Forwarded-Encrypted: i=1; AJvYcCXqnaQMafLAlx4RIxAlBdxorNOLttb1E9+V3HIAKr4zi80dhxfHH7VOn00wrb4F140q7CM+ZMIQ+0wYfHQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzYFVHgPisWfYfV4u5ysunDChQSMKAkxMzUnr0l3+C3RI9McY17 iXmokYj6xA4MJe++7G3QhUpLozl5bCDAxrDof283M48FuHFHBqnWJOrQGYZUZoI= X-Gm-Gg: ASbGncvUSID2LjgcB1JfzdHhXu9AScfs4eE2Ju85SZS6v3Kk6+zgnHTF7zDLgGifEBl YoarBdVfLb5m3LHgBl9KJeoVTMvUi0BmXX+uJvlgvx6F1U92Hb5ifFH7zrr1yFS2LZC+vtG0Svp svHtvCDuWp1LoyKGZF1oYoyAKvUu8mwrIwvkbh0XHKs4A6qL28nNK5MgJHNJIA467/YhranVgCr A9ZBMO8lBiphlROvq4fsmNkkcQgcv+kJ2yk+7kssLXxmmc+2K3ugoG3BpwTmLXSKgTdi9HzEFav Eyml63STAuVGNEVGnT1+LRW7ebwPveWDsA== X-Google-Smtp-Source: AGHT+IH77YDGb3SZATx2bSqI54qqDb0dQOMQtl3AYNP1lYyp8xUbecwSvBjawn7myFKJmWOKcAzSAA== X-Received: by 2002:a05:6512:3c9c:b0:545:c23:9a9f with SMTP id 2adb3069b0e04-5483926338bmr11394006e87.44.1740623121569; Wed, 26 Feb 2025 18:25:21 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441742a0sm48067e87.5.2025.02.26.18.25.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 18:25:20 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 27 Feb 2025 04:25:11 +0200 Subject: [PATCH v3 3/7] drm/msm/mdp4: register the LVDS PLL as a clock provider Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250227-fd-mdp4-lvds-v3-3-c983788987ae@linaro.org> References: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> In-Reply-To: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3368; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=27+bBwIzCM8lHu2v6Fir13MzMlLQU6chggcqKIoU0MI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnv80Gt/5nSvJtT/vlFx8Una3vhVbTV9fge9Jhj jIZmIOXNPCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7/NBgAKCRCLPIo+Aiko 1Zw0B/0X9T9NpQIFhPxEgci4pkI3GQTWUb6qpGsk+NLJ+A1v4NgpUypKdVr6srLGtwcdZp9i23h SfSAwiTWE/idrluzIasJ4sQsQ9f47F5gCpWRexmttiwyxpVcqLDGLcRYAsf3cQ/EgRAX0zV5cvO Kgy5Vk21qsHpeb8IAuDgsMg4Zb+DZUhYt1Eo+Pl2rOGmXdG28FirbFGS30IwPlvlRiCHaMjZwpu 4VBIGuT0UUjf+YG2UL7uIKH56gpgkMQC07+VlNui77Q07EOWZ+bQOX1o5TMu0qctVaLs6M5DcpS zWMcqMFEDrW91UvPDrvkDkmXXnsV/QgCWDnIsVV/BSEJP6Gy X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A The LVDS/LCDC controller uses pixel clock coming from the multimedia controller (mmcc) rather than using the PLL directly. Stop using LVDS PLL directly and register it as a clock provider. Use lcdc_clk as a pixel clock for the LCDC. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 2 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 8 +++++++- drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c | 22 +++++++------------= --- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.h index 142ccb68b435263f91ba1ab27676e426d43e5d84..b8bdc3712c73b14f3547dce3439= a895e3d10f193 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -207,6 +207,6 @@ static inline struct drm_encoder *mdp4_dsi_encoder_init= (struct drm_device *dev) } #endif =20 -struct clk *mpd4_lvds_pll_init(struct drm_device *dev); +int mpd4_lvds_pll_init(struct drm_device *dev); =20 #endif /* __MDP4_KMS_H__ */ diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gp= u/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index 8bbc7fb881d599e7d309cc61bda83697fecd253a..db93795916cdaa87ac8e61d3b44= c2dadac10fd9e 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c @@ -381,7 +381,13 @@ struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_= device *dev, drm_encoder_helper_add(encoder, &mdp4_lcdc_encoder_helper_funcs); =20 /* TODO: do we need different pll in other cases? */ - mdp4_lcdc_encoder->lcdc_clk =3D mpd4_lvds_pll_init(dev); + ret =3D mpd4_lvds_pll_init(dev); + if (ret) { + DRM_DEV_ERROR(dev->dev, "failed to register LVDS PLL\n"); + return ERR_PTR(ret); + } + + mdp4_lcdc_encoder->lcdc_clk =3D devm_clk_get(dev->dev, "lcdc_clk"); if (IS_ERR(mdp4_lcdc_encoder->lcdc_clk)) { DRM_DEV_ERROR(dev->dev, "failed to get lvds_clk\n"); return ERR_CAST(mdp4_lcdc_encoder->lcdc_clk); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c b/drivers/gpu/dr= m/msm/disp/mdp4/mdp4_lvds_pll.c index ab8c0c187fb2cd05e26f5019244af15f1b2470c8..cbd154c72e44c848fa65fe01d84= 8879b9f6735fb 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c @@ -133,29 +133,21 @@ static struct clk_init_data pll_init =3D { .num_parents =3D ARRAY_SIZE(mpd4_lvds_pll_parents), }; =20 -struct clk *mpd4_lvds_pll_init(struct drm_device *dev) +int mpd4_lvds_pll_init(struct drm_device *dev) { struct mdp4_lvds_pll *lvds_pll; - struct clk *clk; int ret; =20 lvds_pll =3D devm_kzalloc(dev->dev, sizeof(*lvds_pll), GFP_KERNEL); - if (!lvds_pll) { - ret =3D -ENOMEM; - goto fail; - } + if (!lvds_pll) + return -ENOMEM; =20 lvds_pll->dev =3D dev; =20 lvds_pll->pll_hw.init =3D &pll_init; - clk =3D devm_clk_register(dev->dev, &lvds_pll->pll_hw); - if (IS_ERR(clk)) { - ret =3D PTR_ERR(clk); - goto fail; - } + ret =3D devm_clk_hw_register(dev->dev, &lvds_pll->pll_hw); + if (ret) + return ret; =20 - return clk; - -fail: - return ERR_PTR(ret); + return devm_of_clk_add_hw_provider(dev->dev, of_clk_hw_simple_get, &lvds_= pll->pll_hw); } --=20 2.39.5 From nobody Mon Feb 9 16:53:10 2026 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) (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 E4D2E1C8622 for ; Thu, 27 Feb 2025 02:25:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623129; cv=none; b=cCK56r5YmeiyBo2oqIgnDkqO1/wxFyBXR8RcSM7Dv2ZjycCOj88T79ee7bYeENqPZlkK0XOgVLI/3It+NKOt84U1kS7KWS5Gsnnz0+JkP0+ZnQyH6LLpqW7wuEGj3rv7Gn9CaiQHgy0jgehVJ4afQBM49a9uNfoA/KChlk6J/4I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623129; c=relaxed/simple; bh=RyZRLS8pZm8hoJDU+OVp+AAZeLhFhiibO05/Oz7CvDI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QcUP7spr9JBbRMEoY27dt7Tkfk98FFsc9BIow0IDODCVGd1t9OagwCbkLrvHo3cfVADpnrAlfe+8PwulmHJBsLi6kCgrkTGuSfd1Z7ZH3/02yB36UdiXE8rVpOkHYzqNT9qaDeyzmp9gV4/PSyI5sNF7/EB8l4CqXiE4HFojdmY= 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=uurGyW6K; arc=none smtp.client-ip=209.85.167.45 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="uurGyW6K" Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-54843052bcdso356887e87.1 for ; Wed, 26 Feb 2025 18:25:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740623124; x=1741227924; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4ouKK+P8Bp77QlLVV+lTMqGiv9R+6akFjSocFKtf2Jk=; b=uurGyW6KnR+p2Od28nIZoja6NRL02b5Y+fSueVYdKXTgrnV/OgpA7wSMXH4LU1JD+m Anntv9hvogvPxNbPALtHQvxIZoI9S8+3SSmliihR4Q3tZRpPAjLcacFjCkB2VxLFkzlJ 9GewUaLLLurKqEIw55w/gpfnt6avKvynDEY94MqySqf0X8XwKc5fkzMS25/9XQMi2h9J q9X0cJbuaFjvWc8NhNcgemI5QC9OGJCLk5JQsN55pU+tnooDk7BV+m/8ZiG0fQn0F7th /1aGcOlu8A9KUn5spxDbwNvKYuGxHg4JKC5SnL0zFqEB/7jAAa4HSTyLJhVGMa5wmIHF hO/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740623124; x=1741227924; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4ouKK+P8Bp77QlLVV+lTMqGiv9R+6akFjSocFKtf2Jk=; b=be7tGNzAjZ5jBFq0KnM/1q9LvfsjcNdF6MK0NUB9Yh2lADB772BY/fp7ikLE+fTiir 3pRf4e0so3aIKR00kd+5eCWh7fMrB6y5ZaaHRDwAIbldDrvoDo+nmgSytn85AUzR0S7S use8Aauh1JKANDf3QDha+eO3mw8CWC9Rl7n6/dO0yvVP0V6K2FWhDysdwjmQhV4PcGxx t+0wBygyRbBisk8V6ljKs4o8lPV8LJxhUGSxSEDLkT6vdcuc0Y1JfFBT2MOCbDtgl+I5 H7OO5VCwGOzxzUzMbbPJFC7Pv8dhYlLJn0PF96Gydi57egDh2ichGVRri9C7FmcORdT+ ZsDg== X-Forwarded-Encrypted: i=1; AJvYcCWosUKL1Spg1F4HLfgxxIZc49405OJCNf0a/WSqu4qVP2Ybj2kHVmqvRU/QCu9DuQprgQ1BInpGGiFSm6I=@vger.kernel.org X-Gm-Message-State: AOJu0Yxv/ECpZnq3VfhdS/12m5xbTYGMxNDtYcfz3N5lQqQ3NCWeemmJ oqcIDd18jtkU0a8P/jFghyPLSP/ylUdH5zRxwmQUQuBEmbFxnhTNGLaadaswrPo= X-Gm-Gg: ASbGnctoLIMsygp3lA8JNKWElakyuS7ZTNczTX3PKzSPXtkFsIG4JMGzfAjP3ltb/5m T66uIABTSvCXWYbdwp7bi6pEQFvpAKtHrO2JkJa4Q4sQJsSgWQVak2chlOHQ8VVaNWfXhGpOjF0 ev528CPO+W6Ue/bkxTsIwgaQEr56IyyWFftPdJfuEsAAaY2bSXV0qst/Y2sSuI30vFsxSn4MIMl +cQXoJXhdDSy8Qa0mg4JdNIBn2mAdXUgVRELFqSirxaLcHL5RYrc9yObQ3bq8PR+GgOqPfN2/c1 ufJEngOMXNGQuO25LjYR1v+nIg08JJUGmA== X-Google-Smtp-Source: AGHT+IGw8901cx7jCW8IdagRI7moWHr/MMfNM5yDe+5tE18iV9njnk83dC4KRsquOX1KAt/AJwgQyg== X-Received: by 2002:a05:6512:3053:b0:546:2f44:ee99 with SMTP id 2adb3069b0e04-548510d68fbmr6201726e87.17.1740623123953; Wed, 26 Feb 2025 18:25:23 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441742a0sm48067e87.5.2025.02.26.18.25.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 18:25:22 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 27 Feb 2025 04:25:12 +0200 Subject: [PATCH v3 4/7] drm/msm/mdp4: use parent_data for LVDS PLL Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250227-fd-mdp4-lvds-v3-4-c983788987ae@linaro.org> References: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> In-Reply-To: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1213; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=RyZRLS8pZm8hoJDU+OVp+AAZeLhFhiibO05/Oz7CvDI=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnv80HC1H31A21mg4pym4gsBNuP+Y0XPTOg2WqT WP81odVunCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7/NBwAKCRCLPIo+Aiko 1bN2B/4+9AgpU9l9qzAXAQxbcg+hLFdSjQXilior66+rMZDVFalCW9/W3knGRJVNzfacf2hDInD j9l325E0ZCZR1eVT0PXx9CaGTuKokn/6FTCRGnk/YYWG407FY+wlntoX9fObr7ED8+WHRcafZtx k9gjzwnEDAym1/FoHs1XpDh4a/856niPt8lgRzoxEu6bA95Z3ko8DD9iomDdDT2itq++sevwF0N 1QhipfDTUGvODMu/xumMe54Yup2nSs/dwosAzUGm2krQthWKpXy4RH01jIMhXOSXu81lVlQ4wPg VAHGB8kgtUGZ5IVJY7DzCQfDdvTTRU6ydn3L9tQNfMO2Tla4 X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Instead of using .parent_names, use .parent_data, which binds parent clocks by using relative names specified in DT in addition to using global system clock names. Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c b/drivers/gpu/dr= m/msm/disp/mdp4/mdp4_lvds_pll.c index cbd154c72e44c848fa65fe01d848879b9f6735fb..a99bf482ba2c02e27a76341ae45= 4930a13c8dd92 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c @@ -122,14 +122,14 @@ static const struct clk_ops mpd4_lvds_pll_ops =3D { .set_rate =3D mpd4_lvds_pll_set_rate, }; =20 -static const char *mpd4_lvds_pll_parents[] =3D { - "pxo", +static const struct clk_parent_data mpd4_lvds_pll_parents[] =3D { + { .fw_name =3D "pxo", .name =3D "pxo", }, }; =20 static struct clk_init_data pll_init =3D { .name =3D "mpd4_lvds_pll", .ops =3D &mpd4_lvds_pll_ops, - .parent_names =3D mpd4_lvds_pll_parents, + .parent_data =3D mpd4_lvds_pll_parents, .num_parents =3D ARRAY_SIZE(mpd4_lvds_pll_parents), }; =20 --=20 2.39.5 From nobody Mon Feb 9 16:53:10 2026 Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (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 6EC1F270036 for ; Thu, 27 Feb 2025 02:25:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623130; cv=none; b=eB+6Ds3NC6eB0vjelF8F9V6fuJ4i42FDpm0r7wwGSjLOg3PbxNys99dCVrLjHhxdqeV+QrCSP/Bqq4HPytI4vWsgxgLFREpLlcfvFVtIJ4eqoBADCpzEz6hwCJ7zQypVdgQS6u2iqUq4bp9EcTt/P1q3HZ9NaXFhOPc8bTu0eSE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623130; c=relaxed/simple; bh=9z1p16IGdhhxiTm15wIHhYzKoRC0TrBbMnzmOx4bB8I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W7vjkDqvsA4eCMXoxg/L0KX9Usj3bzLW2UqqxGdjGHEXOTfNv+snaNA5xNxeEOIDWEz3QNLrUQ+KptL+Bc+cDbgRCL8GEMo+12evvSOIzfu/4mNJl3trT93p3nrXOeo7Eq7x6pNEUQYbqXE347M8lLD3X6QpDgjkGnOBhQhgNu4= 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=oio0O6K8; arc=none smtp.client-ip=209.85.167.42 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="oio0O6K8" Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-547bcef2f96so444341e87.1 for ; Wed, 26 Feb 2025 18:25:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740623126; x=1741227926; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=E18tpw+zq+SBOUnMq7VeJ2wmflhlIp1Qicz+wQlS2Sw=; b=oio0O6K8cQOXpBEUS0ld8Ekg+nxugLAcKikUxgfWBrIJw0c8Y5rbW0r6pJ1Kv8aAE8 xEBKFFGyfRVdLyLsZ36yjFMudTZTUMNnDlJUoZWEUMYy1VHe6RBsmAlXUNNh6g0UdpYW RnbBliIbi3Qg0AONKsKT1d71FLFcux0Hx92o1GGICtrWyP+9Bejkcxbq+rgwC/Mo+G+B ePazZsV1YUXz8fTvJ7BHF1A2y92fBVuSTF6WKjlkx8vax8FOVEANCXGS80XqWWfFo5P+ 4OB5yNTdsbpWNg6/I5sxQp2i1LDwh1tYFEbGUNTH/vEPjn4/tGAQmdXAzSRM6S0BRrfD N54Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740623126; x=1741227926; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=E18tpw+zq+SBOUnMq7VeJ2wmflhlIp1Qicz+wQlS2Sw=; b=DXAVHVTiyQg3iRqArSSc59GzzsNwt1n0zSJRnXjd+J+H5+CjyFPdGMHksv7PDcxYfq cCZyb/NcBju4Y9JrqcVMg9w4BoCb8KyBlj1dYTjQClSbjnzz3d696i4jFapE/5SuuAYV p6Mh0sQiz8kovzwDHdZKOneZd5KYcwtiSs+HkhOKTjHqTcuoWEOgCrD7Pwz9sC5HpZJ6 F37BxKw4XZnQkqNWwauyFHCpOlkLUm4xxtQgunlXbRulRKtca8XkFNohuhVOjCXr4DU3 TBgm1KJZyPW9VqIULzUka6gGlPhcEDAu1p0spszmEWTKCr4CJuJpKJnCPIc4O7M57LAX zwXA== X-Forwarded-Encrypted: i=1; AJvYcCXK72cxlnOQxISzp1hYQ3z0WQlabVaScnE0koeIvq+2sCZ5qWzYriyJJ9uPWyyA/r6ZYAcpLQaZb0U33fU=@vger.kernel.org X-Gm-Message-State: AOJu0Yyoam+a51Yp8ceJZtkMoTJcXKk9Z5ZFHk82ve7v6rlNLpp0/L2d XL7JiQltVyQpgWJlZRSkzF15gTaoZcrKwJBVHT9ghcDfUlA57yR8QbFC9myzy08= X-Gm-Gg: ASbGncuH3NIZXapmwpBj+1bh7Y9uFwc+veXWtDoLsqwsgj27hHQ0MdI5ZlUA5OzVVen LP/zQTqwZd+R8cZcswjqGujp4J4MF3W2fLCGqpKhqwjBwA8fti8jAJ5kbv4NYBxrQXbiqU7RBfp n1JUCVXkGQF8ZwQibh5Iwl+w35KefQ2aoaiTbR9J0OxNHLBN2JEwmAdLf6wYULbDMcjKDJuKOZt FckEnKNCJ2YsjzRnixmMVeMGeDX5i1nFFC38yotLmEnVW6QFODTr6JenwpZLSXAXskcQF/rENGp moN8e/rdfMg4ZWFG4hY/ivaECC3XIqqeMA== X-Google-Smtp-Source: AGHT+IH6JvW63owJyZ1PeivaBeeBGjJMDrOP0137MVcsa3BSvMkJ++/F3s9OT2J6ygpsST5S+eTgWg== X-Received: by 2002:a05:6512:3b22:b0:545:60b:f38b with SMTP id 2adb3069b0e04-54838edd919mr10462109e87.8.1740623126477; Wed, 26 Feb 2025 18:25:26 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441742a0sm48067e87.5.2025.02.26.18.25.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 18:25:25 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 27 Feb 2025 04:25:13 +0200 Subject: [PATCH v3 5/7] drm/msm/mdp4: move move_valid callback to lcdc_encoder Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250227-fd-mdp4-lvds-v3-5-c983788987ae@linaro.org> References: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> In-Reply-To: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4330; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=9z1p16IGdhhxiTm15wIHhYzKoRC0TrBbMnzmOx4bB8I=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnv80H9mWNP5xm0U518aEA7MFJlLbfnScNOLNek 6ngfP55A2CJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7/NBwAKCRCLPIo+Aiko 1TS4B/4jhTAUlM4rgtB8XhTYa1IaFlN4nD5YNisfDQe3RWIPeYXqasBrLgy3wsErfrpwSgbwk9Z dqw1eQFoMXtsQY5rCvEBgyDOyUwen61/QK9vPLoCKjkWlZi/9v5zHT3YMX7V2UaqjZb29UTSuNN 9KdTVUxqtgOYBzGLe7W3IMI5YtBGFuVe+21N2/q3WZ1ddbaFYbYuSCMcbym4iC42bZctMjHTmm7 wxgXY/Ny8i5fCoeiew39A6P4vYGvzigO2bJDaPFEAFI4yfVw8lpC25+5w1Yi03d2WZv/mmnJMeO 9y53Z/5Yh/8tu/PRj6tzTwc+b9VtXnp11bYtMffN9wgXQ4eD X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A We can check the LCDC clock directly from the LCDC encoder driver, so remove it from the LVDS connector. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 1 - drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 27 ++++++++++++++++--= ---- .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 21 ----------------- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.h index b8bdc3712c73b14f3547dce3439a895e3d10f193..e0380d3b7e0cee99c4c376bf636= 9887106f44ede 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -191,7 +191,6 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, long mdp4_dtv_round_pixclk(struct drm_encoder *encoder, unsigned long rate= ); struct drm_encoder *mdp4_dtv_encoder_init(struct drm_device *dev); =20 -long mdp4_lcdc_round_pixclk(struct drm_encoder *encoder, unsigned long rat= e); struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, struct device_node *panel_node); =20 diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gp= u/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index db93795916cdaa87ac8e61d3b44c2dadac10fd9e..cfcedd8a635cf0297365e845ef4= 15a8f0d553183 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c @@ -348,19 +348,32 @@ static void mdp4_lcdc_encoder_enable(struct drm_encod= er *encoder) mdp4_lcdc_encoder->enabled =3D true; } =20 +static enum drm_mode_status +mdp4_lcdc_encoder_mode_valid(struct drm_encoder *encoder, + const struct drm_display_mode *mode) +{ + struct mdp4_lcdc_encoder *mdp4_lcdc_encoder =3D + to_mdp4_lcdc_encoder(encoder); + long actual, requested; + + requested =3D 1000 * mode->clock; + actual =3D clk_round_rate(mdp4_lcdc_encoder->lcdc_clk, requested); + + DBG("requested=3D%ld, actual=3D%ld", requested, actual); + + if (actual !=3D requested) + return MODE_CLOCK_RANGE; + + return MODE_OK; +} + static const struct drm_encoder_helper_funcs mdp4_lcdc_encoder_helper_func= s =3D { .mode_set =3D mdp4_lcdc_encoder_mode_set, .disable =3D mdp4_lcdc_encoder_disable, .enable =3D mdp4_lcdc_encoder_enable, + .mode_valid =3D mdp4_lcdc_encoder_mode_valid, }; =20 -long mdp4_lcdc_round_pixclk(struct drm_encoder *encoder, unsigned long rat= e) -{ - struct mdp4_lcdc_encoder *mdp4_lcdc_encoder =3D - to_mdp4_lcdc_encoder(encoder); - return clk_round_rate(mdp4_lcdc_encoder->lcdc_clk, rate); -} - /* initialize encoder */ struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, struct device_node *panel_node) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c b/drivers/= gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c index 52e728181b523cc3380d7718b5956e7e2dbd4cad..4755eb13ef79f313d2be088145c= 8cd2e615226fe 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c @@ -56,26 +56,6 @@ static int mdp4_lvds_connector_get_modes(struct drm_conn= ector *connector) return ret; } =20 -static enum drm_mode_status -mdp4_lvds_connector_mode_valid(struct drm_connector *connector, - const struct drm_display_mode *mode) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - struct drm_encoder *encoder =3D mdp4_lvds_connector->encoder; - long actual, requested; - - requested =3D 1000 * mode->clock; - actual =3D mdp4_lcdc_round_pixclk(encoder, requested); - - DBG("requested=3D%ld, actual=3D%ld", requested, actual); - - if (actual !=3D requested) - return MODE_CLOCK_RANGE; - - return MODE_OK; -} - static const struct drm_connector_funcs mdp4_lvds_connector_funcs =3D { .detect =3D mdp4_lvds_connector_detect, .fill_modes =3D drm_helper_probe_single_connector_modes, @@ -87,7 +67,6 @@ static const struct drm_connector_funcs mdp4_lvds_connect= or_funcs =3D { =20 static const struct drm_connector_helper_funcs mdp4_lvds_connector_helper_= funcs =3D { .get_modes =3D mdp4_lvds_connector_get_modes, - .mode_valid =3D mdp4_lvds_connector_mode_valid, }; =20 /* initialize connector */ --=20 2.39.5 From nobody Mon Feb 9 16:53:10 2026 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) (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 D2A1C1D7995 for ; Thu, 27 Feb 2025 02:25:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623133; cv=none; b=lcme0i8M7kh9oH+TpfakthZ1oXAMIhgVamPTDHhoTw/V2IgH2Y8BOISwJSoKVB3JO43cXZaGjU1w81sQS8guOVczZL1LVH7Z8oeMp8JZZvkV81l3bWeiS4IV3jbSsxvAE8fRFXQoUoKIXSul6KYVcC9UZP9sF7y8aSpsi1BB8K0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623133; c=relaxed/simple; bh=90eJnitNHrEK/bHG/5dquibI/K0ZaJ2fO88HjDQ4Cno=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UqRf8msXBRglMkXTaslUC6fzGSP4bdsMdZMdBwBdqq83Q8vlPEFOuYB74fir2KzUO70GGU4Mjk8uZ7rapaD5wf0FPYdLRu5UVPFGJi9yx234v4MydE+rbcWn4Xzzm4ksN6JuFLmiIS6XXZVt0e+opjQYhaGLD6ZhAun0O0i+Z80= 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=evzKn7iW; arc=none smtp.client-ip=209.85.167.50 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="evzKn7iW" Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-5462ea9691cso413979e87.2 for ; Wed, 26 Feb 2025 18:25:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740623129; x=1741227929; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=B+FSEAZwM3JMz4x3mQU5rxG2ANMYWACSorMBKNolQMw=; b=evzKn7iWWbKrv3+wYZ9ISmzGdzYUCIaN0Q24hjEiwU5rUrydoQOxXtaJFrjojTWIZX 8Ca/e2vev2ar3bHoZDq6a+IgptdjG6uzXsprebrfy9E7m1bIh/nAkMIG1cyoQHin0W0N cMxLcCmvcAHn31wDacEFiEeVG9UcLW+ScId9el96B6RJ0gF2yAPJwWAgsaBy2Wgh48E0 17x3l3jKXv/hrjPQN2NZcA6ebtvk3CcCE7FIVG+mKZ/5k3VbyuufUmdQLeKdOR2e8WMN jr8b5Zqk9InacnHLqkpSsypTwf5bZyQOUX3UfhPyeDSw2szkAzo4v/g+Lw+vBF6SbNFe Aw2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740623129; x=1741227929; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B+FSEAZwM3JMz4x3mQU5rxG2ANMYWACSorMBKNolQMw=; b=Mz3dv3PODzv5BguQkcgL0TMdYVvgFwI7DpSudR9NXrqWqXeLaTAFxnHM5XefHXQi1i t4GogMRfQyxBcjzBFq0j9HD8cmtjdCfNc4YTT+4ss78Zueus8fRr6KjifHaXE7x6K/cQ QhgiFrTkrvawWqiciQWi7DvENwTfyLwPQ0MHbahNVizV/ordSSscrDkxcRo24LjwKVoG Y7jTRWFRecfYhorD/dsqptHw8pJMGWBCc9aMooFKGZIQ1r7Q+IrEkIejMj9f1d+CxNh5 sEG18eK4fZEzfASqAzsgXri5tq+sSDnH1fL8kX1+c4pIxUy+tkGDRqnWklz7cCuJrHfZ O7Bw== X-Forwarded-Encrypted: i=1; AJvYcCVBxfI6+PCReTORiHY+foxFlvOoifvNjztnm26yd06NGlrclrmr0vxyI2N7pYK2Q2u+osX+qZIzjnKGXvc=@vger.kernel.org X-Gm-Message-State: AOJu0YzPsR7bgMATTQaGmC75lg/DVMbGy2DtAQo4SeF+7hVLIXo1kQ3l TZ7DdKd/jbfVgZedLr9vkxWmt/xxVARnk2eFTKJNEJAxQXL3Yt8hvIQnRcq8xnE= X-Gm-Gg: ASbGncsET2DTxFJnSSAWy3pepo8i/56kNBN4umlIFE6JtSb37x/pw6f4eChYq66TZ06 LYQmOUFMsmvH6vCDYbMVo8o1ZfT9Qy0wr196/pru52vBk/0lxD7wZxXFppUAWeaLV4SPf1/ibRp FMYHYDzFPTI80bqw2G1fgf1sgpY5qtJWce5B+36mU5yADdcR/0UzbgkL7drKPRwGQvh7EkzI+JY MLJ1chk3859b1fflfbwh4EAabdFbCknTgJaeDa7iFuWP9x2N3iG+ueGMEQGN/v0AOagtJuRG0gj UO0taiX8Dzt0DTYeSjVfgyVxdqgLlLLcxw== X-Google-Smtp-Source: AGHT+IEb02nQavOXOTZLj5r926nspuygodhMvivWQgeNEa/oOtFENkgYUEcxBrvNe4iEFFoz5pWyvg== X-Received: by 2002:a05:6512:3e05:b0:546:2ea9:6666 with SMTP id 2adb3069b0e04-5493c5b8deemr4087543e87.34.1740623128921; Wed, 26 Feb 2025 18:25:28 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441742a0sm48067e87.5.2025.02.26.18.25.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 18:25:27 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 27 Feb 2025 04:25:14 +0200 Subject: [PATCH v3 6/7] drm/msm/mdp4: switch LVDS to use drm_bridge/_connector Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250227-fd-mdp4-lvds-v3-6-c983788987ae@linaro.org> References: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> In-Reply-To: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=10669; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=90eJnitNHrEK/bHG/5dquibI/K0ZaJ2fO88HjDQ4Cno=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnv80HoeWx66fTPOHWuISqj9RZhIfWub/BXusDs jnSIEMTdsaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7/NBwAKCRCLPIo+Aiko 1d36CACuMr+t63zgWn7+j7zED/ci+Ofhu2ZBQ/evQCDyDnZRiO8fm4YEz7lHFXz9Rtv5/7JJcO1 ezS2i1Htlm/LUrkgEJI5s3nXeFhCJ3bHJR2OsWLp0pZSkPPSwt9YXOCAOl/kMLyn/vy9iMBLRxs LIiO2HcLyQ3YqjL20YV6wQ9x81NmHdkCQG6tHWXucqev+WFfB4hP6QK+AxHq/0/wtQ+CMBg/w2/ oi62xsA6tVY7sA8DhLHF/Fz8OL9laAb5l9b8TaLDFutPTs+kSU2VKxyaPyIatg0m0CJFp6HeRPV vFsUfWwxonoFOyPMsvRd4JAt5foNYVpHGF5V95qmPyfSU2sT X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A LVDS support in MDP4 driver makes use of drm_connector directly. However LCDC encoder and LVDS connector are wrappers around drm_panel. Switch them to use drm_panel_bridge/drm_bridge_connector. This allows using standard interface for the drm_panel and also inserting additional bridges between encoder and panel. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/Makefile | 1 - drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 34 +++++-- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 6 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 20 +---- .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 100 -----------------= ---- 5 files changed, 28 insertions(+), 133 deletions(-) diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index 5df20cbeafb8bf07c825a1fd72719d5a56c38613..7a2ada6e2d74a902879e4f12a78= ed475e5209ec2 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -48,7 +48,6 @@ msm-display-$(CONFIG_DRM_MSM_MDP4) +=3D \ disp/mdp4/mdp4_dsi_encoder.o \ disp/mdp4/mdp4_dtv_encoder.o \ disp/mdp4/mdp4_lcdc_encoder.o \ - disp/mdp4/mdp4_lvds_connector.o \ disp/mdp4/mdp4_lvds_pll.o \ disp/mdp4/mdp4_irq.o \ disp/mdp4/mdp4_kms.o \ diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.c index 689e210660a5218ed1e2d116073723215af5a187..93c9411eb422bc67b7fedb5ffce= 4c330310b520f 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -6,6 +6,8 @@ =20 #include =20 +#include +#include #include =20 #include "msm_drv.h" @@ -189,7 +191,7 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *mdp4= _kms, struct msm_drm_private *priv =3D dev->dev_private; struct drm_encoder *encoder; struct drm_connector *connector; - struct device_node *panel_node; + struct drm_bridge *next_bridge; int dsi_id; int ret; =20 @@ -199,27 +201,43 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *md= p4_kms, * bail out early if there is no panel node (no need to * initialize LCDC encoder and LVDS connector) */ - panel_node =3D of_graph_get_remote_node(dev->dev->of_node, 0, 0); - if (!panel_node) - return 0; + next_bridge =3D devm_drm_of_get_bridge(dev->dev, dev->dev->of_node, 0, 0= ); + if (IS_ERR(next_bridge)) { + ret =3D PTR_ERR(next_bridge); + if (ret =3D=3D -ENODEV) + return 0; + return ret; + } =20 - encoder =3D mdp4_lcdc_encoder_init(dev, panel_node); + encoder =3D mdp4_lcdc_encoder_init(dev); if (IS_ERR(encoder)) { DRM_DEV_ERROR(dev->dev, "failed to construct LCDC encoder\n"); - of_node_put(panel_node); return PTR_ERR(encoder); } =20 /* LCDC can be hooked to DMA_P (TODO: Add DMA_S later?) */ encoder->possible_crtcs =3D 1 << DMA_P; =20 - connector =3D mdp4_lvds_connector_init(dev, panel_node, encoder); + ret =3D drm_bridge_attach(encoder, next_bridge, NULL, DRM_BRIDGE_ATTACH_= NO_CONNECTOR); + if (ret) { + DRM_DEV_ERROR(dev->dev, "failed to attach LVDS panel/bridge: %d\n", ret= ); + + return ret; + } + + connector =3D drm_bridge_connector_init(dev, encoder); if (IS_ERR(connector)) { DRM_DEV_ERROR(dev->dev, "failed to initialize LVDS connector\n"); - of_node_put(panel_node); return PTR_ERR(connector); } =20 + ret =3D drm_connector_attach_encoder(connector, encoder); + if (ret) { + DRM_DEV_ERROR(dev->dev, "failed to attach LVDS connector: %d\n", ret); + + return ret; + } + break; case DRM_MODE_ENCODER_TMDS: encoder =3D mdp4_dtv_encoder_init(dev); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.h index e0380d3b7e0cee99c4c376bf6369887106f44ede..306f5ca8f810aaeecea56e74065= 933bbffcb67ec 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -191,11 +191,7 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, long mdp4_dtv_round_pixclk(struct drm_encoder *encoder, unsigned long rate= ); struct drm_encoder *mdp4_dtv_encoder_init(struct drm_device *dev); =20 -struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, - struct device_node *panel_node); - -struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, - struct device_node *panel_node, struct drm_encoder *encoder); +struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev); =20 #ifdef CONFIG_DRM_MSM_DSI struct drm_encoder *mdp4_dsi_encoder_init(struct drm_device *dev); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gp= u/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index cfcedd8a635cf0297365e845ef415a8f0d553183..a4f3edabefbd06286bfb8fbcd7f= 8c0a4281e5ef1 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c @@ -14,7 +14,6 @@ =20 struct mdp4_lcdc_encoder { struct drm_encoder base; - struct device_node *panel_node; struct drm_panel *panel; struct clk *lcdc_clk; unsigned long int pixclock; @@ -262,19 +261,12 @@ static void mdp4_lcdc_encoder_disable(struct drm_enco= der *encoder) struct mdp4_lcdc_encoder *mdp4_lcdc_encoder =3D to_mdp4_lcdc_encoder(encoder); struct mdp4_kms *mdp4_kms =3D get_kms(encoder); - struct drm_panel *panel; =20 if (WARN_ON(!mdp4_lcdc_encoder->enabled)) return; =20 mdp4_write(mdp4_kms, REG_MDP4_LCDC_ENABLE, 0); =20 - panel =3D of_drm_find_panel(mdp4_lcdc_encoder->panel_node); - if (!IS_ERR(panel)) { - drm_panel_disable(panel); - drm_panel_unprepare(panel); - } - /* * Wait for a vsync so we know the ENABLE=3D0 latched before * the (connector) source of the vsync's gets disabled, @@ -300,7 +292,6 @@ static void mdp4_lcdc_encoder_enable(struct drm_encoder= *encoder) to_mdp4_lcdc_encoder(encoder); unsigned long pc =3D mdp4_lcdc_encoder->pixclock; struct mdp4_kms *mdp4_kms =3D get_kms(encoder); - struct drm_panel *panel; uint32_t config; int ret; =20 @@ -335,12 +326,6 @@ static void mdp4_lcdc_encoder_enable(struct drm_encode= r *encoder) if (ret) DRM_DEV_ERROR(dev->dev, "failed to enable lcdc_clk: %d\n", ret); =20 - panel =3D of_drm_find_panel(mdp4_lcdc_encoder->panel_node); - if (!IS_ERR(panel)) { - drm_panel_prepare(panel); - drm_panel_enable(panel); - } - setup_phy(encoder); =20 mdp4_write(mdp4_kms, REG_MDP4_LCDC_ENABLE, 1); @@ -375,8 +360,7 @@ static const struct drm_encoder_helper_funcs mdp4_lcdc_= encoder_helper_funcs =3D { }; =20 /* initialize encoder */ -struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, - struct device_node *panel_node) +struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev) { struct drm_encoder *encoder; struct mdp4_lcdc_encoder *mdp4_lcdc_encoder; @@ -387,8 +371,6 @@ struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_d= evice *dev, if (IS_ERR(mdp4_lcdc_encoder)) return ERR_CAST(mdp4_lcdc_encoder); =20 - mdp4_lcdc_encoder->panel_node =3D panel_node; - encoder =3D &mdp4_lcdc_encoder->base; =20 drm_encoder_helper_add(encoder, &mdp4_lcdc_encoder_helper_funcs); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c b/drivers/= gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c deleted file mode 100644 index 4755eb13ef79f313d2be088145c8cd2e615226fe..000000000000000000000000000= 0000000000000 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c +++ /dev/null @@ -1,100 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * Copyright (C) 2014 Red Hat - * Author: Rob Clark - * Author: Vinay Simha - */ - -#include "mdp4_kms.h" - -struct mdp4_lvds_connector { - struct drm_connector base; - struct drm_encoder *encoder; - struct device_node *panel_node; - struct drm_panel *panel; -}; -#define to_mdp4_lvds_connector(x) container_of(x, struct mdp4_lvds_connect= or, base) - -static enum drm_connector_status mdp4_lvds_connector_detect( - struct drm_connector *connector, bool force) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - - if (!mdp4_lvds_connector->panel) { - mdp4_lvds_connector->panel =3D - of_drm_find_panel(mdp4_lvds_connector->panel_node); - if (IS_ERR(mdp4_lvds_connector->panel)) - mdp4_lvds_connector->panel =3D NULL; - } - - return mdp4_lvds_connector->panel ? - connector_status_connected : - connector_status_disconnected; -} - -static void mdp4_lvds_connector_destroy(struct drm_connector *connector) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - - drm_connector_cleanup(connector); - - kfree(mdp4_lvds_connector); -} - -static int mdp4_lvds_connector_get_modes(struct drm_connector *connector) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - struct drm_panel *panel =3D mdp4_lvds_connector->panel; - int ret =3D 0; - - if (panel) - ret =3D drm_panel_get_modes(panel, connector); - - return ret; -} - -static const struct drm_connector_funcs mdp4_lvds_connector_funcs =3D { - .detect =3D mdp4_lvds_connector_detect, - .fill_modes =3D drm_helper_probe_single_connector_modes, - .destroy =3D mdp4_lvds_connector_destroy, - .reset =3D drm_atomic_helper_connector_reset, - .atomic_duplicate_state =3D drm_atomic_helper_connector_duplicate_state, - .atomic_destroy_state =3D drm_atomic_helper_connector_destroy_state, -}; - -static const struct drm_connector_helper_funcs mdp4_lvds_connector_helper_= funcs =3D { - .get_modes =3D mdp4_lvds_connector_get_modes, -}; - -/* initialize connector */ -struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, - struct device_node *panel_node, struct drm_encoder *encoder) -{ - struct drm_connector *connector =3D NULL; - struct mdp4_lvds_connector *mdp4_lvds_connector; - - mdp4_lvds_connector =3D kzalloc(sizeof(*mdp4_lvds_connector), GFP_KERNEL); - if (!mdp4_lvds_connector) - return ERR_PTR(-ENOMEM); - - mdp4_lvds_connector->encoder =3D encoder; - mdp4_lvds_connector->panel_node =3D panel_node; - - connector =3D &mdp4_lvds_connector->base; - - drm_connector_init(dev, connector, &mdp4_lvds_connector_funcs, - DRM_MODE_CONNECTOR_LVDS); - drm_connector_helper_add(connector, &mdp4_lvds_connector_helper_funcs); - - connector->polled =3D 0; - - connector->interlace_allowed =3D 0; - connector->doublescan_allowed =3D 0; - - drm_connector_attach_encoder(connector, encoder); - - return connector; -} --=20 2.39.5 From nobody Mon Feb 9 16:53:10 2026 Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) (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 43BA51DB37B for ; Thu, 27 Feb 2025 02:25:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623135; cv=none; b=a2It9n+n91FJWf8JHtnJ9T++8PXV4KnpErZBvc9pEIP81TgeY35Kj2AtDiElkCEBnh1Gah9/Wbx1MaIia0qyIQTiIxfyETHyPjpbztOsTFDPPq6fxzWzrnYvS/9AdRRU9ZPB//pcFGCfh6AdpUR+BTOaAs7+E0H/1uTSLgvVRaI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740623135; c=relaxed/simple; bh=gTQKG0fLWpD8Mjgk4DoVlbsZZVw4cfaJYQqKJoHiGbg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gBYu5KUbJtz4WB1dU2Oya0he/1VB/xKI5i8CzwD8B5+0MLn1oEI9BGv8Pk6Xz5RqEK00RWvHtsSnExKj7v8XvqJMXVH/mQLftoIFIzcW5LO8ChFXt7fXaQPzQqK8IRfiLuaC7XDvI4mJHRK9iB2oG/Uivqz3Z4vu/tqurN8Pl3g= 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=acf3HYsO; arc=none smtp.client-ip=209.85.167.48 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="acf3HYsO" Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-54943bb8006so403869e87.0 for ; Wed, 26 Feb 2025 18:25:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740623131; x=1741227931; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=qq9MmRx9UTHcwOJg2plfoPnrstGHmU+KXfgGIfhmApo=; b=acf3HYsOd7y0AFna9uZU30y0mpgCkk+KviLH/Ecy6I3zWMnh33IGqJ5hex+svKtkFb h6YooyivAEgz3N0nzjzQnS/z1PCXC3/jCfWbdj6DhY4Vjb/fbJcyfndRVmhZ0fYOjdjv jdi1W/qhyRZJrqmSNOZxKK0P0p9RYZV3pG0M+VDOI+PEY4B70dhtTBFNUOJu6VrlpdjT p5yg6JBFrHnWsv7cKhzu47quuyQm1EWmfHrPIiTxqNRfIi8SCeXN7hgFxs2Tm/wfMqQI tHvXFsHELjd+Vo15JZ+xxF0Fr/HyjDBXsggH6XYJMFcCqcLd/ey8VdfekV3NE6ERtXnx zkug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740623131; x=1741227931; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qq9MmRx9UTHcwOJg2plfoPnrstGHmU+KXfgGIfhmApo=; b=sDnhfXtkgNSvmi4u61xSfUuTkFWep9g4jczjzMxWDWemWWdeePK8RonZvdGlh69PYZ FqzU/PvostJpVvgTxjlMb/kwiogVBmG7x6vKVvq/zmeHizJwg0P3869kAvID/zGvhiCX PWrb5iHz5rewEABp6G64Y2SzVmgWfUeaWzVR7ViqkrBSY/YWpW/L82MeJspI+VMWdtOM PSYdiGhBfz6qLrNxdShfJXogLQvBSw0TUWpnPhcetK9qFqEQb6zixcW8hKrHkJmFE/7u XxZ9bY2xaMvQXWdzvqXH3dTEjDVOanNBSf/1LJjFYeXMPUI0Z3YFhNn9DEF3jTLLpZE2 wsXQ== X-Forwarded-Encrypted: i=1; AJvYcCVbbW9YOEnCb61J+BWUSM7oMs5FF0BAjsg0nBDqqtln6EmSgKBT3N0eE3la28EWORgI6ENVxLRCI56Vs3I=@vger.kernel.org X-Gm-Message-State: AOJu0YyIRM9OEKTB+vwTpFENWo3YnbDr2fjokPIii8w+pUNudln4v92D SPE1SvybI31b3k9SqbFmeT0vbIzv790MUmxDiIVvSo6TjLfKdHBNRcJCo+xgHUo= X-Gm-Gg: ASbGncv0u0hKJnxXkSWEKmmFpO+TXJlTqCvIRckr7i8S6cXnAW1Vf7YiuSsOESAeYZx 49G0iSD5UpeM6a4Jhxzxzndd/By9U0pwZglBdrd+9QY9i5LYq5fa6NzQXzAIcvM9gyvWlGPoIAW 8LoknksM5/jvk5VtdEIHFRm8GDLngxDxb7MNb3rKIFuEifW4YINhsOLYCh65en+R2j1t81mJxy9 Z3eFUj5MlnX/H+lQmpDQIjtTC/BLbWSyQ8xo5O8BE4Uxmb6pnwr0n9ZMJ1QmkQXZB2JpQtdqpM4 ROC0+JjfRVT6pofZ8JWNYcKK8dzKzIFm2A== X-Google-Smtp-Source: AGHT+IEfNBpBj/ziCw82ad5v30aNPQAqE97K5Ze93xNXV4raP7uNtPDw2CsgCTSSUsjHK8YDRWNp3g== X-Received: by 2002:a05:6512:114d:b0:546:2ea9:6662 with SMTP id 2adb3069b0e04-54851109c6emr5818345e87.51.1740623131341; Wed, 26 Feb 2025 18:25:31 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-549441742a0sm48067e87.5.2025.02.26.18.25.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 18:25:30 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 27 Feb 2025 04:25:15 +0200 Subject: [PATCH v3 7/7] arm: dts: qcom: apq8064: link LVDS clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250227-fd-mdp4-lvds-v3-7-c983788987ae@linaro.org> References: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> In-Reply-To: <20250227-fd-mdp4-lvds-v3-0-c983788987ae@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1695; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=gTQKG0fLWpD8Mjgk4DoVlbsZZVw4cfaJYQqKJoHiGbg=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBnv80HWgZt9T8wm96Mnxu2uLkRoQ+p08Vp+8VBB DjQRLaZ80yJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7/NBwAKCRCLPIo+Aiko 1ftqB/45YhkzEZkAfeOFiXyfNAE94XiLoA1jUXvCiK6882ceMMQbxiQuvNpui7zQpA6uvNM9zi5 8lJvqdPEbKx+jgF9481iin0lE+yv7k0HqBf4GhTPfb/6dQCCYdtAXtAIJOQLAOZ/lvD8QSQ+G/Q pYsckfnly5UpsZLhIjafPx5mAZzVQBxup6O1PjZeERDQJm5UJlPaO+CCWGSvbb8UrqmH41M9u8x 7jnsmXpjy5UD49Sx9S3SI0tv1jgw2Qi64uj4s9afgN30VfwTSLE19phN038/IBCYcRrqEuAFXf/ jmRndD8vaNxweMA++NIyVi8MRVVYgBGgsyJ8/Vi7Qx3PETtr X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Link LVDS clocks to the from MDP4 to the MMCC and back from the MMCC to the MDP4 display controller. Reviewed-by: Konrad Dybcio Signed-off-by: Dmitry Baryshkov --- arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi b/arch/arm/boot/dts/q= com/qcom-apq8064.dtsi index 5f1a6b4b764492486df1a2610979f56c0a37b64a..b884900716464b6291869ff5082= 5762a55099982 100644 --- a/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi +++ b/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi @@ -737,7 +737,8 @@ mmcc: clock-controller@4000000 { <&dsi0_phy 0>, <&dsi1_phy 1>, <&dsi1_phy 0>, - <&hdmi_phy>; + <&hdmi_phy>, + <&mdp>; clock-names =3D "pxo", "pll3", "pll8_vote", @@ -745,7 +746,8 @@ mmcc: clock-controller@4000000 { "dsi1pllbyte", "dsi2pll", "dsi2pllbyte", - "hdmipll"; + "hdmipll", + "lvdspll"; }; =20 l2cc: clock-controller@2011000 { @@ -1404,13 +1406,19 @@ mdp: display-controller@5100000 { <&mmcc MDP_AXI_CLK>, <&mmcc MDP_LUT_CLK>, <&mmcc HDMI_TV_CLK>, - <&mmcc MDP_TV_CLK>; + <&mmcc MDP_TV_CLK>, + <&mmcc LVDS_CLK>, + <&rpmcc RPM_PXO_CLK>; clock-names =3D "core_clk", "iface_clk", "bus_clk", "lut_clk", "hdmi_clk", - "tv_clk"; + "tv_clk", + "lcdc_clk", + "pxo"; + + #clock-cells =3D <0>; =20 iommus =3D <&mdp_port0 0 &mdp_port0 2 --=20 2.39.5