From patchwork Fri Apr 25 09:51:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 884599 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 8D5D0238C3D 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 (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8TBHL007414 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-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh0res7-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-f198.google.com with SMTP id af79cd13be357-7c5c82c6d72so343325785a.2 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=YKcTn9vSHowTbxR++E/S6+/0zNCJRUiDxYK19900X3w2a6vGZMp8pl8gZvA3pUCXsb o+78HeNdZvWuw2R4ip17F2wuLIqspQRhnkQl2Q9v2VFBqQZBVJFEMEyuXwZY61kneBDS u5TR7SbQPh4VEKrfW0wcFQwLQFG+kiowQpih0dMBa3uB++t7r9Vj/dD+LzPOM3OE+BD/ GC32HTeeBPON8DddPGSMyNpJp1lPulByxn86rtDBZXVh5TpzVTb7lk0w7Q3kcLX8cyXI JQYZh68JNJGpC7sTIDu5qe3HAQteyDf1LI5AUndTDl4MpmCNai5WsPD/9yrYEty0ux0x +FfQ== X-Gm-Message-State: AOJu0YyLg5844UCtpDWUH2Ugzv3sNasen3NYB8hopviJmvTA+q1twjjc ZSQ/bE8DpdLovd8e59mVp0QtraHS24UVDdw6pd/78T5o/iwyKlgjBW7oHKRa+q9JSL54VpnGDuH BKhPrgVx+dxFmFCAnrnEKpK6g2YADI6Fy/fFSLMfwBQfFnOjpUtD3xEewBQPZK9Rw X-Gm-Gg: ASbGncs4zgMZCnQ5NLbq39IT5njH6+ys07fG1CmDSRvkY8PQSKs7Ywy72ktpeExf6xW NdkUtPNfMeaW0YPwrqQ7RLsg3enOzC03I/sAg5xXWeW6S5DQ/rqB3zoAqwKfv8fPOOxONoVGXjC k5clGhvyvuVI2ixrp/Vp4FnGc2LjhR2r/Ix5hWOd5dW4Am0MNsEUBzfNN239JvoqaUcIuqTo4QB iq2Oi8eMp6WHkyZXdzZCY1vw6QvpI218Vdp/FuYHFzDAdPKxNT+C00BCZLmfvwYc/IuhozSa0T1 yEh9s4xoQPzATUaBNuE98Cd8ZkMFhKNLc4kGLDOqlMEKXBOzHUk2lenkQQCin9gW+QmnIsTbbL/ NvcER4zhl+nX+Th3KicpSFo/U X-Received: by 2002:a05:620a:1b89:b0:7c5:61b2:b95 with SMTP id af79cd13be357-7c960718fc7mr297361985a.30.1745574717639; 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: sC9pUo4BH46DjPI0oKAgmPm2rV2R5o9c X-Authority-Analysis: v=2.4 cv=ftfcZE4f c=1 sm=1 tr=0 ts=680b5b3e cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=KKAkSRfTAAAA:8 a=VwQbUJbxAAAA:8 a=JZA2oeZeEnBWUIejbVIA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: sC9pUo4BH46DjPI0oKAgmPm2rV2R5o9c X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX4HRT8iFA3kSS HRXm7nSndfFs2BWmZRFehVDRHD+Zk88wZFZkypgAwWCtyTbAOFeCK4FsMa8Pt0F2YZ3gpBhsUrF x3Pdm5/yEusP9MkOF/sAt935iF1RmfDHniWfHqNxCI/q5GPYXHRKAw8HjgCYMrkSaRQ95Wmhkd8 9ceYL5/TYw+Ywou+EGxt5lKg4cWjqq3lZeP8tsGJlx94ZJ7OR/ilDIJABu0AhuElN/a7l2me7DY RTYFle9mb1CePUYWbEEKjGiUsSESiIb7XndtjvJ+ZN5kEuYFS+pGGvefukoHcpNBtClnK551WgG WYDIY6gOsQFjpxAlHzHZaaLdf9WmOo9QfySZ9kZyKyxq4nPruSCOFykC9AFgpsYlRmFk8h7zs47 Z6fG9TwKDkJqqvr+kuXhX50FMPfMiyjTIz+AfsFHDCA8YIlOdFvG1pv8ZnmyZEZyjsh32lZc 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 bulkscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 lowpriorityscore=0 phishscore=0 malwarescore=0 impostorscore=0 adultscore=0 spamscore=0 clxscore=1015 priorityscore=1501 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/Documentation/devicetree/bindings/display/msm/mdp4.yaml index 35204a2875795e2c1f7582c8fab227f8a9107ed9..03ee09faa335f332259b64a42eefa3ec199b8e03 100644 --- a/Documentation/devicetree/bindings/display/msm/mdp4.yaml +++ b/Documentation/devicetree/bindings/display/msm/mdp4.yaml @@ -18,9 +18,10 @@ properties: clocks: minItems: 6 - maxItems: 6 + maxItems: 8 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 reg: maxItems: 1 From patchwork Fri Apr 25 09:51:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 884900 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 3FF2723BCE2 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=1745574723; cv=none; b=RaWaFtORgqQk6iOex7sbZKsvk0vHAUV8XYVCSE0xoZvi8YKAOOqLW17a9IdTzoo/WNiIdi6Mwnxhnb6dVASoUdSmuvveR3kFmqwBVdWVpBUbhIDViaBCOu5rkOkM6pZZRBirizMszrG40rDQD2tmH9XYwnOY2ZDFWeFohzQyfD0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574723; c=relaxed/simple; bh=zx7+dSoppSMyESrNu3BFwk2c2JYSvOsmkYctkDdBx7g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TUi6VXHxNShuSx7S8JU6Id0oNdqGX+kPd0LZySmS6t5f/arOffrA/t+EbcEuMgyiXMOzPykNT4molMPMlqGZa23zn+dwnG5Pbh5YNvfQgKLaUzfYS+I9VOAuEycoLubtt0Oe2/8Bgl8bJFtRwr/RbWuKjQ4adD9TmvWFexh33GU= 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 (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8T7b4030835 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 466jh5gjp2-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-7c3c8f8ab79so301205185a.2 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=NNnhzg2meDrtdRFktlrE5OdwQNRlpOB2E94/xbTlzWRV5Z6/An47yLCxVpnOdaelgc 7/YQfZl6sHfnWhsqc3TKofNOxrBvseVEiZlmvI/IPEmRZlCI5HG18xQ9K7pHJzIE5ucL vEVOZF4TjbyKCX+2BjgwOCNXbH+7wuS1UinpG3r0TG6eyQBkL3397tAql4cPQqhnTXhR M4dFqdmAiT4bYRL4LL3hRb/s+B61DjtTQYYmWvem0DSPSy3R6y1MnBvBpWiKgttDu38B bajO4xL5+w/9U3B7J+tvodX6q8ta1Jc8NYYQ4EmnNcAe7QGyG8q9SwLn5vx0l4NA6jmF 7ciw== X-Gm-Message-State: AOJu0YxsJKNtwz8LWB26ZaWQ+U75AHHKsDB96eziTpRoDk4o19fmMSsy FqkEabwZEYhzTIUEG+cKILR26qgc9taMYPIhFUppuaUT+g+1HHoH3yBMg16/SznZOA1McaoqVQw JaTIqNtFbaZx0zQdOkUn62je2QNk8pNiNYPfe6ogx3PFuGRbALhluQPziuOti+qVL X-Gm-Gg: ASbGnctZGG73BCfCHLwmYwX9hG1z4GjgAitZmks/zhiia0yVgf8Fg42l3uP7DLzXb2H DniHqxcPr/RNe/q/x5qTaUShdYu5FnybEpOM/tBfZmfaQBMWb5rxkI6KTBADxwQkOH4Y931TEdE Q37RmWsIUhUMLgVDvyTyzZ9+SawkPeOiZFubDZpqEYD6w0r908Owf5vLxS3lZ3Tjpwwx6VZ3s4a EZxbS5CliHLCIrGBu23qA4zLRjnxwHhHx+g+nvPcHyrbt0mA+TYakPE6HJ8/WolkiCxOCBjz3BW JFE1OTNQkCHjq8YK+cXwEaAv75JpW4nIYni5VXwXetWmkWqhL0eRsVh1UIBWUh+gdFTrvVNVCl1 dknViwIl6g8YmTOhF15BQ5CDH X-Received: by 2002:a05:620a:3727:b0:7c5:4673:a224 with SMTP id af79cd13be357-7c9607ac4e5mr267489885a.50.1745574719228; 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX3LJAJqFUoqtg h1cFx9/F366xzU0N0GN0HPu407coKlHMfoNwr0AyXxsi8ekz7vLee3qG+juLVRW0XY4Y/RPHYKc e26dIiR8frLbXEJ3qsqXIhlknG/Ov+Mem7/UueVLBbpeJ6Nxkyt/7L/V5dqBizthYGeXAlIuSnb TEXLHRdq0aCitg7R+6K7JAHcIyvTyH6Q1jBBigSDJ6Ueyy0Ok25ewVBA2dLcyCoFpvOKrNT2qOk 6AqZVppBbXtC86xYX7QldsF5YsqZX9L9mBEZpriz/Egi4DucYUK1RgQpbs41A446o5CWy5nhXYc SfUtP6zzrlazIq49E4zn8kKHAWl98ltRtzxjLDMoBMh0j5wuS+fKTn2Oyo21bDgnVcLYiRlQJeh z7INfN9okVga5yDY4D65uce74qmu/fTNhhy2IKDiKXA/UzgocpJC9cIlpe1yS4jZYvCq40/V X-Proofpoint-GUID: 26J3ibgv1jOmNRKvYuWvRwqJZV-Y4x-o X-Authority-Analysis: v=2.4 cv=B/S50PtM 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: 26J3ibgv1jOmNRKvYuWvRwqJZV-Y4x-o 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=999 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 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..142ccb68b435263f91ba1ab27676e426d43e5d84 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_init(struct drm_device *dev) } #endif -#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 #endif /* __MDP4_KMS_H__ */ From patchwork Fri Apr 25 09:51:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 884598 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 790B623D2A0 for ; Fri, 25 Apr 2025 09:52:03 +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=1745574725; cv=none; b=RZp/DgMRdHoSXxDGtR8xKNWV0d0mzUQuYXioX5/gFZh6VFaY+J7UvGn0Vn0JAm+UgiVQbNP1xWy4ioPxmLt3j89OZ7ENeMhggne8CYo6FDfT8Pt+lkt2CxXW6jzt+nqGAUS4en84ROK4lGHiaoWn7PTnEMdJbFeLvAWFogLyFCg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574725; c=relaxed/simple; bh=Xcu5kaVORj8g0gj2NUB2CUID8UjEmeQSDIOZ7F9qtDc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Khe216F7rkCU9rfZG8iiTj32mj7vuDnqyHve+mzSzZvQyXQB4s9Kq0XjRq9cyW8RyZp6vMkuNhXlAv3ynl0wguzQs2QrGy2Crl6S6jh/BmNiWAGZi2Vw/izEQnIFiTbxJ2mSaT96J9ORsCIXnDSb0hiS1gt/gUmQjjpdt6SBydg= 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 (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8T7wF008626 for ; Fri, 25 Apr 2025 09:52:02 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-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jgy8gxj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 25 Apr 2025 09:52:02 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c5bb68b386so593208485a.3 for ; Fri, 25 Apr 2025 02:52:02 -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=Fs9JkRdZpycLuW6THXBCcOmqlJvcSDqeW0czbZDp+LR4/hdTRVHNFKgWMIwFLxniLv hyDW0sRSL7Ucu2ZgoGMdCmxBSmn192/bkh5GwJfj60TG/KUt14RCxD0faavWBiP+nWmK g+xVh/5LiSQNaM2IWwzA50FKfpJke3S0bVZRj0NLuRYQBHiE1UYigYctU/KDXa6OpeeO AMwMf8lUbviMaxli/c4SNx4AsX2wvZ/vrR9mqrsMAgYm3D2pjpuYKc5L9Q6gv2RAv40P xYpfTGSOKl/fsfZcCoPuqKq3uKgHCdT+t2teAhfn5NFaWETJeapgRD/2YdWgQ1tokSMO p2qA== X-Gm-Message-State: AOJu0YxHSg5y4ThgMtMJs3UwHyJAGxuWBWCi4UIL8XBwjBUJnn08FQFY jHaOXYvUYdkEkXxHeRg4qBUQASYNSXfqKJx+jN73jfY+2/4VdGa5zwYjEbQvqzvyAdpwQELB+xz GaXne8Rb/4wIjx5k3I0MVEMra5t9K/A0XLpOkR3ENYaCzj+BApoF5bu94p1VFzdynlhBXSwMv X-Gm-Gg: ASbGncsJIBNuz8ZAmAq8D30JeCydgB3e6PK+wFSNcP9z3ljEwwTpknqQA9jo/Jy/7Jv HxIcTkHwF+7q6UPf6cwgXKjYrJvsbaznZV1srCwry/FjlorBTU2xVyDK4JXSyT7donnYrcoM7UO TA+FtIHVT0gqVge1V+ogfJi5kjkm1rwCSito6FobdpmQuA6CZyJPKP4nTQTpJcyum1MspiKS3kS JoYbHiJYzuNWk1cZBq4cCCeioeQqpyJwWmyWGJiJxA6+04JjWxDJ4YFBwW5Fmm7R73Muh8DY/SP pi7ga0qBC8yZrn+D6N8CtYO8T1lN4kW+B4RiyhhacX4i2UKp2KIz2k0AWRVx/LEOD4Ytt8leHsr 6KL8NFzMDp/nJFUVvFzLgFw/k X-Received: by 2002:a05:620a:bc4:b0:7c5:5e69:4450 with SMTP id af79cd13be357-7c9606f846amr220216885a.17.1745574720828; 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX2G+WNuNNGP21 1Ge76jia4nYIurDC/xgAqG8l1rvLeA/THOw5mfcy5ZmXYDdi6yXxsvnbYysZhdME8a5nkAOsSam OQqxKAX8i9udfR0S6XTeYeRVpJX/mdfmau/5mKv6QkcKWVVgqPes2KAX29mk4/mGDHZ6GqtYikm 30T07pEiIdFKgP1qoJP+ALq22PHihoaHj9cdSan1x6R193jdZrCJ+LzHg5PXaqkalfHJMoz7aa2 eDyyzWn4VqzjpIQprhZwcvi2j5WlPrAGEW4G5N7YtmeRUjOnO3+IkwO4xuGpLoAr/ZujQhfoDfW 52/7RDxZ9qsyGo/eFHPbIf+FyA4oyELJRLKma0HZqyMR09rzLq0vX5VO02BbcOQlgGApiVclFqH k5dwvfSjRV6qtvfDbQOzU+jHOeXNjtgKqTeEjdgCaztPMUgbUhM1sr2RLmLXNM2T1908cFD8 X-Proofpoint-GUID: _0Zkapv-_RL0fbgkgv6HBzmtEgvytIsE X-Proofpoint-ORIG-GUID: _0Zkapv-_RL0fbgkgv6HBzmtEgvytIsE X-Authority-Analysis: v=2.4 cv=M5VNKzws c=1 sm=1 tr=0 ts=680b5b42 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==: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=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 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 bulkscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=945 malwarescore=0 impostorscore=0 clxscore=1015 suspectscore=0 phishscore=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 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..3d7ffd874e0d234f450f6170e623f87572456757 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 -struct clk *mpd4_lvds_pll_init(struct drm_device *dev); +struct clk *mpd4_get_lcdc_clock(struct drm_device *dev); #endif /* __MDP4_KMS_H__ */ diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index 8bbc7fb881d599e7d309cc61bda83697fecd253a..8694e5d7d3f012070c72214df063a6488b2ef707 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_device *dev, drm_encoder_helper_add(encoder, &mdp4_lcdc_encoder_helper_funcs); - /* TODO: do we need different pll in other cases? */ - mdp4_lcdc_encoder->lcdc_clk = mpd4_lvds_pll_init(dev); + mdp4_lcdc_encoder->lcdc_clk = 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/drm/msm/disp/mdp4/mdp4_lvds_pll.c index ab8c0c187fb2cd05e26f5019244af15f1b2470c8..df2bbd475cc2a11da20ac07be8e757527ef41ae8 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 = { .num_parents = ARRAY_SIZE(mpd4_lvds_pll_parents), }; -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; lvds_pll = devm_kzalloc(dev->dev, sizeof(*lvds_pll), GFP_KERNEL); - if (!lvds_pll) { - ret = -ENOMEM; - goto fail; - } + if (!lvds_pll) + return ERR_PTR(-ENOMEM); lvds_pll->dev = dev; lvds_pll->pll_hw.init = &pll_init; - clk = devm_clk_register(dev->dev, &lvds_pll->pll_hw); - if (IS_ERR(clk)) { - ret = PTR_ERR(clk); - goto fail; + ret = devm_clk_hw_register(dev->dev, &lvds_pll->pll_hw); + if (ret) + return ERR_PTR(ret); + + ret = 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 = mpd4_lvds_pll_init(dev); + if (IS_ERR(hw)) { + DRM_DEV_ERROR(dev->dev, "failed to register LVDS PLL\n"); + return ERR_CAST(hw); } - return clk; + clk = devm_clk_get(dev->dev, "lcdc_clk"); + if (clk == ERR_PTR(-ENOENT)) { + drm_warn(dev, "can't get LCDC clock, using PLL directly\n"); -fail: - return ERR_PTR(ret); + return devm_clk_hw_get_clk(dev->dev, hw, "lcdc_clk"); + } + + return clk; } From patchwork Fri Apr 25 09:51:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 884899 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 8AC1B242D9C 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=1745574728; cv=none; b=UwJad9F7wYolxc4AHOGxS6RRD19Kuk9gFlm8UAmACPYc/xSTl8khBqozHQR3nXLlcinI2cMPo6aN6huhsV5Egr/myjHJIu36cGPHFNAaUtlFEKuDw/az4vxYbC38aTbQA/tL7T1ivsmUEf7AnFxK+uoQduMR2ifyJhTCUG4sNq0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574728; c=relaxed/simple; bh=QKNaVn6QCseVUR4BUepdIAxDPpNjR38Pq6lvhCZCros=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H5YoUnmc5kKkN9NekamQO0vSfhTsIwbsDl0GhIPB6mYNjlX6j1Xw3BWtxUsfnY0z8WPHDtZybgFU1SNoDMueDgE5k6HS1wzdQ4k3Z5xKFF88AmI3XVjVgqAVrzuOIiseuFrZ4XYW0NVJXKQsP37JRS8zyC4Mg/rn4kH9GuQnjQQ= 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 53P8TDTG025215 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-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 466jh3rg28-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-f197.google.com with SMTP id af79cd13be357-7c791987cf6so422905785a.0 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=cjCZEE1U2qzm7ngTm9bif4olE8SHWN+WhwyEw76y8oshd+Y0q2x+j1t0dH1kYI0bGr 0dKoyotKE8SinvY+D8qT+nHlblwTA1tlojAsi4uE7miRyuo0MvlnMAH16gHNS2+YQfiL PqDHZe68yLRVG1n8xwg01JgZTIz+a7on8+tJy2bXvqLLMxnV7fhYGSj/I8rDOw/3t/o3 ERJzfMqixMX/lw92hqWANm1r3QP9aGw79Yg8+z1nV96KLNOyi0qzbVJV6r/PEik6w1w/ GL+g/M6jNc/c27HKkItJ2Umh8h5rUGYKCxpThKGL6fJ+yP2d9/0e557HAV4r+rCpIVkj 2hRQ== X-Gm-Message-State: AOJu0YymM/94beRkRQww2Kl7cUPNGhzP0RqMJ2dexxUfbhcUJHKf/+6r r382V+2UytOaPDXfBbpx8PfMGauYsk+rm0nQYhv2HOnZpI8qRLzyDGQf0uriWQZvE8j5X/JQ/4i 7cPYYFzqX1drVYr0cVuxPLfa7OTp4ntmGs2AZQu6EX8xNa+qhdhuD3ETwL7Yq8/hC X-Gm-Gg: ASbGncv+rWh6lDZxxAq1LAjs4jwEgscdPJ6GjCrQxHuB1toR1LFJHI11GJ75Dd28MGQ ETHs3T2Vq6Vn61BJFWtZ6I/mSyTGtx68kHRljF5WzkVcHHr85yprFr+fhs8mjG9rzPosvOW+sp8 Rap1bHyU7/eqsA1MxUl0DHjVjvY4byVwegR013d9YPolchAzDmhYMFbR2GmvyK+jQSkT60MM+Wv 2JlRstgVTgzEB0n7AplmdfosqUpaQ++0c1BhBQXD9VbVtOnZHINwwAiOIbzYNyqQBuBnQ9INmNB YqDtdtBz0Dt4Nb4ys95BXJayTuDl+rOaneNXN6Ep9iivJp39RVkcN39Dp/qjSBeXkWspw7MdW1Q sZS1Ji7C+CCvRSr1WJ2W7d3g8 X-Received: by 2002:a05:620a:40c4:b0:7c5:53ab:a745 with SMTP id af79cd13be357-7c9607a9524mr306224985a.36.1745574723404; 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: RJzoAX_OGWsWa1cMJiTm5ocN1Zb0iU42 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfXzQSyHa/VNkjU aAIug9nMFwi04swShLfxkHxGUyu+rsiMi2hfB9FE9ryqkYfX9w+1R8xUaZqAWFfg6zd/YPZ7ZDD Bfij3ng9kvxiThGoxEC8afpjldtsCh+N6K4pPi1aPB+QqPRGUx5NkkknSE79I+PN3dlH7rffFmd N2qDtNnTksobc45aHbOsvzsieopSK2ZRBDnxmrvw1oQyHkaBXaRhRltKR7LIP58JwxQrRvH0jl+ zzc4B3LNe7vJim3X0GJjpDldcA4NPsA6g5Q4BMH+UUVuPxofaGlmdFcilhpzUFC7yyTqeUIjx1W iw8lqLLM4qT0aysHNYQu4sQWbpsfM2vfksRdTWuF2/5zcMqxCKMC+8HeZitMXxmhDQVGOwne4vx uiauiP5qTP9mXa5jW+WzG1C1mohxVcQx3nQ/qb7lBjufD5XCljUhjCeceMc8ZfE6xxuAOOxm X-Authority-Analysis: v=2.4 cv=ELgG00ZC c=1 sm=1 tr=0 ts=680b5b44 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==: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=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: RJzoAX_OGWsWa1cMJiTm5ocN1Zb0iU42 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=914 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/drm/msm/disp/mdp4/mdp4_lvds_pll.c index df2bbd475cc2a11da20ac07be8e757527ef41ae8..fa2c294705105f5facbf7087a9d646f710c4a7fe 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 = { .set_rate = mpd4_lvds_pll_set_rate, }; -static const char *mpd4_lvds_pll_parents[] = { - "pxo", +static const struct clk_parent_data mpd4_lvds_pll_parents[] = { + { .fw_name = "pxo", .name = "pxo", }, }; static struct clk_init_data pll_init = { .name = "mpd4_lvds_pll", .ops = &mpd4_lvds_pll_ops, - .parent_names = mpd4_lvds_pll_parents, + .parent_data = mpd4_lvds_pll_parents, .num_parents = ARRAY_SIZE(mpd4_lvds_pll_parents), }; From patchwork Fri Apr 25 09:51:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 884597 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 9E6DF244196 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=1745574730; cv=none; b=kpQuRdRx+AHlQbgcnu8YMj4Y3vKs3WZGTW+SHnU2nBHX1qh1E/Ujs6pVEmVs94EttJQgxbpUlXlY+B1woFdks06WEo4VGYJX0LvBkNFYPmBDwqcBp/Mr+aa+LsE5B3Yfl1nGefRbS0nYhqMKitB0rdTyiTkIzt20neGQKAi3U3w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745574730; c=relaxed/simple; bh=VPdSvEDPiP5nJqqimsvsHJ3lJjjDFvVrzXMRBy049zU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ATguV6PEgpvQIyHHLYoT6uNHTtSf11bXP6ZgT+NRmLem65djDqc8TtQJa+le4jp/OIs4HZ0u5ClgWjMcy+aMg4XJT5IsdiZ6ORm3YRg0TYj0OjbG9BfJxXfqwqxgpsII4XaSFgs6HbAqDn9Htt5n8XKpUOuP70u1xbfPfQFnOj0= 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 (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8TGQQ008750 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 466jgy8gxx-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-7c5e2872e57so353611185a.0 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=MfSl4M62Z3PWWxsBmFUhJNBXjDOPD2o3lxlCZUWrSkFU3CsH83cxxIHQuVRrjJz0Tv wTlCgqf+KgBSv7j7wT+XNCWpjjaey469ydeW1W1rnPPwk/DG1WQtGWgZ07KdH1hdPiSW Y55UpF/b+x0/ImOzHHr/+pV8a4qyR3up6dPVWUqqCe8Z2WSkGmF2S6OaP4zxhutvFvpw BnrHw2NuDZLeFe56UGygouI9nkijWCadS14gfWwctoslIqtdCpoa9unPfJMVZoNafH36 41H4MiqRBf2U21qHbCuOpSSq7IlI0detH0e9TjTqththETvAswDY7EzDx9UffjFUNlU9 pWvg== X-Gm-Message-State: AOJu0YzJy3PYG4y4EcJPWdyBbRxbswTkmbB+06IUa3HEG1Uxk3AwGP7L 8qThTDtK1XD+QX+MVEmt1UfY0/vxrUuCdEoJFFaMAm+s8H/oC+w15gJ8LblukajAOcS4DGJzEY5 D7lSMahjIcZLKGbqDNTUHBTs9GIw7H8jwWoOilrU4LBfktgtmh31aH4I3LFWe25// X-Gm-Gg: ASbGnctgvaR1rT9shK7l5J4Jl2jPSH7zDz/WiBexExk0LmwPQ55Kt2+EPZFiEetoWek KcB1GBWXbZ52v4USklqouXUGfkXusFGxh2r8j5Rvc0tx22BiWLRhZVv+7OuyguJeJJMng9Wcaa5 opZ6FcZrc9ja/D0+RV07m2+mM2lEEzE3/52wvQGTNirtqyl8N9SDRHVc8N3RBg9qAOmjFk8/X4B odVBGtgSwEpJCzocPG/v+ON53NIdepHvOX/3EwaobvomeoX3zxljzDgrTBGIbNYHZam/17gKc+n Eqlo+qj4Z4zY82ON3oooMFBjMs2dp7PykTJobUnHfCawDH2dKGRX5sojEsSO8YEY3P0yKlIAJOF JjFHU8WaIY4rfFvY2g2oe/QbP X-Received: by 2002:a05:620a:2916:b0:7c7:a629:8ae5 with SMTP id af79cd13be357-7c9607b24e8mr256005885a.56.1745574725875; 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX0ghrmMSSv1/S CeG4fUjzyESv+78uL35Ct9+anOvLZG5WyPTx2w9eoxx20ipGSjJBbNy7qdAM48Vb1BkvvLOqol4 YFuxouyhArFaYb8aB998Uhs3cdwjenG0V+Bk/6sYAJ5IwdQQ8d4Ki679Sva0ZRHeGUGzRVuuKVp DN/Gx7qDLiH5GDBUjmwLMVB41rVye9n7O0O+yQp7B4zVYydv1e6prmr0+U6HlwmYnf2Cy0HLwQB iRnRmIQPsEG1kgfE/6qfcVhe0ZxdywrVEAq6hLufwpYi6+/SfAhttUeFm2oR3GdEwQsSDpfh53m 80jXkvxATHsozCd80hNFqxXtmcZFGTd4e11NJA6MG1jL/CJkpdFyiHmQISDTcibxBWmJ/2UfGr6 5/79vxrlUmPF1dVdAb+eSQ6AxbgV7peXzenX3ixclxv0bSTUHiB0bp6H8H8NWYxEMRyVCBbX X-Proofpoint-GUID: aHhzz1ROaqHYWNzm6fQqD5H9UwXI0rYl X-Proofpoint-ORIG-GUID: aHhzz1ROaqHYWNzm6fQqD5H9UwXI0rYl X-Authority-Analysis: v=2.4 cv=M5VNKzws 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-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 bulkscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 priorityscore=1501 mlxscore=0 mlxlogscore=999 malwarescore=0 impostorscore=0 clxscore=1015 suspectscore=0 phishscore=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 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..66f5009fdf8aebcc543b5539d1c2d03075171001 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); -long mdp4_lcdc_round_pixclk(struct drm_encoder *encoder, unsigned long rate); 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_lcdc_encoder.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index 8694e5d7d3f012070c72214df063a6488b2ef707..7f4e8005bc4ae0bc82ec5b87a1fea0530301b427 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_encoder *encoder) mdp4_lcdc_encoder->enabled = true; } +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 = + to_mdp4_lcdc_encoder(encoder); + long actual, requested; + + requested = 1000 * mode->clock; + actual = clk_round_rate(mdp4_lcdc_encoder->lcdc_clk, requested); + + DBG("requested=%ld, actual=%ld", requested, actual); + + if (actual != requested) + return MODE_CLOCK_RANGE; + + return MODE_OK; +} + static const struct drm_encoder_helper_funcs mdp4_lcdc_encoder_helper_funcs = { .mode_set = mdp4_lcdc_encoder_mode_set, .disable = mdp4_lcdc_encoder_disable, .enable = mdp4_lcdc_encoder_enable, + .mode_valid = mdp4_lcdc_encoder_mode_valid, }; -long mdp4_lcdc_round_pixclk(struct drm_encoder *encoder, unsigned long rate) -{ - struct mdp4_lcdc_encoder *mdp4_lcdc_encoder = - 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..4755eb13ef79f313d2be088145c8cd2e615226fe 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_connector *connector) return ret; } -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 = - to_mdp4_lvds_connector(connector); - struct drm_encoder *encoder = mdp4_lvds_connector->encoder; - long actual, requested; - - requested = 1000 * mode->clock; - actual = mdp4_lcdc_round_pixclk(encoder, requested); - - DBG("requested=%ld, actual=%ld", requested, actual); - - if (actual != requested) - return MODE_CLOCK_RANGE; - - return MODE_OK; -} - static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { .detect = mdp4_lvds_connector_detect, .fill_modes = drm_helper_probe_single_connector_modes, @@ -87,7 +67,6 @@ static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { static const struct drm_connector_helper_funcs mdp4_lvds_connector_helper_funcs = { .get_modes = mdp4_lvds_connector_get_modes, - .mode_valid = mdp4_lvds_connector_mode_valid, }; /* initialize connector */ From patchwork Fri Apr 25 09:51:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 884898 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 E2B032459E1 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 (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8T64l030813 for ; Fri, 25 Apr 2025 09:52:12 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 466jh5gjqg-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-6e8ffb630ffso32851986d6.1 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=b/ZIhFbEELj2hucbJ8mCa8OvDD1BCMJYrvppQUy6vdU5GC7KC6xZZfQ7XebhURKEZy HjaeYLg8S5eG3pA9l8PtUCQ5i24g5CHYhMp7GeweiphQUFSBdLe6B6sjSyx5ES0GUSgB 5cfIksrhmbhFxJ7SJ1GpWG9ZlRk1EjE8eGJeTmPrmSAoAbGLU4VfWpbJzpadqKuqku8I kXhHPeXuyvNNN6tjDEAXDz8olgxG3ZSTfHNSGDSzwVYc4D5Uf2SZBiGGWdY/op4sqnLL yRldTGl/Tnn+4f1ELbyykohtOGvBD2k5VlLKS6Soyg/DwNSDlPqlsQkpBrw7hNwhEskM oBBg== X-Gm-Message-State: AOJu0Yx1a8olgrnZs7y6c65+nxi74xUrWH0NuQ3mX90kAE2DgROjrM62 IEH7M0f5v3IKq3RZsTk08mjQJSd6QcOFhzblJjkuzGj6SWI8+R+hdwQF7aLkzFf3rahRh8W2925 f6sr47c/HRINg+0SAyyPM5nnGulI2YLbZRUDjNYvzGvJVrEciuxm5D/0qM3i0RmED X-Gm-Gg: ASbGncvgeS3Adsej94Tz6/CyO0M/UyaxD8f4X4K6Dgemqg0qcozzRfCDO0hPGVAVt0T y4PPFyIklDRP7v70UiTpnJecXqe/2HyjjWx/FwY6m6Vxc5xFemAvBhQgXvWL1LJH32X0daBCVHb Q+oy8+3w78w9S678UXDfmxR83ygm/MQl0NKu4tTl22boslRgj8BQJ4vYGY2vlQsZ5GgY8NGHHya sZZLHsIBfrEQvLPLo1avNtPR5o0ToUwbCW2gCRNv70jbGrFCCTFniiXsmv1Pb/5SjEdNXvLBqng U4MJhLRFSwFUQzfNuKzrRQhEopV0plyZ1JeniHv89OeBMBXJpYt8D3KUBN2CrVv7HZlbXwFOt/S UfivBBb4heMjygVUCZykcag8a X-Received: by 2002:a05:6214:268d:b0:6ea:d629:f48b with SMTP id 6a1803df08f44-6f4cb9ed9a0mr30004686d6.19.1745574727440; 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX0NCyEybi5dHo quPCyjEhISCTglYFtLkN3hYqyhzXztBavmZVKL39ZYTyInQn7gIqfRFBYmdjmY8XAu4+NgSq9sw 24JjcUBc2t2Ih0eqCuXfQ0EhgzV3mN9zFxOkbf9qLU06B5jwoRubbCOqSFDTL/g+QRrfba7hA3n wnXLCv6oeqw1/y6M9c1wmhmvJ0uyAjFnns44uRhhU8zpwllSIW8BYA7JZ4IhPxobIF2xZPo6FRO SC1CUEP+WS8fg2MBV0Xp+yg7se8wSpcKWtpg7GSsbfxRwtIQ4KNeOoPNQorqbVKYjQz0RCq3/5y AS1etbpUI6Ivvz/OC8qz71X30gavoL9XImA+Vj/lzc+fnq3hdQsNKmgZph4jLCAoZARy84OC/Ka KqtRSOQoSZkOaikVz56rniV1je/vtK/BeB4obbzAMMiEsGWS+AqDK5gVNaVNj6N7wpvhAxN0 X-Proofpoint-GUID: FkUhF4EFpqb8hGKOEDxIS_zatIxdyMjh X-Authority-Analysis: v=2.4 cv=B/S50PtM 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: FkUhF4EFpqb8hGKOEDxIS_zatIxdyMjh 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=999 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 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..7a2ada6e2d74a902879e4f12a78ed475e5209ec2 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -48,7 +48,6 @@ msm-display-$(CONFIG_DRM_MSM_MDP4) += \ 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..93c9411eb422bc67b7fedb5ffce4c330310b520f 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 @@ #include +#include +#include #include #include "msm_drv.h" @@ -189,7 +191,7 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *mdp4_kms, struct msm_drm_private *priv = 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; @@ -199,27 +201,43 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *mdp4_kms, * bail out early if there is no panel node (no need to * initialize LCDC encoder and LVDS connector) */ - panel_node = of_graph_get_remote_node(dev->dev->of_node, 0, 0); - if (!panel_node) - return 0; + next_bridge = devm_drm_of_get_bridge(dev->dev, dev->dev->of_node, 0, 0); + if (IS_ERR(next_bridge)) { + ret = PTR_ERR(next_bridge); + if (ret == -ENODEV) + return 0; + return ret; + } - encoder = mdp4_lcdc_encoder_init(dev, panel_node); + encoder = 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); } /* LCDC can be hooked to DMA_P (TODO: Add DMA_S later?) */ encoder->possible_crtcs = 1 << DMA_P; - connector = mdp4_lvds_connector_init(dev, panel_node, encoder); + ret = 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 = 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); } + ret = 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 = 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..f9d988076337cb6fb63af8e76be59b2eb34ab327 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); -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); #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/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index 7f4e8005bc4ae0bc82ec5b87a1fea0530301b427..06a307c1272d10e678501062a63559c5672ce999 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 @@ 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_encoder *encoder) struct mdp4_lcdc_encoder *mdp4_lcdc_encoder = to_mdp4_lcdc_encoder(encoder); struct mdp4_kms *mdp4_kms = get_kms(encoder); - struct drm_panel *panel; if (WARN_ON(!mdp4_lcdc_encoder->enabled)) return; mdp4_write(mdp4_kms, REG_MDP4_LCDC_ENABLE, 0); - panel = 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=0 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 = mdp4_lcdc_encoder->pixclock; struct mdp4_kms *mdp4_kms = get_kms(encoder); - struct drm_panel *panel; uint32_t config; int ret; @@ -335,12 +326,6 @@ static void mdp4_lcdc_encoder_enable(struct drm_encoder *encoder) if (ret) DRM_DEV_ERROR(dev->dev, "failed to enable lcdc_clk: %d\n", ret); - panel = of_drm_find_panel(mdp4_lcdc_encoder->panel_node); - if (!IS_ERR(panel)) { - drm_panel_prepare(panel); - drm_panel_enable(panel); - } - setup_phy(encoder); 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 = { }; /* 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_device *dev, if (IS_ERR(mdp4_lcdc_encoder)) return ERR_CAST(mdp4_lcdc_encoder); - mdp4_lcdc_encoder->panel_node = panel_node; - encoder = &mdp4_lcdc_encoder->base; 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..0000000000000000000000000000000000000000 --- 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_connector, base) - -static enum drm_connector_status mdp4_lvds_connector_detect( - struct drm_connector *connector, bool force) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector = - to_mdp4_lvds_connector(connector); - - if (!mdp4_lvds_connector->panel) { - mdp4_lvds_connector->panel = - of_drm_find_panel(mdp4_lvds_connector->panel_node); - if (IS_ERR(mdp4_lvds_connector->panel)) - mdp4_lvds_connector->panel = 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 = - 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 = - to_mdp4_lvds_connector(connector); - struct drm_panel *panel = mdp4_lvds_connector->panel; - int ret = 0; - - if (panel) - ret = drm_panel_get_modes(panel, connector); - - return ret; -} - -static const struct drm_connector_funcs mdp4_lvds_connector_funcs = { - .detect = mdp4_lvds_connector_detect, - .fill_modes = drm_helper_probe_single_connector_modes, - .destroy = mdp4_lvds_connector_destroy, - .reset = drm_atomic_helper_connector_reset, - .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, - .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, -}; - -static const struct drm_connector_helper_funcs mdp4_lvds_connector_helper_funcs = { - .get_modes = 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 = NULL; - struct mdp4_lvds_connector *mdp4_lvds_connector; - - mdp4_lvds_connector = kzalloc(sizeof(*mdp4_lvds_connector), GFP_KERNEL); - if (!mdp4_lvds_connector) - return ERR_PTR(-ENOMEM); - - mdp4_lvds_connector->encoder = encoder; - mdp4_lvds_connector->panel_node = panel_node; - - connector = &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 = 0; - - connector->interlace_allowed = 0; - connector->doublescan_allowed = 0; - - drm_connector_attach_encoder(connector, encoder); - - return connector; -} From patchwork Fri Apr 25 09:51:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Baryshkov X-Patchwork-Id: 884596 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 EBD442405F9 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 (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P8T6VT015997 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 466jh08jke-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-7c5e28d0cc0so350518585a.3 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=rMGIzgt6SzYwns20fjdYTVHv6GYWKdRR6bBBalj4r1hMAMHDRAso2Nofw8lMw5615t QvoBO2mFGK2o8mMFr8OaXDgIxbpC7fHE6jpQq94SINdk/4UPU/juvamSb2SJKX2Awitl EL6TSOIdlo8wkMh4mb77FuN+fYsvmwvjSm9fwVaxctwpO8VucCTxrp5gFTg8p/4Jz9wg mner3SP6X003zvAjtHfJhVDiSWJeHg1/rXgAWpb8sGCRQnSmpGlPDTWXhvNmPxGvIUBb ix6c4Tvjdn+Jy166oBTQjhBoKb8pWn0ltfWPD+IP1kQnfIOdE3WFcIYM4MUUaOAwwQXF ZubQ== X-Gm-Message-State: AOJu0YyLkb0DbKyHYkfZ7RyF5DXDJDW+ibqg45JWAGkvCiQr4vCo132p s4WCo2Rn6HVE28ZqdCUb6csQEWjo9UHlQz9xftV4nAabYdQNIxnKb0eaEDPJIjJYEMnyo+2MJ64 61Is+ZTOo3U+5ZYJWTyWRHDLzD2XOdu9bKrKHM3uSq1vozCAE0xXnyc+V3f7IYB9v X-Gm-Gg: ASbGnctyhjPIXKgt6hnUQhaRNqFMhhVs4W3B3GtHJc2I0bQGOJ3xrhPdpcQq7L0ik0w JOwAGmqePxRF9wB0UrKGZpGtUh/F6oxfAKUcpM2u5AKYjgOug3zqu9RE6Ll2hbFt+lF02KC1Y6p A0hsRXakmCv7Hye1xrK0dk5bxzP8RKKzs4qif0D/ZQOYo+o7YKw7m/vH6XmXtjTYsMrAaQMQ+OT GaZqHoglKn+iSqEEcUYjYJXltHgkFSZSPTNh3C/PZjzSMQ9XEfKkTclclPttXLGcsvlCSRl26uv ksMbhUX0pTXGFqCb4fYrf8m5TiLR3+H9i08FjK3OKQ9Lvtl43YLYbjpGgIpa9fb44vSWLdlA7XG xf6IO41CYikhBHnBX3IgIClvb X-Received: by 2002:a05:620a:43a2:b0:7c5:4b18:c4c3 with SMTP id af79cd13be357-7c9619a84c3mr221795885a.30.1745574732236; 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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: AW1haW4tMjUwNDI1MDA3MSBTYWx0ZWRfX3Qhh3A7Q3vO0 Dq5RRgM+chAGSw5FQNM9vQtkgxYaCEaZfvhDb3RXs8eyjuvPCYCu2mxIDH+biM32TVjpdH6sTo8 e4V02+r6rYAUVX3a02QN3tdJFnEEm9niXSWIen1xGPIQwYUTKIeYDww5O9Qsnt3QDZwh+mQdfu7 /g0KxwaPmeRh15gwMm5eoMAL0Pg8it6e8mj7PG+eMUeM1MIYs9DwBcajx3ptAiYmQtDsrcA6ybQ cBoSIS7QYuhKX5P2IMwJFYkxtGKIiWPnB7FDt1DzAHz4ncLr7dik4WHdeJongvVDlGMP5kB7cSb QDt1le6SG7gB71vpOyAdUjDhtaztkliNjWPqOgJFaEykALAon/G1MVSNOYd/ZnDbD121ufBPgLa kWROhnpi6XgP2Tg/Cc3Ll2ahGP3dQyDi8LB7kcrLmuUeaA6vg4PQFHBguW+QGFZp9Azagb6w X-Proofpoint-GUID: RVlZdKyLjmMa_Ie-ADfDVzsBmdJfWccq X-Authority-Analysis: v=2.4 cv=ZuTtK87G 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: RVlZdKyLjmMa_Ie-ADfDVzsBmdJfWccq 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=704 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 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/qcom/qcom-apq8064.dtsi index 5f1a6b4b764492486df1a2610979f56c0a37b64a..b884900716464b6291869ff50825762a55099982 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 = "pxo", "pll3", "pll8_vote", @@ -745,7 +746,8 @@ mmcc: clock-controller@4000000 { "dsi1pllbyte", "dsi2pll", "dsi2pllbyte", - "hdmipll"; + "hdmipll", + "lvdspll"; }; 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 = "core_clk", "iface_clk", "bus_clk", "lut_clk", "hdmi_clk", - "tv_clk"; + "tv_clk", + "lcdc_clk", + "pxo"; + + #clock-cells = <0>; iommus = <&mdp_port0 0 &mdp_port0 2