From nobody Thu Dec 18 21:38:14 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D56E238C20 for ; Fri, 25 Apr 2025 09:51:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574721; cv=none; b=DkIycwBqxNySMLxp1cd0x5Q1NGsZZGa9wx/tCLY+4Q7PO4v3uMr2ddk1GauoH5QM3OiV3gzX8P1/E9JeFzYaLqR4hJ/3A/PjassBiHvwHjIDV40ZAGcRIrObGlgH18wiJhCfVrOp5vXXv7DrQYEQ9yAt2bs3dB5I4gUMfC0PFW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574721; c=relaxed/simple; bh=3617TkUnK6e9mSwxxO1mMh/x9UNNusI2dsALzPbb5Mk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=C7RX7mn1CMVvMfDV8t+fi+Kq44kI57EpyuBnoY69J+5m6qYuuqXfWyMBFWLpUQT7pMwzlfBDr3+Dad/KD3B09DKKNBNdPCjV0dsug8Kp6DLtFfe28OfYgzq4/1wN2LXNM5U6cUIQ/DzkzHct5Xw2WrKE9jnIu8WGRHfEa9zpWZE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=o7bkyZ8G; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="o7bkyZ8G" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8T9RC025092 for ; Fri, 25 Apr 2025 09:51:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= RGL1av9CKAAAXCna1rw1gPi15ZH6XiWkTlMH9dyZseg=; b=o7bkyZ8GSObqQSQh 3tPfJiXXzR4nNoMzfJxuJsOLTRtul0ZTMILUWelxWgcrV31+tYXHAwPH7LZFiXgc h0fwS+81SqSjiTb5NBc0+XkzQ9hYax8vyfnmOHWHbp7FB+b9W0hXpXXCCeoeAe57 l0u28LzhKPutCF72xk4rTEWUc+kY6o/4OXOnI8UzzbHrnu3848yV2ZoJtLjS/Zvm zSJ1wWkX80Fo0bNv/xy2di1zGNe5kLnNLcUQLa9ncFKoXJgTXEDH3+oFRSVD7z0K Fj1v+yJs9BVSHWRNXDrYvFJ5w32FWpur20zDcDXVmP3OdB+cpOIMOuBqbhZ5NOCM zdx0Og== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh3rg1f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:51:58 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5f3b8b1a1so337933685a.3 for ; Fri, 25 Apr 2025 02:51:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745574717; x=1746179517; 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=RGL1av9CKAAAXCna1rw1gPi15ZH6XiWkTlMH9dyZseg=; b=Dhf4Fb/Cz3hWPlfSEvZv9MZQdX8rsfUllsuMEDOm+Vco6cZ/aPFUMYfC9oUMD+kr8F aZ79HRvAQ5mYwTUJyiuRWtJ2KkDcswlre1CPH4aDiATI9w88FXyvDhKvvpI/PIgWusFv hxsH/6e2nOM7IGDoCmLYbQORQxbIM+frOZkaNdZs9uV9MZqLl0x7U21ppg9rNKg1BCHv pCdWOcF+Zi3vZislxpbEzG7G3nOm63hpniyUE6zk1LbVYBhx3leGzgWxzwTpaoO4M7h1 R70VIxx6HDuYDIfLP04GTdrKCRDirAPG8LtrQ+OACSrPdEXz+R7GhHwjgdElmvBlaCE0 G+Tg== X-Forwarded-Encrypted: i=1; AJvYcCUZxjRedolCiZA2JvCEChARdzDXB81voM+8792MFD5MQKMUooTPFjcDxIF9o9FUldb6nnnKbwKs1T4acWo=@vger.kernel.org X-Gm-Message-State: AOJu0YzSM7YR733q0g87HL1HKKaoX9NRPhj+Z0Gd9WeCx2ClSSrVZ3Od 32vUoMDFsD2v9a+YKgu5ZLTfN01hkZ579+1qSSkU0DeFyqeMoJYh51CVpcn5IkyQbEGjxjEgA3g dcmvExXT6kg9QDXOFxj5BQBRsaUySRsjG+XY+djUgVv/Lk6RZ/Pe2P3iB/IB1u4w= X-Gm-Gg: ASbGnctl8rd0cfrjRrDBmHCQRanXv0wvWkKUKy1nQ1rncugLdhuXBlpRLoS3llP3ndP 4ZU9+udJAQvq/qyRnr84sGJI5K91MP2RfM1GoeGahg1egVsW3qd0PbcLL/kN4nuDMwOmTcnlLCX l/pwAuhODArlB+l89C7YwpkztmYp3ERcWZ8wZ0acktBu3fKL9khcQNIKfgYNqpSSCt3k+nlr0W7 lyojzHsNPlJziKSHqAgZ4dydoXUv0djSEGAAtcdl4eNCYWfC44uxvQG/39CbzIXEEih5O+8ftt5 iq5ZhPFpqwIa+IVQdcvz7NECAqlH3qRZnTbg4qq+w5dztJY4QzRau6/vlAD6iE7xM6XM30GToS/ EjqCFg90gOcr0rxE96zxD1tnl X-Received: by 2002:a05:620a:1b89:b0:7c5:61b2:b95 with SMTP id af79cd13be357-7c960718fc7mr297361185a.30.1745574717637; Fri, 25 Apr 2025 02:51:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH1K1UfbQvYJ/2ntuq2gxMNlOns2PWPFkI+8B4IXD4Piapymb4QRyfV5nubnNlzDop1tGHtKg== X-Received: by 2002:a05:620a:1b89:b0:7c5:61b2:b95 with SMTP id af79cd13be357-7c960718fc7mr297359185a.30.1745574717192; Fri, 25 Apr 2025 02:51:57 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54e7ccb7c99sm539164e87.218.2025.04.25.02.51.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 02:51:55 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 25 Apr 2025 12:51:51 +0300 Subject: [PATCH v4 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: <20250425-fd-mdp4-lvds-v4-1-6b212160b44c@oss.qualcomm.com> References: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> In-Reply-To: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , 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@oss.qualcomm.com; h=from:subject:message-id; bh=nAUeCQaacPy4eDcat81zyQ4FPPYgERyNRUqIhBqqdZk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoC1s5vnKr+pjxAmRELwP3wO3coSSw4Fwr5Bgan 5WBhmwLHDeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaAtbOQAKCRCLPIo+Aiko 1Q1IB/41yuLT8WBukhCIEw4AaTeuj59DAP+dWh0vz9m1X2dqGBV0YSaqkaY9lqWqJLOQw3qA6D9 pJXpJ0Hy1H08gNLagSGomLL8ytcz7pK7yUS/hNq6XPbcH6ihYsXgCXOeCfCUTEKLBE0qJrrHCn0 l0Qak+gEmDNOl98mXcb3p7nGyIOUmOX9u7LnnhgDtUwWYwVgs0lW1sSGyAB7/OGBJ+1fM6M6WV5 MbsNDg3BOJf4Rf1bn6JiyibAFxU5QDGBtkSlZzev1OKNn/6ftFNCGRpGChPMYCSVbPT7lPjq89U m/iEJQWCzd+lx639KNn/vAN+J4R9Nfw76nOaQPt72EzzAmuL X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: gZRIXuaVVaz1zZzjZiG_-W75ecy5Mcjy X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX2iQIkdF10KOl eDNP9Wrcvl8loWmNsvy6ku68bp/qiXMwW1601HRsIRuPM/59gB+jgFvsDOlIxuskfipW7p4NxUw rJvuALdd8M1yHMMNAL3A7D/REKHCYGGXMZEVPSHmJxZuSdIH8a8zGDuVrLFAN1O5Va0C0S5VSTm 7r1VR2JZRvWloLWmVkIq/o18aiZYafKfJjdwguru2QYShyNu9PgZedC3/cuz5MSjuQ0SlgdDS10 ayv6795XuxEtBn8jUoEj61jxy80ESJEwNMAjpPX6gJdDG/dKjdx6WQIQHCgCM1HRBawzNy/N1Dr Q6UkaOaAiU3fzIj/ZdwF0NALQGMxQMfv7TMLcZdk8XboxcCkP95vcoeXrgfEbGkM59PmisAErAa rZAdOdSqq+3Y8UtQG+79agwSwO4Ec/Pj5OpYtQjXXtdrV6cOIPLGJL2wMBf7Op0s+YPPAJ0J X-Authority-Analysis: v=2.4 cv=ELgG00ZC c=1 sm=1 tr=0 ts=680b5b3e cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=JZA2oeZeEnBWUIejbVIA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: gZRIXuaVVaz1zZzjZiG_-W75ecy5Mcjy X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_02,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 malwarescore=0 clxscore=1015 bulkscore=0 phishscore=0 spamscore=0 mlxscore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504250071 From: Dmitry Baryshkov 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 Thu Dec 18 21:38:14 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FF8123BCE3 for ; Fri, 25 Apr 2025 09:52:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574722; cv=none; b=kZrvB2yrlURUfLa5DpAxy6uDZiz//r1WD/TSaDR+hTLrjipJV7hrewjeuUuetuv9Fw2tjs0rcfKm+Gch9lIRBCa5IdTMBFWFmedNECKYZ+cFj11Mw4QSm1Lnh/4v3mtH6tQg1B0B7Q8YmkBR9geopU5+qcn7jJQcy5AnI5heHGA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574722; c=relaxed/simple; bh=zx7+dSoppSMyESrNu3BFwk2c2JYSvOsmkYctkDdBx7g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MjImk6p5lat3m8z5zBUy/jnwgvk7JXIT1I8fPAKKLNfFFkc88Dq9wC8CO5JkBeZ2l3m76ISYmDI+69J2SBJUoIw30m0iEBcnSh/FLfwOX6JIDbEKjGdxoIV2I8VP81JSew40VOEENgPB3MVLE8/ZQl1Us64DPI0jQK9aulDUUIs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=S9ujEnMQ; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="S9ujEnMQ" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8T6uJ016010 for ; Fri, 25 Apr 2025 09:52:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= E8whSwmbROd5U4SW4xj7rGIwJr7viTDgjWVNxw4D21I=; b=S9ujEnMQR65qi47W HroSG4bST6eVXaxvIeG5r8dhhrSiZnEwFALHjWXSesZ21v0H2tEfaMpf2hPn8JKe o566I70ANHDNfFeIMpN4Kw0vp5Sh60cAAXTjpieLbeb+/Wq6m/k1YPD5fOK72Nqz DCxq6jSVvVwJagGU/2kk7RctbFx/x+Xn056EvcTS0CfoOJmsdjggz0FB8mRaxNP0 OCcieAbc2cMV6IkVMFmBea9qud6nLRuGu3BurbSX6tb5mBPUYAHAzR6gOMlNklxZ jue7t46m21kJV8ZoslxemP1g4N5RqWENOir1RGoxK+YmNp+LNriF8UZDgQJytQZR DObfHw== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh08jj5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:51:59 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c760637fe5so369648885a.0 for ; Fri, 25 Apr 2025 02:51:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745574719; x=1746179519; 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=E8whSwmbROd5U4SW4xj7rGIwJr7viTDgjWVNxw4D21I=; b=YOSF1RutseUS3RPXnnsn3PB1GTR0z5zb1o7pkd+09rWWTukDwOloeLX2phTO0pz6ge g2yx0yKZZypMXYEVA9Qq2300l8RbSm5I58UPco0ZNGv77hV11Rr1j7O31NM7jVQCEw0g x6w64NxJB8m8nfp8+am6n8hzbxaMf44YpoWzCpnlag7WDAwWD4xAidm5l/bSHJUu0SYX /GZnPMvwbTOmbYvO9h/CWPLV45upgNAuqIhN2XxvT/EPum1iK6I31T6e5FPAWdSrdg29 Z7GCozFebAUAl4jwou0XHT8HrasKcsp8WvqUiBMxIjhRLoXSMupqcKpFSn/CaKVDUWVx DDeA== X-Forwarded-Encrypted: i=1; AJvYcCVpbjdS3438vweDyZxJcgbP+TfSHJ65GbDq8BsGpw01VulZ+bStSt1TIB7GzrY3RaTwlVshteI8tAQUXkU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz7omseCYawelphoo1NsgZXeboq59BSAVMKFOx+0M7ElDueDQxM cBpMpDjTPNWe63M893LHOLYMNejlGzbuuhykftZOhM0QsJfA3/Kv+BRQKwJhCfpSXuD0hQdl+fq qU1uDAH93sr4Tv8GuRT2Tu7Qkjqfmxwk99larR0N3Xsu9ahwbXjwvybkegl3X1hI= X-Gm-Gg: ASbGnctLiu8ejbLqXJXFeWKmI7jlpVn252u9L8aCTdWRTaDhBZDz6n1i7FpU5w8n4X8 v16CbPOFT6LX61m0SOd6trRGDcKBfztMjHrUal+4J/tJ9Bs0FiGFd7OEi87H0DbB7tXvSxlqOE1 BShKp+Z5OQTF77yZtp5Q+DKDcjCaRAgOWcLGwodHIMO9Q+6SH5V78Vy/MF7Y7KKnw6hPiz/oJAP 9N5Mhqujc+bu/SztYenLPQCI4vizqGGa9UPVIik+kMDLsBoqwHGz35hpZ0pDZUNJSmJhmNTigTQ caI4s3XOzXaCW5j5Rl3d5zKbk5limYi1cdD7wxPykirp22kaMd4V58gPoTRWOgLmGzkcN8/m+Iw oUBeQklkEQsZEiieaMEDLtnAy X-Received: by 2002:a05:620a:3727:b0:7c5:4673:a224 with SMTP id af79cd13be357-7c9607ac4e5mr267490785a.50.1745574719238; Fri, 25 Apr 2025 02:51:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFmYWemUx6sBPB/T3b50nXsfecUg6EReTeevtS+qwLs/fKOYNGbkFlAmCHLkfS2+zEw/XB0vQ== X-Received: by 2002:a05:620a:3727:b0:7c5:4673:a224 with SMTP id af79cd13be357-7c9607ac4e5mr267487785a.50.1745574718908; Fri, 25 Apr 2025 02:51:58 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54e7ccb7c99sm539164e87.218.2025.04.25.02.51.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 02:51:57 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 25 Apr 2025 12:51:52 +0300 Subject: [PATCH v4 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: <20250425-fd-mdp4-lvds-v4-2-6b212160b44c@oss.qualcomm.com> References: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> In-Reply-To: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , 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=1039; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Jcu7uq6H+6YPyRALgxceXQ2tUNztuo1HlOXKZXH06DA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoC1s5U3r9aVtf/3nh7d3cM3tjHy0GNVxGrgrty ABAzdzfrgiJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaAtbOQAKCRCLPIo+Aiko 1RSiB/9bNTmnNuezj2sMP5aBdfaObPY0aMItydxeikXSRb/vuIv409ORenKD0alhIeO695iE8lZ aG5XdPUWHO9fgXhk3Iuoxbuxrke/rAONsRKGZc/9lP5Cc/gIG27iuLqTcCd6aGGdxiA6QegYMVK aVQhcrHrsfGfCIzaOueCHAES5+IThttFM6yWt9Prajk8UQJ7WDcF0UjWQsQe1fN/QquDJgTqAer frSmwKpldbpltLgT+QZysn3Nv8m7wXjSqg9pRpBzrmnHwz39Ep6rRk7FlUr5b0I6NxBvVcVfZvT OI79VECVQEcvGp2ACXiZFRqyn94aSdIDp0KjjUupWPN/3uXn X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX53l4+ZEQwxr3 0XS7XT/e1kkuzFaRMbau2/QNOE0NRXm2tQMbtZfD6WBoDj1KwMJpHl38b7EwxCAFiLnQWQxOjxS aOiMT9T3WHpnMg9d7HiMhP+DiO8/Y0TFExb8kPWLqW63Fy1pH9vqwIL4KKJFpMRIHqR53Epyyjt ITSgg8o8+cnHfIWZ6Y/Vl8itk9UAHZWRNGn2m1wGIGcLD19VexCTCipehYYTfq53HwCSoXm74ug bN5OcbrbeNV5FEWzUhsZx5PfORPHkVeKBm7XRsi64Dhd4Q+P01u8Xpm096pigObtt1jHNUhMkr5 Urb2R2Nm7fOoK7sTQl1Qj1SmaKXwdow0hIZF0MPXPjKOdfQMacUniycTym5v71twSm3hsMqp9VT EDBYpzj6KUY8EWLWr3ch98gMNdAKRk0skgYCOPnSN3B7lrExTzMVD+MR7hyM6dDY+0jfV2sA X-Proofpoint-GUID: 4IIbeURoRZUm5uu9ZQHIipW79XBxwZM3 X-Authority-Analysis: v=2.4 cv=ZuTtK87G c=1 sm=1 tr=0 ts=680b5b3f cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=QS4NkVPmAqbJGmbYc4kA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: 4IIbeURoRZUm5uu9ZQHIipW79XBxwZM3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_02,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 impostorscore=0 bulkscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 mlxlogscore=999 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504250071 From: Dmitry Baryshkov 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 Thu Dec 18 21:38:14 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9F7B23C8AE for ; Fri, 25 Apr 2025 09:52:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574724; cv=none; b=ZUY+R2Cl6t9Bx7+71j8qRj3jzxaS7aJQKild/GVw8q2EWJ415UbouH9xHzNznqZRqAfHLXJne5GqYMHrS2GI27yfviS19GbE38ryeOcdB5C4Kv2+qIsogScVxI1rFDQVfsLuXoDuhFWKN3TCfXDrVpRMepT0MaVMC23NlxC0jbQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574724; c=relaxed/simple; bh=Xcu5kaVORj8g0gj2NUB2CUID8UjEmeQSDIOZ7F9qtDc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=O01HZ3cjA40T3qanuC7LVBSpt4mU79GjugV7qQAs9Elt+Zjdn5JxYu8XOoXytlKhB1ya4s6oEIBKgjWLmO8k9s9sCMIBS8njKZr3oL+atiY/vo/C58fE9w6E40swmV3XffbN+njz3wnTCLhbK4S40zh36Ou9sPxGixv9qIrNh0M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=oSyerK4m; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="oSyerK4m" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8TAvZ030862 for ; Fri, 25 Apr 2025 09:52:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YPhUAy0IKCydcq3qR8LkaE9TXn8NhCRkCwjmuP0vxxg=; b=oSyerK4mwaRllSNK 3sw8FcX21GXYU15W4lY9Q7Kh/vDfLXDZyDgTVsWcgWU2MmJppnyRsjR8k5EEHMMq UcIg6aET6JPINlQI6pIw9U5OEpvo6/glEWx7v5Kxqd6w0zL0dlowymV4iSr+SDNF 5ezkXNEShGXVhNPKCHrUM0r0+pq2xWBvp6gYpTmO7o6l9hKFZonUT/D/jFZ/uilp BLF09h5/Fc6S44OLXZdZ1KeOp/RS2ev7ExP203gM4emUaKcth3YNDAjtfMTGqD8B 333E4bzIVncWmEBmqf6IcvEEjGqwa1tUncjG1LP1LVilF1XBJEaUtddQja+c2txq Cc4sZA== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh5gjpb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:52:01 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5c77aff78so588221985a.0 for ; Fri, 25 Apr 2025 02:52:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745574721; x=1746179521; 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=YPhUAy0IKCydcq3qR8LkaE9TXn8NhCRkCwjmuP0vxxg=; b=QM6EGYuCKhymyXrUqwLnpQtqu8AONogTNtmhnH2AU8xpyfgFo4KnQ37U+IqK9MevHr q/dZ80bSVtMdBiB4Bxi/7XhF0EdK7CxwN25RljfHlvwNIpbb1TflCBetaDhV2akWvrVy jY+tuXCdNy+cKpG5ISGRWZuD2a6U/+TVSqwiZR0rQBktYsuMF/3uVAQ798S3Se3qaGv6 Hsfe8sPL8tbtokzqXxB3Y/kZQM4I8Vn1MYvZAw7koHb1L123so6uOcZwu1BVQCQ5kkFG 4kJ8lqQEHAHJ8/w/2pCXp8WXAxiw0WljlMf13tIs2p2B1G9YoR+SBOMrBzMPGKoHVhmu A3Yw== X-Forwarded-Encrypted: i=1; AJvYcCVK5N1+jN1qMIeaKYCXJzl+2aCFjw6Dux2UcXiaqcobZg6vn+9u0+2FzVxwPfXvSWM75r99f7LBQcPNAYM=@vger.kernel.org X-Gm-Message-State: AOJu0YzvCibTsHRjWGHxRZjIq9nNfug3rCESo4tXh1aj4wdOrLerSQUs tO6qZviVf05T0EU5VS+/hf97KDD7d3I7U6OohnGBXpMZgawsLsGF7PIf0vS/Q1/sj5KhPOxST6U 59QJyzznEUTIxY/F2rf4TFhILeVyD9u2nhMtdkFSP4t1pUNarvL2TKzMqqZrdxak= X-Gm-Gg: ASbGnct8s3H2cNLfxetQJ+eLM9/2ikeseZkAXSyuECoAIYMPWsAxL+a8L7hlUClUbXw yUDRTqL5Sku9mJTgfOnSTM0qRWU+nBVrBs+hi4g1Nv8ag/tHqetnoZyDn7j1clDqAoiSHoPiyy6 tnMWrnM0wCGWcWn4vpmT3wp0GBpkwiflZAgYdSv9rO1EkAIJ8liuYfeNtnwID8QRMImzBxPnido 3tEAKWNuVvQevW+C8qLGAilZxnO1pYrq2kYSyIAXVFgFZpHFOGs/1S0P6NDOuKeRRaQS/ZTIdr1 mLNJG1WeRhsBi8VK3Hb95KhM+dsP5wL+/0RXbl6lLOEzGcYt39RcW28fN/MrYjWMdYvbeo92o9q NKSkEHE5ijmYlf6CBB1ipf+uL X-Received: by 2002:a05:620a:bc4:b0:7c5:5e69:4450 with SMTP id af79cd13be357-7c9606f846amr220216485a.17.1745574720826; Fri, 25 Apr 2025 02:52:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGJ1PuPUG5UA+Ta0KBqmp76nB4H7hKk2B9kKWJeFr07+c/AZQczeUIZjnYJCQvFsn+MeMN9ug== X-Received: by 2002:a05:620a:bc4:b0:7c5:5e69:4450 with SMTP id af79cd13be357-7c9606f846amr220214885a.17.1745574720525; Fri, 25 Apr 2025 02:52:00 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54e7ccb7c99sm539164e87.218.2025.04.25.02.51.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 02:51:59 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 25 Apr 2025 12:51:53 +0300 Subject: [PATCH v4 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: <20250425-fd-mdp4-lvds-v4-3-6b212160b44c@oss.qualcomm.com> References: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> In-Reply-To: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , 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=3936; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=p1IT7slnVG8OxIiWvFIYnjVg2GsFl620wCCz7LSey7Y=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoC1s5zHFbFUsFBUaPCTVFVTZYS/OOWyjMl5RFl LJ56EsTJsiJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaAtbOQAKCRCLPIo+Aiko 1SmgB/kBSZl7DR5mdH319Q7IjDuxugjrvDTqfN0OW7Hax/kXdA6o9r1/XNhMlAR3p76mdAzj7vD JLuiAtSJeYXUSdUis6xvxhWP+5HyqGlF9U1c9+A9BoZ3TS+OsWez1z6CKhEMVHdq1haPKc6aBTC OugfsPPtzCA0ynJhnJ/+snE4r6gOk1XhQe2U67A6mEz78aanZkgrbHq1wce4GeEKBNoL2ABlv9M zz5o3lB3R4Ddq7M5JlyQJP84JKNcZ1Qg9/nlNNk8/LH1sGkOisMuROp2pPWfR4orL99WxQ2/1jH tQhpFJ0in5sE972LvIgawuejazSBoeXVvOqmRocjy4SS4zmW X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfXxEXPxTxesz5L nMm7b5hVlzn883uMD/GeZJmndNzXmsMhiGywre4Eca364f+CRDekkPEfUICP3aARP7MKGL4xOsN N3RB4u5uCLv/lREimtgCClcMPtvVnYxxVhXvM14wQxi4AgORuO9erkB3SkcMYEdYWN3kkaWHl0T CpbNMoTP4/I6M5IqBevwR0hgRbA+Wh3Gn0Ss8nBJU6daKXD1MlHXt91Gldw4NwowNGSxGwsRkI6 XePOeqx3xj+3qBQk4n3N4AEnSurZV0F8bPm/JwG/r5Dw/IkCuxC5QF2sJx1tC0UcURGaR2aJ1Ny 1QTP8K3Y7m2sr8VygvoV4h1PfrP26a8udDRu0Wspl7Mn8AbnBwc+zmPCRiWt3e7d2u23nyaT74q Oray3kRS5VkRb4ikbvSYMMRp0/S+3vNdJArM/UdEwQ7jrmxKC1Vr+33QdhB3BO6aDlHXDm35 X-Proofpoint-GUID: PXDyBepszcuLpTEaxXBW3QeIdwETFbAi X-Authority-Analysis: v=2.4 cv=B/S50PtM c=1 sm=1 tr=0 ts=680b5b41 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=TDJnK0Sta0nlXdS-8S8A:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: PXDyBepszcuLpTEaxXBW3QeIdwETFbAi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_02,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxlogscore=948 lowpriorityscore=0 bulkscore=0 impostorscore=0 suspectscore=0 mlxscore=0 priorityscore=1501 phishscore=0 malwarescore=0 spamscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504250071 From: Dmitry Baryshkov 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 Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 2 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 3 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c | 45 ++++++++++++++++---= ---- 3 files changed, 34 insertions(+), 16 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..3d7ffd874e0d234f450f6170e62= 3f87572456757 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); +struct clk *mpd4_get_lcdc_clock(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..8694e5d7d3f012070c72214df06= 3a6488b2ef707 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c @@ -380,8 +380,7 @@ struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_d= evice *dev, =20 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); + mdp4_lcdc_encoder->lcdc_clk =3D mpd4_get_lcdc_clock(dev); 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..df2bbd475cc2a11da20ac07be8e= 757527ef41ae8 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,48 @@ 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) +static struct clk_hw *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 ERR_PTR(-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 ERR_PTR(ret); + + ret =3D devm_of_clk_add_hw_provider(dev->dev, of_clk_hw_simple_get, &lvds= _pll->pll_hw); + if (ret) + return ERR_PTR(ret); + + return &lvds_pll->pll_hw; +} + +struct clk *mpd4_get_lcdc_clock(struct drm_device *dev) +{ + struct clk_hw *hw; + struct clk *clk; + + + /* TODO: do we need different pll in other cases? */ + hw =3D mpd4_lvds_pll_init(dev); + if (IS_ERR(hw)) { + DRM_DEV_ERROR(dev->dev, "failed to register LVDS PLL\n"); + return ERR_CAST(hw); } =20 - return clk; + clk =3D devm_clk_get(dev->dev, "lcdc_clk"); + if (clk =3D=3D ERR_PTR(-ENOENT)) { + drm_warn(dev, "can't get LCDC clock, using PLL directly\n"); =20 -fail: - return ERR_PTR(ret); + return devm_clk_hw_get_clk(dev->dev, hw, "lcdc_clk"); + } + + return clk; } --=20 2.39.5 From nobody Thu Dec 18 21:38:14 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AB6D242D9B for ; Fri, 25 Apr 2025 09:52:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574727; cv=none; b=f/G5vodxBIGw09Uq/RfznT7bPF3ZifgkU6neA8iDvxmWn68tSU3uUaWYcY3YDJZQnjUUrFZ3aYFgEd5jMPVxOx49H/EXZYAuiRe4mOtskbBnUQICvfQWk+c7XWpigM3+T4gJhKzPFDtqhdp3ZvyQVFj4jLdkwjO4qJQwwvcQU7k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574727; c=relaxed/simple; bh=QKNaVn6QCseVUR4BUepdIAxDPpNjR38Pq6lvhCZCros=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kv+80tTpPNo8NKIlX1Oegkr3tJDBLUp1G/bxmGQnZ9qWHltVaw1XJJ/b/dQIwO8oh9jJcWOC9wo7eTMu4iFiR0xe3q6ZtMsNLZu7LcbQe5/9lTurzOTqK7XQSto3YrwIUuw6XEkJ2bWe7FH4yojiaFQqkMPGE5KLANRAYLfXK7k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=mCHfUH2e; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="mCHfUH2e" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8TQah025257 for ; Fri, 25 Apr 2025 09:52:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= TZfczLUxnWTdMqDmkRvetbnLGF6+K+kBxElbD/jIQGQ=; b=mCHfUH2eedgMf8ua ulLCCbT8l+iO9zEcYHxVfAEbKNLEPjskH6QYR4aFYBOmJXnpSM03V2bXh/F/drKQ 4cVAJv8UBOyV0M3gOz2X9rGsOD5iIk6ASu/EMV0ASJHRuaV7azWaakkhKWt8P2lu jVl5mCOHytZiKDKP6xtUHuYCReLv1ihhWOAE2jjARbQOkPpNca5xqI/1vsDBgsi+ 1bnaxGr+CEn0H5uTpuS1Tp0v6IICM7smLCuzmSnISk383jrM7R6+fZEfvmV+gnoa ES3SH7dV2FBN9zonP10IKL7rv8Hcwf4jhzzm349/LSj46EfuYozOQyeye9dy4Er7 aoPQ3Q== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh3rg27-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:52:04 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c0a3ff7e81so361324385a.3 for ; Fri, 25 Apr 2025 02:52:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745574723; x=1746179523; 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=TZfczLUxnWTdMqDmkRvetbnLGF6+K+kBxElbD/jIQGQ=; b=RMDLuL1kWqrb8t22sjXKTbScV4DSA6S6fo/oxMQNb/7rw9vwdufGAaawsVKrZdlqEf HlbBuVv5lvEZ9gpGDvtJqW0rQzvjm7x2uxv+pUqK6UVV85YOPoCyHHZcAJ1CA2A4SBdY 0Iqq1jUfB7Dovd8pGSuKOclERe7MV1S6Tkzs8pVaLm1bmgYf0mhiYqY9xlYPD2nv/tLU xEpcMWeG9za4RienTq/o0bt7RXCmpNe4YSr/JLys5jfheKt9AqFBIdX4wcwNpZMAfde9 NPZEAEgPfnoHbBCC3+h5acLtnvMm00+D0l+XQkJf33tZzgTnTbsQXJ5QH8GhbRwfdANr JoRg== X-Forwarded-Encrypted: i=1; AJvYcCXXfMN1/QpBML1VLrBymCNp7Ic6oX4Pqka0agP52/NCle0vkWsYIeOZvRXF+cNz1BOkW6qA5psd6Sc60Jo=@vger.kernel.org X-Gm-Message-State: AOJu0YxNEM7RnRj1b/3eokoG6b/QdtFNUirIpgxtsRNV8a0/TeoNqAcM 17ckugQgwrb1xpLgKZGJLcwuErXsHDkXeP9XYPDvG4TcHLQVHCc6EBkAxqzqXAclOhL7buaIqQF PPlO5DRDoglZk8j8506xQNOlZ+KU/cekD92npD+gjoI/CqokN9aeNTdSs3sETBD4= X-Gm-Gg: ASbGncsRKvnmUoJIiL2fXgDw6lvlO2jz0rPXsEy2WQUY6wEoVembla6CoF4epjoLj6L hilerFXH4SMVRmPMAzwahqtydEMn3gLrYWpNHp3qEV/ywFurPg3dXVEWTR55huxWRfYziPL7zyd c2W/0HJaaBXMEJI7OsPX1UQMnzE542c5pJclE09mhhsohkYs+Zj5kI92uGk2o24z1nQ/4P0gXKE V28wQ9yDKIlyU8IPnlsJTxVszPHtq+MH5vLmQ9kiH4hsiASXn2nDpswDzxEDOfig0r4oV4LVzN2 WArWExal5tcd6vVbrMvjBVEZMIjvCqCK4K8wp6zuNvgtVOOMpw85bnKduBo285wN9ic3LWiv2DH ZYpMA1S03ODRILm9f1gU2sVOV X-Received: by 2002:a05:620a:40c4:b0:7c5:53ab:a745 with SMTP id af79cd13be357-7c9607a9524mr306225785a.36.1745574723406; Fri, 25 Apr 2025 02:52:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHcOR5RT8Ys3lrOEeDC6ELuWjVuKpQ4U7qX2eJ0JrlAWEm5qUDXGcz5n45dHFY2oJeOok/1nw== X-Received: by 2002:a05:620a:40c4:b0:7c5:53ab:a745 with SMTP id af79cd13be357-7c9607a9524mr306222285a.36.1745574723063; Fri, 25 Apr 2025 02:52:03 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54e7ccb7c99sm539164e87.218.2025.04.25.02.52.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 02:52:02 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 25 Apr 2025 12:51:54 +0300 Subject: [PATCH v4 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: <20250425-fd-mdp4-lvds-v4-4-6b212160b44c@oss.qualcomm.com> References: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> In-Reply-To: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , 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=1330; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=5QLeLaZ4u0g3jUxOIWPZIeS25ToIY4u/0NRZi3Wj6kk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoC1s5iD+ue7B/ncg0smiCdmNNJbzhQ7e2zXxwh CKQDUKIPP+JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaAtbOQAKCRCLPIo+Aiko 1cVsB/952BXavkqHOo9fTgYGdajfI8ZXs/aaV7h12vKdVkwrLrXZPXL9YdKOWBEsnBCViNDKJz1 Sirzb/XOt5rdGdbbG9Jrkkkl3EHLgHvvpAIuJFeOjVv28YnIr0Ik7nKELJLcU8pxyNLsIsSvHQC cXg9YZFkfWhqvC6M/UNgNqLj1hmh3Iy8qx6I4osKefG/0EhTWPYMk1/K/Hfff00JHQ9PNlExzay 1poSB6PmItQqmNE+OcyvBHWJQRi6YyL4gps1DDO4CstG++o/Rk3da71KT5wnhpdKvpLd5W3Zbig pZ739t9ddffJrjlDV923QPmg3hLU/Ov+JyVSbN091wfkTz+9 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: MBvAAePx7b6R2XAEyCGx0csJcAgrrGYf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX+xLvNttWNzB8 FKbFoE5atPnvdPacznFPLaH5AjANQD5E2+SCtkLBylXg1dSXfZoJn5tEBYoczVqDi8CYO/LgKyS 3P4dTtpQ4VLVrd32xWeUkspqqv9nhj/fN548wbh2XoG1RTykNGVm4xbxBtaeY5n4cxo/b0tXj3E 6RiYS7Q9XPh53LF5qsEgnQEkhs0wIIeK2rPL9RK4I69zDZVdI+X2ZcSB90qWD40Kx/R+dJeoOay xVdo5CwzIkmepw49vnEt8pul9i1fNIhZr1+n1AabuWyJUORQ7KHas5jBAelnCuJe90c4kKkIZdu 6meICFYkyA131GSQFsWG3XSadmOra5lQiHE9glVZ7J6LAYwbzEBDO4J7vl96/7KnrBk0D72Y0eD fTrzxcLXUvySMP/tdxPVzOWu9s73uSEYQ2EnRNHw0DEGeBuL4sP7K/ZntMqNI8fzUH2ijv1X X-Authority-Analysis: v=2.4 cv=ELgG00ZC c=1 sm=1 tr=0 ts=680b5b44 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=9KfIv9cJTkqftt8VF2oA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: MBvAAePx7b6R2XAEyCGx0csJcAgrrGYf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_02,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 malwarescore=0 clxscore=1015 bulkscore=0 phishscore=0 spamscore=0 mlxscore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=917 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504250071 From: Dmitry Baryshkov 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 df2bbd475cc2a11da20ac07be8e757527ef41ae8..fa2c294705105f5facbf7087a9d= 646f710c4a7fe 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 Thu Dec 18 21:38:14 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9ADF024395C for ; Fri, 25 Apr 2025 09:52:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574729; cv=none; b=WBe36NmGg0lT5GjgrlRCXMFvlGDZi9fCs0QrO/i3BxXc69g5bVqUrhzGZKG2jy5y5VLQW4EbS4cB12KGhKdqHVNmmRUAKo0SbhbkXk7z3QuAjCdUucio14n7rPQHLNf3GUzCHJVVcJNRJmvVVcADEy5lSOulgAspJOSu/CGOHbI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574729; c=relaxed/simple; bh=VPdSvEDPiP5nJqqimsvsHJ3lJjjDFvVrzXMRBy049zU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b5/GGqst3CbQjgW81FVKDruX7ZV0nPINj5ssVnasQt07NvuIaM8W6JBI7o7W9v7g7ZfCflNFXqHp40bvxPGoRbcEMyBTZDftDmtYOhU1KlmqekBZJCupYjuIluhfhoX+KKVW7OYIylbrpHFDnpsrmZuZFSD/gpieC5MXno11mg0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=i/vqPwgp; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="i/vqPwgp" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8T9OZ025088 for ; Fri, 25 Apr 2025 09:52:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ViRsjns1v8Jro2gFleFt5r8weaEEOv6Mpy9ydokco3c=; b=i/vqPwgpSUlhVzrp bL0NIDzAcykLSIAA0KhJpA7nIZlBF1U0mj864gs+xAomimCbDsyBYG4038Vv7WfL YK5sg5hW5qd2HxIluNNtHS3fAhch8SyMmssCszQNVyZY/iqP/lwEuoWwaOfXW7TG 8WFtVYGilE9ACORLbiQRFtsQaFCwPdecB5W/KJzquQT0BahzZeA7wFlfZusYdgac LKOzxz1CcdFM+Iw8135ASNxEDD9LmHaD5HZwrYisBd8qOzf/mUq8JvtJik37+se2 elLs2wqVOo7Y2HgzW8nWIMHdcVWAao7YErPYBBod/6DZNzEkKTeaYYMS1dj7RH3E BldwpA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh3rg2f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:52:06 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c9255d5e8cso360974685a.1 for ; Fri, 25 Apr 2025 02:52:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745574726; x=1746179526; 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=ViRsjns1v8Jro2gFleFt5r8weaEEOv6Mpy9ydokco3c=; b=fIeriQRC5RXiIXNbFxix2VcKXaTXxlyyvCjjfDYWk+niFf/0oQFtBWsjnDBazld3m/ ZMCE0sVvqN0I2g2k5MUCJi7lp4Lf8anj51cvsHzFzY03ZQV/3GxJRUaj1MYDaQuF9nZN Hvj/r+9hoZbN1eUlUU+JeguE+Zu1IcUTsQIk4b7pwj1MwtLOo3Yp20k8fKdsDZd1elgj LjXlpWnY101PKGD6m8hauNj/PvT01RrptJbyM7qj+5oOY7YI93b8kmuV12uaBKA8U0MR bvoNO6GQdpQeQoyEiO4b3iIu2ZaGc74X52eH+bfzm6A6GKRxA0VD6HxzTYsJZsUKmy8a U/nw== X-Forwarded-Encrypted: i=1; AJvYcCUAO3sChwzztuZGtX3rjVgng95L9/ml+1Od3fey9hFgYovovCszxON6ZadW0b3pWNHixk/4/iG21zVyZ2Q=@vger.kernel.org X-Gm-Message-State: AOJu0YxC/Cjp6rTI2Vc74CtYEuiHmrBE4u9928HMI9Aib6cvMqgfph5x RhTwLs5YWyNoK9lmTpRiDXReAqfZSXDvW0wRpaC+h+k4MZEJTfP9821geXXvneE2OMyfnH2luUr J77MD8jBk28cYrmLar0kCO60LQmk485WGVZH1EXC5GJ0jVNq1+xSUl+GjXQKPlH0= X-Gm-Gg: ASbGnctiWgH1s+FD33JeJvspqYo59s6HX/ThLwwnv8RyxpquWd4J60Y746Y2wB+3FRi 7y+KlE6ybbxJ+TzodxVC8VPlfAhGJHVt5o6U6BT5tKAz+CRT/Cwpg4EtvFCNykiCj1j3bzX6xK1 03hZUB0w+R7KtdS/g7d8N6hTM9g1meL5rcXV2Ctg9/x52jLHTLbR1kkQTwaQZTPYsdKBII2kiX7 nAH2qxcDhsJm00rHoZ3eqBhvcm0jO5H7wJfXyZ3KC2kHol6ZwujYHtwUVPcTZyDt8PcEwdx4qWI jlOnvoPpra8c+9blnAiPeaRBZbdnDPBtzXWmacMw6OtD0NNlTnR9Ev64733sXZNZT5TAeEu5RaE Z9b3eQHEYW+ft4UdcdcCpvNwu X-Received: by 2002:a05:620a:2916:b0:7c7:a629:8ae5 with SMTP id af79cd13be357-7c9607b24e8mr256006585a.56.1745574725878; Fri, 25 Apr 2025 02:52:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IECepdx3M8voxwdgIotc4jExjaEsT/aNU+/NJvxWGcXVKGq8zZgS2csyHQXp7J1OZcAB7cxMg== X-Received: by 2002:a05:620a:2916:b0:7c7:a629:8ae5 with SMTP id af79cd13be357-7c9607b24e8mr256004185a.56.1745574725551; Fri, 25 Apr 2025 02:52:05 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54e7ccb7c99sm539164e87.218.2025.04.25.02.52.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 02:52:03 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 25 Apr 2025 12:51:55 +0300 Subject: [PATCH v4 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: <20250425-fd-mdp4-lvds-v4-5-6b212160b44c@oss.qualcomm.com> References: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> In-Reply-To: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , 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=4386; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=6zDfbr+Ff50cCHiOONUZ29i4X43jN3/ObgolYfFGR7I=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoC1s5Y0P8ukyZ1hYkilVgrYffYkcTvLpslNl2w sJplHwF+wWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaAtbOQAKCRCLPIo+Aiko 1TaXB/0VGI/G1ISEDOkZaFT9pqBVkHDfekywPNWp5O2H7Z4FvVhu+yHLnRliZHkqzPgLLvuHOnW 51ZW3cJpWWXK1v688XqY6G7cLyH08XzUAy/8fiEeknzCOzhyeoie+VkN2QQ72nr8vVJjUCgy2Qy E5HgCku6uLjfA2r7J6gc0tV5Q6PIGTIRO++sSF7yYagJtC6o/mKWAS5ajyk9MPSEQhm4GKhH89K R9Z253sD2HKp/IA5NZkE2gciW5iiTMnqMhB9b+nJzwJfCEvz9mh1u4z/lqsxwB89WbEKKZXI7L/ HmrAJYr82dKvzyuSCNuqq7tl28rWs2v6wJkffxGi+CxV2Uce X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-ORIG-GUID: jAkUQtm0oq0s5viPu0SEh9eC1wQKCgVN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX61TpvpwPgGxL JM4n1TaKSx/wKzFb2EbS+qJrwlxVM5sPZDkjcVLmt2bTDqKC7HoAA0BC3wVNpd/FLovjErU5+R5 yp0Q5I3bQ2TQxRseaDd3xJrtqR36RF5AG4gQ1Gw0QHJw3Kc3auGbDSyMW7WUmu/mUpQI6p3VOX7 WIIMFlni54TEvqBnXiiEjpQkm1i4SBY0JUW86Ha8QuJNpKfnaxQqNHc71bPGuXXufXRqaWUXiJY bzPQx+avEkiQcbE5ieztItejdObMZGVwi+IJBZpM/ycXuUsM1lVIdWvXaTsF8VNyzgLSRXyT4UL xYhuM9rnuEhhtbxa3IP5wP/40/Zag6JKB/pWW9ur49fecZXo/7cDCuGlxwOGrM8g39kF2aKEAAg OUhPwhs3PBlth5t/17Rq6e+zouY9Lw/7rh6kiB520R3G/9MBypHEqNUZBC+UROkX5BOXkE42 X-Authority-Analysis: v=2.4 cv=ELgG00ZC c=1 sm=1 tr=0 ts=680b5b46 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=e5J9yQtEsebikEsHgo4A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: jAkUQtm0oq0s5viPu0SEh9eC1wQKCgVN X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_02,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 malwarescore=0 clxscore=1015 bulkscore=0 phishscore=0 spamscore=0 mlxscore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504250071 From: Dmitry Baryshkov 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 3d7ffd874e0d234f450f6170e623f87572456757..66f5009fdf8aebcc543b5539d1c= 2d03075171001 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 8694e5d7d3f012070c72214df063a6488b2ef707..7f4e8005bc4ae0bc82ec5b87a1f= ea0530301b427 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 Thu Dec 18 21:38:14 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 808EA245032 for ; Fri, 25 Apr 2025 09:52:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574734; cv=none; b=JSHutG4EQ6FC25iAZjqxvdDIYhND54X9RUYVjFxrjk0Wc/UPrWMWdFHcYyE23pjOTHAoR5KeGtoY//HL1FnhVj7iU0yjuo3ooVe4Rsd3oHxvknZSr04CAJFQttIioEg7VOTUOlH+PyIqt+3Dher0LpKuadmuYEdaXWx1K6lVLD8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574734; c=relaxed/simple; bh=PWEZOIO1XHYulDrCgDar8ajEFuZixmhS0FoHE4ciXMs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bGrmMLycRDdXZ4uy3dqk+kaj1EZsDDoiV8RQbRAburhj57bUci8dAsRTXwLuUFTQyHGODpxAqAa03kQUn+h7zb1BJ/V8R73xwExNqec8bkE6pABhDXVeKQkOEPy0tvnuBXNmn2qx7bc79QXhXzvZX8YtJb3eMi7q9noBRZdMebs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=VCi70c+n; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="VCi70c+n" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8TQ2w012534 for ; Fri, 25 Apr 2025 09:52:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wO/TmcnQd+YBb2X8W0YMXAIl84/SqXkMF39BD3auU0Y=; b=VCi70c+nd9Dqa+RB IUwZGnxNppTOD0MeF/eKA79FkKmn3xWhjVj6wwVm3THaoAeXMtbxkytgM7ABpssb cply1gxpp71+rKviWOxgNB1PuaQ7zndxQVIvSLTm6N5QRVBEsoPLHS8eDjQc7R+D RFWMI+0kB7O9q1KayA1LJ0jhLjNayef3XtdRLLK+N+5/ibny3pWGL8qrUSLCDVw2 MTsETADP30EuVrT61mRzqYYwyI2sDJ6xIin18LBZV5JZRixVyHRIDv4XOpQ5ipnh oaMr8BZc5FxZ3oDsd8wH4b2gI5CdFf16ETqvmH4YKDZhbBUOtHvEiSUN6zngzlpc 7uClXg== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh18exf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:52:11 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-6e91d8a7165so36102136d6.0 for ; Fri, 25 Apr 2025 02:52:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745574727; x=1746179527; 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=wO/TmcnQd+YBb2X8W0YMXAIl84/SqXkMF39BD3auU0Y=; b=xQmIDxbehSZE6pdk/ZAdzlucBgVRnP50a0awqVpIk9dAK6oaT8x4BYfCfP8oCdgawK 6s2jk38JqgXBKmBeW1EBDsLMpftwBf88KWs5JKpGng0lmViSAZr7xhgxphWFd8uDzVDQ WqAds/WZDHRqbuxM163HMaa/8wKBLpjaSgwDczt8EnvWJABjVO+t/kwE4xwXEC7YM0s/ mMsbLsINK3uSkWpZOrPue3iLnFzwoNvkjRryKCKlb8pozKylR23d09UJSC6svRG1wyzZ 4p4tS7aXgu8nWsEIe/G4Hk19Y73URE7hQUXvBwAFwcSzryviNhA7dFTAqPFDm0r1icOZ SMww== X-Forwarded-Encrypted: i=1; AJvYcCUK/tN/rjWMpWr3DYNI54XfmbdZlcesZFAnlYKplZKyHkq9LKrdJ6pX3MFeIn/Shn956VW+IrhLppjc/oY=@vger.kernel.org X-Gm-Message-State: AOJu0Yzmb+2YP+AvSiADrVfPEf5g/npOMLe4C8BZe2wHW4copb4+TJwL ZCyQQzcywDu2J4bO/eSgV2P71jUoRslKUe9FC9GMTC3BRWtmH9hCWU7LHPqmRuoY9+QnSzzxyaI rzh5LejlxAFSfdDAzYgIg4wIrEzbNXuTtLy4rFfom7dnM1HrnXj8b9xgFq+pCU1o= X-Gm-Gg: ASbGncuWdPPRBNFdW8aIYMnNH6gtCdGknb66IT1Zslf2p3LOVRshYsQE+psujFKQI25 i3SaiUKT9qO0c2iwxO4TfaQbRyD7tiXd5Ep6DzaU/pCrMmhfHCWqct+Sru2+EsTZ9VjjnEW6z8+ KjQ/Gh/kUqUncSx9ZH3TQ1CvgWQBLIZJX6CZK6LlH2swIcf5jIGsf0UnVIA4zl6i/VsyItzRuxW Ogb/HeHaptpPICxbSFycYGCPvyTCm4dgzhL48jA8UCR/Y8fVwE/G2UcMIJehVxy99rcH932mK6T 1IKpxGIbehFhOsPh83i4qmAzkaOp1g3imtqwJa/jFoeqqFvfXHkkWm2+JhDy+pCrvOYfscIVLQI 6CdeAL1o37kIsv88Oft5tqedy X-Received: by 2002:a05:6214:268d:b0:6ea:d629:f48b with SMTP id 6a1803df08f44-6f4cb9ed9a0mr30004746d6.19.1745574727460; Fri, 25 Apr 2025 02:52:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH6aGbfdyHq+EQQf+N4Ajh6G1MWGQeKTj0SfwTH/XJktJCOH77u6efYIs0QzEDB8BOkstnzYA== X-Received: by 2002:a05:6214:268d:b0:6ea:d629:f48b with SMTP id 6a1803df08f44-6f4cb9ed9a0mr30004396d6.19.1745574726997; Fri, 25 Apr 2025 02:52:06 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54e7ccb7c99sm539164e87.218.2025.04.25.02.52.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 02:52:05 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 25 Apr 2025 12:51:56 +0300 Subject: [PATCH v4 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: <20250425-fd-mdp4-lvds-v4-6-6b212160b44c@oss.qualcomm.com> References: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> In-Reply-To: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , 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@oss.qualcomm.com; h=from:subject:message-id; bh=E1BBsIIQymozlYNkeECHB8spXLY+ZOYj5r2uebvZgDA=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoC1s6kX/49af49ontjbSa5smcZpA36az8IOH2h fK/wi2dRU2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaAtbOgAKCRCLPIo+Aiko 1SIoB/0SGBIeejLoEcS5t/PUXRa08DYlZod20hKMAL1sJUtFmFJYwMXmKW3oZnlPeSOnQFGfjvy SrbQXURsKMq+OJz33Zz2+EkavazsBFaTePlO8Q9RfKcruGuoMYSTsnoAgC32gbAOvBKl2VOcLvq nwZaSmaUDd8iIsjTOAkiuQ44Zm/W0MLn7mkX+aTK55TFu/wuPkE5WH77ggnG3ahDm5C9SJR03aV DpVxApE3fsK/Q8YkUsa3jvsF/exBD2MMJr1/M7up2sOBVrb9l/VbsCFv7H8to8s2tKZ9f0rjSkd 3YMXuCThVA0u9B1Y+Ra0jlncLwxfdLx8ojSMsm73xCAABI5x X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 9WZHQx60genl-eW4T5J7mOD3i1SceR-W X-Authority-Analysis: v=2.4 cv=OY6YDgTY c=1 sm=1 tr=0 ts=680b5b4b cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=pGLkceISAAAA:8 a=7oS1v-cyAAAA:8 a=P9PoVruIDXn46qgs0YwA:9 a=QEXdDO2ut3YA:10 a=iYH6xdkBrDN1Jqds4HTS:22 a=cvBusfyB2V15izCimMoJ:22 a=PcM2qe9_4d1tJnOwuzRa:22 X-Proofpoint-ORIG-GUID: 9WZHQx60genl-eW4T5J7mOD3i1SceR-W X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX7S/+ftiMB3Y6 Udh9dElm861KXJ4y9FI0K4zkxe4EpdshNBtn8vX5jkp8NSxOD69bQbcg0OPWqceLY1jmjX9acE9 N68akHAw5OhsJTvVyxvhcYMIgsCL8jXAhRHx6j/oTSLTeF2vzRYupx+3LrR8cQl21uKIhePVUG5 vLisWBNRpVZx8A0lhe2fMGzNXjpqaQjZEcpvscMAWyK/eVihOJjXQYCYx6BMDdbBHW0xb8b+XtE a8f5H17eseS/CVpaoi013k34iXAsw7niVFajR9npR3x06CARcfTWAr/xeFf/EHLebVPiM2rcU+e zbIVaFD54k5mLF8z20FZ/8KfuR/HReanALDJSKBziu+2TDm+BZL5FvPHP80dKUetVSi/2PVFdDT PtmgJezeTEq0qP+a6eHyEea6QWipTKQrV9H7/xbvIvOeFyVo1Ruj+LXiM0Dd8N9daWhrCTj2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_02,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 mlxscore=0 clxscore=1015 malwarescore=0 mlxlogscore=999 phishscore=0 priorityscore=1501 spamscore=0 adultscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504250071 From: Dmitry Baryshkov 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 66f5009fdf8aebcc543b5539d1c2d03075171001..f9d988076337cb6fb63af8e76be= 59b2eb34ab327 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 7f4e8005bc4ae0bc82ec5b87a1fea0530301b427..06a307c1272d10e678501062a63= 559c5672ce999 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 Thu Dec 18 21:38:14 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 520ED24395C for ; Fri, 25 Apr 2025 09:52:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574735; cv=none; b=R4nhSCuSJF2x0uSBncre7gn9uIV5D/DjRJ8cIh+7tefZLcFsy2cvuju0W9FtgWK36OlWuPkvukGNqY8hVDxsN1RMPQ2gZ7u0CqPEr+DOcAOcLj0pzKfNOsLbvIio5UCeXe0XyAKmD/bPJZZVu6KbH+1y/dGHXGSJVNhOeBMn66o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574735; c=relaxed/simple; bh=w/z1T9uSzmC+bw/KQ75FUbGQYWjQVDzJ2e6/MqXTTIM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=X7IB3pzJhyX3Vcxlw1yRgDELNXmW7T9KwSieNTLmuzbmXG6Ct6tbw+oilIt25mIFyrAM4FIP/cFq4zn/xN6V3roWZ+6TftiOpr+N95jGuFfK5K4mNJ9+SUGLiQdWRIr0nkUV+UArdHukZsQ0vFCoIB5CWzLJqyn1rHnIbAanGTU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=G+7V3tXs; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="G+7V3tXs" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8TAVl030869 for ; Fri, 25 Apr 2025 09:52:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= NPo6Q64R8Ie+grYGknWiayM+abt8O8HAhJ3oPPs/n34=; b=G+7V3tXs6P9jPY9Y Ss134wveIjwo+kW2gY/B+9zv69ehzifyGoON/whd07TrJe2SwXP0fwybchl0u+vF qiSs4PSHFGx+pqHVDJatoTX7wfO0VmxlWSfsxsbwwOCSlI2pg+MymoUnhgSK/XQh MJQuxd3oYUIAWjJwr8EIAkNiyJr9OZuKyDa5t+CZ/5PE882kgalhe82ZzPOc+hmD TDHgulhv221Yjkc/6i/lKemMNyreU6pEA+ymvpz8ip+FsKZzYaLwpsCdLuSEwKv9 84AULNPK4qPfWX+Piip9ZbdBoxUezuuMXZQO92m18knQ7Oj5sD6E7LaXjKVP5Tmo aV+QtA== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh5gjqn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:52:12 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5f3b94827so315591085a.0 for ; Fri, 25 Apr 2025 02:52:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745574732; x=1746179532; 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=NPo6Q64R8Ie+grYGknWiayM+abt8O8HAhJ3oPPs/n34=; b=iN0OOFPeUsl54RW+x3tllt+vBINfECHjNJvB0AdCQ9jmId7UZjRz/181qCUXuFpaxG sU8uS88l2y1Hr4Tpoad22YJ+ZUGBdy75ntescF58llipGmS3+J33sx5Hy+DFeuOhNssO qkptqzSGxN0Xj3v6P2MukvMIAdk5t/tB8aH2nTstXwj03OR11XZu53oEPeJsql2kogRw G9WaQIIatIemDM/bZm0dzEkAPfZjl/D8JTXJF9DaMnqCyjE3Uiz8ELCYSlQuPQfNqN66 ZmMyEQObf6J7fAubSqZURPKd8yne626JE2d/+AhyUM1rktgNd8p8JyCGCr/MabLtKLOp 0EUQ== X-Forwarded-Encrypted: i=1; AJvYcCX9/rAcLL2zGuW0pCam3cu5AWhhUql6jaNNXkJaf2Dr0MeNXjjx31ba4lVauzC27DIJmwQ01a9zbjPIvfc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/r6zpWi300QZn5HEDFn1ZXMwPTfhJed+uF7pI8niUVY+qMByr DhQHY4i6cwocn0XGTyKw044bUtzufMWb0avjgVgmAwVYHHdyiUPQ6AFhymhp5ICOXP0vNnxMBYI sHlli237XRcI78P5/BIh9OUI7fHohhebwyN01uCoSDzJVe8pXTOrTRWUmzfOZz9c= X-Gm-Gg: ASbGncs6bHiZ32pzL0KLGpN1nyG+S0Hf+NYy8Jod6y4CTZvAKw9gLGMDADMrSyRLNYc Ia2Bc08GhqzDptY60jkInOhkUkMWisRdGoiuxsajXiDbVx/u++oO44khDfPUcGu1kfxdJ37f+2N wV6mUc3H88ZjNMrQtGrCgOSBOkGChKUpTWFbZh7f4hGnrlk6meV0K8p62wE7g/9QfKwX3V/nHzr bqxuMPHnlki//Kj+Yu/Hzwr+/gx+ysW+Khoci+YBgGjXKhcUhFd6zjZ+oeLMrOWJ/bcB+5c6J+w +rcjhfDdlrQyw5aT6hyhQmFFpV1JJZXXISJy29XHw3/tzdJxuJPhhMWa6qNRrtBLRd8ye3Jr1nW w9o0ugfna3V9e5qbTvyPOiYja X-Received: by 2002:a05:620a:43a2:b0:7c5:4b18:c4c3 with SMTP id af79cd13be357-7c9619a84c3mr221794585a.30.1745574732229; Fri, 25 Apr 2025 02:52:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFxNIuYNNjaQb8PK7de3lCR9P9YcVtolbk+mly+U7z7/oU1wPkDB+IRFiFcg0g6m6VaQc/Dgg== X-Received: by 2002:a05:620a:43a2:b0:7c5:4b18:c4c3 with SMTP id af79cd13be357-7c9619a84c3mr221791385a.30.1745574731855; Fri, 25 Apr 2025 02:52:11 -0700 (PDT) Received: from umbar.lan (2001-14ba-a0c3-3a00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a0c3:3a00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54e7ccb7c99sm539164e87.218.2025.04.25.02.52.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 02:52:07 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 25 Apr 2025 12:51:57 +0300 Subject: [PATCH v4 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: <20250425-fd-mdp4-lvds-v4-7-6b212160b44c@oss.qualcomm.com> References: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> In-Reply-To: <20250425-fd-mdp4-lvds-v4-0-6b212160b44c@oss.qualcomm.com> To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , 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@oss.qualcomm.com; h=from:subject:message-id; bh=gTQKG0fLWpD8Mjgk4DoVlbsZZVw4cfaJYQqKJoHiGbg=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBoC1s6eKqblmHbFW4oNBrTuCB4SRcfiIHrdxIln Z11Q7ZLLwyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaAtbOgAKCRCLPIo+Aiko 1TWQB/9/M8KQR/dnVmy9NtEwx7xnrdi4/+6hjugHCYXxnOB/WAIT1s5H1KOWGVTHXCaw07Gdxl6 v0jvX1yDPdUVVX9GYmZ60MW3p1eooDEw1NUbqvBbbQdPhQIw68HrZKdPpeoOBEFsbf6OW24FXX7 PusgB4xwCfBNzefYVzBZrVX6gybe6g3rvNERHa2tROfi/4h+r1NdQZBdZfUNCGDU2hZu3tv65Qo OtW2TZGeffWeRa7Nr+5p4N5KRxATqLwMYZuVfq1fskGvmBQHWmG9jnOWGQgVmQKcfRmFaHMmnT4 yDTiRIhPUbCzo+GRNTROdUaFD/fmODG5bTtU+8DxtypOzLyK X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX/ILpHozAsP1M MoCpzFOx/8XXdUjynpNQAJwa/1n8tR+jWZAqu//NcXloWq0c/7UZX2pqqZMTujHQXGBJiXnoJjt kw2Y14FxGFmUnbJsdk8XtDVGPxy4Sh2ttkj5ouAD3cBvuelkrHPIcNftqcO8c+oJeDiuuELbNoM 29vd+rOa0BEdLbjAOHgBy40qsx3EPlp96bwFPQ7D5HBmgdX1Pn20IuQEIiKnyDKUrIO7ZefA5l1 D1Db7DJWIfavWNW4eWFWHMSL3QJiCni7OP2q2gleoPnae/SGy8dPgeZifyaivKvM3UNhakyqfv8 8c5O6hy1+eFg5Om08LaPi1JkVqbn0Rswb6A31Fz9y/V11S59k270t06rWqsE8VmB69iYTteCrja jzgDixpLBW7mpvFWUe6SkOrN8Ta9LrEqBs6ybkXoV7NnxQp5t4DisYgKxlOwix5IG8GxRacN X-Proofpoint-GUID: R0hoG_QG8Sqj5XwHXfw4dM8IyNcEVp2G X-Authority-Analysis: v=2.4 cv=B/S50PtM c=1 sm=1 tr=0 ts=680b5b4c cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=qzM9u8Bgc55Ixitz76cA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: R0hoG_QG8Sqj5XwHXfw4dM8IyNcEVp2G X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_02,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 mlxlogscore=707 lowpriorityscore=0 bulkscore=0 impostorscore=0 suspectscore=0 mlxscore=0 priorityscore=1501 phishscore=0 malwarescore=0 spamscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504250071 From: Dmitry Baryshkov 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