From nobody Thu Dec 18 13:03:09 2025 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5AE8F1F1523 for ; Thu, 20 Feb 2025 11:14:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050101; cv=none; b=BOAtiwrVxuXKN0cZRGeCIrBq/1DgEgd/LlP8L/9TShipPCfRIEKYOKqqChsyVIsNFp5MWL9AVWkb/yshLpwp3aY/h8vyTuHwDJ+6AzertkX5lheQPpR8Yy+0r0m2p/d73NV0+4kfHRvV28HmRfw07SUeuuN3lWSEMNpjRzRMDJE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050101; c=relaxed/simple; bh=h5+bG7QnOGzKdNB1OGuaSSBt1fw1j+BI9wMBVkvkoFE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TNae6YNceYHP1tdzn02md3AU/rm3rGVLcfWC7O5glSG3ZFcT3dL2+uRYaRgNTuYLhxzfcH8Usy/HLXfE+k7bp6aGDawo2jSATcsC9Mbaav4ro4FoCBuWEA81QzTJFKlVD07FxmBXSRjbGCKOgjpLECwKLbsSUXJRjXd77ty4fiA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=QTOQ5b5l; arc=none smtp.client-ip=209.85.167.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="QTOQ5b5l" Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-5461cb12e39so813711e87.2 for ; Thu, 20 Feb 2025 03:14:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740050097; x=1740654897; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Kmi5qZiZT2PWJkmQW4SIR2YbWKNMaLc2hi9Q1PeeMGU=; b=QTOQ5b5lY/sPEsTI3MEib34ZDhz2LgLEfMB04ceN4HFTYp9qJwuH2BMMnEijO9s277 dS+u2GckvHxsYvqgre8mb705Qy3bTOv/wV4TA+A5oboouNQ0fnUxdg7u026BqVklvPMl mJkVW/UxH+D6M72iU+naVMEoMVT0VoVeKqiA6T2Tj70LCSdllTH+HQZSdqVwjmY/sAok nW2UgTiCOxD9iuw8ldD8Sk0tTmwxGeUWf8TSS6bREkXH8l/VsZi7Xcunq9EdKOO6awVG oyw24LUZXbzIX+1HgtpfRzEaObenlb5STcFQxsrmYjO9OgekSmlQCp779OGIeT4W4rNB AkZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740050097; x=1740654897; 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=Kmi5qZiZT2PWJkmQW4SIR2YbWKNMaLc2hi9Q1PeeMGU=; b=oRTHwC2kQKuZwqFRPJhXnGyDmAKKYKgfZD6ig2VIHFSLiwW618I0274KZTgBhjv6H0 Ox5d5s6hyLcbix8rMV8EsAtnaXyAofD1sdJUpKE6PEGVMoArt3gBsOtJtnsyDmv+pb5T Dfg7RawQPzaxAFvgMLaaMGWAz4QVW7fT27te/g9iYEYpopXn+MyIj8E92PXBW3wsMqfo BBZ2D39sPl5Og4GuvN4saMh6d298gF8Bq0ZZ6qkgS8j+zRtClnDc+HyuvjWe7/JOq0Hv SXgW4hXunJImvGXHw/KeoDwvMSS3L1qYSwMmlYFHR8Ko2zfP66lgSfCPr0ryATl1g115 tZsA== X-Forwarded-Encrypted: i=1; AJvYcCVdB3dZc8mz0o4VSbWd7KcRQENL/gS49p0lGiZgcpFkMt1Qc66dL7Mya6iktZ0Pl/uwQwPREAQaktybm58=@vger.kernel.org X-Gm-Message-State: AOJu0YwpcP+LcQbCWf/b5MWWZSUNxCFoGqvhQeTSME7p+XRhs6fv9cWk z3y9xZEYRvJ9lk5AnKJxIvlKFeQ45PKMZGoaCwblVGXwqrAnQ/LT1in4E2o+yxU= X-Gm-Gg: ASbGncujSDLXPUiw74cCE35pRz44sruBYfLWluuu8HOlEor7I1d6ieSgdJ2OcpFM1Oz 7JNHCpiZkTSFIhOPRlwY64mEluCEiFpWYofCRrBBgnqGLfjzuVBqAYkqzVZj3oNlY1gVd7uPfZQ wtB6rbiR6V/Gco64kxuWH6n0V5QAfUlsK+hkJESfcaR559mE9vyRZ03rWDakC0FRQO4Dnxc5I4u 6Lpuwg9YfP76MrinlzFnkGfNN1n2pVa7NWrAMrn1EmH7nJSG04hxTSM9TJPv9tXtGtOHMVETc+J QNCb1zEYCdSwz3TNwhGJ2Tk= X-Google-Smtp-Source: AGHT+IEcT8WbQ5vEweEAYBbOtxpJnbkkjGYmd95cHUJt/YZkrsXFT+WC5s2N5eKXQwAqzYTMpYUmmA== X-Received: by 2002:a05:6512:3a8f:b0:545:cc2:acd7 with SMTP id 2adb3069b0e04-54724a7b458mr785756e87.27.1740050097280; Thu, 20 Feb 2025 03:14:57 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545297856c6sm2056164e87.142.2025.02.20.03.14.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 03:14:55 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 20 Feb 2025 13:14:43 +0200 Subject: [PATCH v2 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: <20250220-fd-mdp4-lvds-v2-1-15afe5578a31@linaro.org> References: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> In-Reply-To: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1242; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=h5+bG7QnOGzKdNB1OGuaSSBt1fw1j+BI9wMBVkvkoFE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBntw6rLFo5o/3jAn6PLBBB8PgMmUUthGTk+MMz3 InhVdiOND2JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7cOqwAKCRCLPIo+Aiko 1T+3B/wIyihaqmkz1M8Ue/9XefuiaGR4R8gc3Nvfhww3ydt5DSX5EZw5UVzMInfEP1xG4CPoA4u hKzVa8HwQouiKCKBbdX5vF79BlHcquloeI5Y8JH6w8VLkE0JCiCm1swqbq2Ak52Hi8zWgVMaZ0N /4iptmF7mzSgUYBc/4uQVWvhGzUVB/MxxldvDVJF/ETZHcAK21P7ej6V9VbrZG2QLDAaP94Gz2t 2WGe08QpbdMkw1qz+JWHeigDBpghXOuipKUNxeWdHH3v2spRexhSKjgHaMVb9113vqi9ss/DvkT EZgReHrtG6NJUbt410Dl9MpFn/PHtEem1Eo7Use0eqzsNWEF X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Add the LCDC / LVDS clock input and the XO used to drive internal LVDS PLL to MDP4 controller bindings. The controller also provides LVDS PHY PLL, so add optional #clock-cells to the device. Signed-off-by: Dmitry Baryshkov Acked-by: Rob Herring (Arm) --- 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 13:03:09 2025 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DFC651F3B91 for ; Thu, 20 Feb 2025 11:15:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050103; cv=none; b=pfesy+zv5fpUI+9nWqZYz6JMM3gP7WTrI1PsCRXws1Byj2HO/DjltPB/V/QWJZyysAGRa1dVsUWU8eNb2YmSVtRP9Ikq8nmA+huHOXjQhmlB35ac0q6DxrqC+tvlNFF/CG4yrYDHJY5GNs2DHtAHJ8xtC73ecObi9WN1fWgqaT4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050103; c=relaxed/simple; bh=Iuu/rih2gTkZKK6Ghs6dsVuCdf8xwLg/vMhkHtsubTw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d/S6dnU9W1ttljj/q1J/CY79a/pN1UlxlTTrl59yZcK1jcnfEfROuzktNW+MsYVSN74lf1A5ENMzJOJCKKpAzVbScPsAlU7dVOkb5ywnPG3TR1Z8NMQHlFpffeeHR4kuKyH41Z5wi/oYs0+F+HJapkOnrn+2KqT42GgLdiyZvno= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=iBKVl2Bt; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="iBKVl2Bt" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-5462ea9691cso957833e87.2 for ; Thu, 20 Feb 2025 03:15:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740050100; x=1740654900; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=v2FT69grsgtQGwodtPuDBrmjAJehPRULckabnrzgeOM=; b=iBKVl2BtZMiXiv6oqXoZt1UyyEDPhbke6aT3kMtbhnoK5P0kQG4inAsIyTaEt8EOsV W0gvhZ/GET1RpJHWhaQY1/5LLYxbSmVTpdz2qH1z3XZmrpcVAUuQsBUCASfFYDjcV92l fyu9IR8N4qe4U4amrtRip+6F08s0IJvwmF7Ai9W7Tyyd873sLvyqVGVKyTOnOf01lQOy IZuiYj/Qs8X3217mTJsU+1rjxiYSXPZqO3oed86Mc/EyP0aZqQjhCjw0G1jl9q3NmLUD mhuR8nofnP55d2yGrvPzNaQPRPtx7R9aCWRl7BqvwucTJDcFJH4H/tE6s+nwTcx1OXSC 4DYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740050100; x=1740654900; 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=v2FT69grsgtQGwodtPuDBrmjAJehPRULckabnrzgeOM=; b=bt8A2keWYIK4XhY8sHfPKkdrHacWC4M95vgncfpBIpgyXLs7POxv2PYy245zRQLlMD hcnXYyU92Hy+e/4FVVnfQY52ecKMiJO3VpxvitnK4G9OQYg0WxefQ24DlZyFHZnLynlb Ru71zXR6ERRjQ0RS/8xFz1lVVJjGfBgRYpAAva5ckDdElaSQDJ+IFn8L5yiGLhKsVRLn I3e5LD4lGZrYy6h0/u+jXf0TOpQfEHWWrsnZ8Fjp+lauuHo9/FOWPVH72CQmAKoocTpC HjKZuAeSUL9Rl798nYw9Ra99V6UT1C/fbuUTUwChHIxEE0W2Asy5gektSmT/uUGXaESU CJpg== X-Forwarded-Encrypted: i=1; AJvYcCVhShrCl3OalHCJ3/n0uo69LAjFnqJQmnl2een9ZnhEq10l83Dtxg7L0acU1GPZKeOOijLVvz25vF3WUfs=@vger.kernel.org X-Gm-Message-State: AOJu0Yzsr8FFIRTUlLUz943JkldcI9J3ii/GAmYTY5IcSnovMW6iogvH Q8SIueEWp3rZ72OU0rEnQgafWHX0/U7TjkXzFX8RXqkrUwm8DeA66qQWq3YxJvQ= X-Gm-Gg: ASbGncvlxJnbsym5Mi5ZqT34OY3VSVG+7je/ajlDW8x/YM8k7S7nbrI4IGPnJax7/wu udkx/SrP02ukaD9J/IHYq8iQpjrAtWdSEychWvyGuf/uRemBuFpGGtUn94aq7NVL8td6nXjMSi+ vOtA+b+94eo4Vb3DRI94bHNVUa7+KNApl9riCT+tx1s8eI4e/GGdYAVSfh9uKvVmwujFwV4/DuM 5NPp3X/jgwjQMKfl6GN/g6440KE5DP6pxEHTrCKn9IhYy/zbLSFQ/0mpds4KTZ475wds4OyjtOh q/WvzhJriRQH71jO4+CdHp0= X-Google-Smtp-Source: AGHT+IEK5YepgQWPALUfLRJKi3C8erOz++2sLryCYJu3ofhHXWr7LbJxyrpPkJIZbnwDfcXCA7dAIw== X-Received: by 2002:a05:6512:1189:b0:545:bda:f17 with SMTP id 2adb3069b0e04-5462ef201a0mr3010127e87.44.1740050099792; Thu, 20 Feb 2025 03:14:59 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545297856c6sm2056164e87.142.2025.02.20.03.14.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 03:14:58 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 20 Feb 2025 13:14:44 +0200 Subject: [PATCH v2 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: <20250220-fd-mdp4-lvds-v2-2-15afe5578a31@linaro.org> References: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> In-Reply-To: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=922; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=Iuu/rih2gTkZKK6Ghs6dsVuCdf8xwLg/vMhkHtsubTw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBntw6rBhceXrSdx0nb7uB53zSoFWDO1AkbXhVhq +gcl/EdOZuJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7cOqwAKCRCLPIo+Aiko 1YGzB/0Xno3UiIYTOdud4CEcJfrYiPKQ+eDCZMrq2/oZ3IKWU8zODmyCDhFLUcbZQ0C04pdG40O rYOSy2Jg8WQNkxq444ypAAVL3fV3LD466bkbnE84alabWsqUc95eCsbpatXcR1zt5C0SXGXZiZc Md04vbC4VX36PjRWVJigYfHQbbINZ7pG28jzX3Sk3GzjQ4frPc8PlEI7NBw+0T9gPcqfovjJp4a j+JLYqZ2LQFVh4CThB5jajAT1whTWnjZZNxaUgEld9idFUVCoLrRLazh8ADiIT3oMEBF9UbJt2J FY1lN1Ofmnmmuw+OeJcGqDv8RkS5ZlbAx+7roaozkAtlnVV3 X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Drop the !COMMON_CLK stub for mpd4_lvds_pll_init(), the DRM_MSM driver depends on COMMON_CLK. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- 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 13:03:09 2025 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AB541F3FE2 for ; Thu, 20 Feb 2025 11:15:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050106; cv=none; b=osh6r1KqTuhXGu16Wz5ASigZmJy+fBwwWSmCcpFhDTRE4HV2/y3MrdZUXH2k0J4BirgzXaqMOpPAUVBJPa9fSUydbuLdKDMF1EjsCc/5HzcaKK8g1QrfLCGm9rdT7PwWW6bNmtKcyAn+Y8Ne52ovMIuFj/kZZScxvYZu3a8cBMk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050106; c=relaxed/simple; bh=nznA3A8GlMjZ03UpAd+EaFdRwVMW2jSUcP5sfO1ICTE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ENLGAz8QAeiTCkJ5MFvidGmZIKEyFeOJSGx5VFtB21Drc1ghSlAgRm5K2dkAce2yQXtz79yLT2U12GfCSXlWRekqxEdjoWr0q+UMiOC4uOL8N6MBDrLVJbNFxZn27GfHDsx1uhltuQMa7qyHByuNM3SGFncezhM8NkOrwnKZ7aA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=RskiQ8dr; arc=none smtp.client-ip=209.85.167.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="RskiQ8dr" Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-5452efeb87aso837969e87.3 for ; Thu, 20 Feb 2025 03:15:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740050102; x=1740654902; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=z8FeS/va+zHK5sGx9TRcjS6J+iyejHe2ih+fYa/2Q5k=; b=RskiQ8druaVN5Zmaf6bSU5vQysqosg8jXKAufIFYDvpLx/xPdzcW3QiuR6cKNQZqrL obP0UqMrACbhy0PXpnl0WDM3le0a5DVieNfgo9+svQsnQA2MRQWot3WPlHUDiwBhUiJc Cd+dxtilfbvYEFGrF9zEtAKQzH4jI5yAl6CipMoNfVPPp5ZMSDNgq5LD/gkr+tDgpspz blTlCq9yr/VyjP9n5B11u0pzVFVnmIueXWw5bvXpIhBuu6LtqNO1E5mHRdG9flPPFQ1f MKh79/BfA4phw+Zs3mUpHh0c40bAOPD/wBXaq0C5CLNehEOiOWR+OHT3p1NJCgxtdURN +qgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740050102; x=1740654902; 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=z8FeS/va+zHK5sGx9TRcjS6J+iyejHe2ih+fYa/2Q5k=; b=BZh/9pSg651SDVf+jU87Xx1wxy1isDzheojNvu8bYMzJvQGEpOpxrPaH3Mwk95Ln5E 2kpGPFKvSEpY/7nuxyOJbs4uPjAhYxcVy0efOaNgdpF8NFdub2s5wgxUF+Xr25kgVQwo qteMKM8kD/0vLJyTrfK6pW+DeX/PmhtKbOWSg3pzYTu3hIVyS5Dds29TYR9jmZDCw/QD UkYQmZP80BzBvCaNq2UNTKeHxb6Dqa8DyXTeczsYof4xMLeYu/4/KqGGp/mC0fk4GArZ 0/Ly4kZNKbYtpLfo8MIR9/VWbjhUhaPjvdX4jTvPhncnYINRx9k9cVh2tthJdMUucQkM DXfw== X-Forwarded-Encrypted: i=1; AJvYcCWgexdAT7xbB1QqaF6sVoGf819K30ghtJUf6Td9e5Gego8IrkhP7hP9fEdVlvy0DKy0agNRVOnL5c/Viug=@vger.kernel.org X-Gm-Message-State: AOJu0YyjXuPQPOCMJlewJPiHLg63nvrO8J0CPn8HIXpM5avsUqi7cJK0 HosWifgveTKeu9dn6bOm3FV2WhjcD/7sEyKz1PE78hlyNqF34J/3A4L+i76PJxY= X-Gm-Gg: ASbGncvmCUIrKRl4Jn5Lw7SK4o5znWMqwbZMs3/bMlmVGpqNITLFOqBwrjNmWnUhFxq rVRwQUUG54ZWDoKZ+io1XKYAGTVS8qDYC7oMhoyYcMIhewQqiuRWHPfG2FAnWbo0hRJxaYV2ODH 7jY1HY5wXDpTZTud9SOBHGfubhSG3i/l1Vd0ASjELJooDD+RnCQQyALm5+faMF+i7A8J6OBp+IA VRjsMKOVOuNBd4TpOwwQE9GRZP4To9ctZ4PZiOwO/7u+nYosdnhPNN90NnyqqVFapQrY84fZpVA 4shzNGPQTgwoEhYzxmNseEI= X-Google-Smtp-Source: AGHT+IFU9ElSwjjqQx8XjrVFfwUEEeETjZJP2gCbsJDlUGmgPawhSl7mzS0K/iqHALGezyTI0ARFpA== X-Received: by 2002:a05:6512:3b06:b0:545:1bd:a0df with SMTP id 2adb3069b0e04-5462eef45cemr3252158e87.23.1740050102303; Thu, 20 Feb 2025 03:15:02 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545297856c6sm2056164e87.142.2025.02.20.03.14.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 03:15:01 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 20 Feb 2025 13:14:45 +0200 Subject: [PATCH v2 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: <20250220-fd-mdp4-lvds-v2-3-15afe5578a31@linaro.org> References: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> In-Reply-To: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3307; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=nznA3A8GlMjZ03UpAd+EaFdRwVMW2jSUcP5sfO1ICTE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBntw6rRbr96yN51JnJO6N0m78cEm276ifFyrQ2E SShQlIaEjCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7cOqwAKCRCLPIo+Aiko 1QfDB/9LTU1jklbNgPinoHoSuaCNIbTox61Mp/VXVFwjcGnGIgku+sEd8/SG5lglE//EmBGWt6A g+GYO1DSoxgyIDBhioiPRbqPWZ8AmLX62snw6MX24URO9S2wZbECNtWPpvkIKXZwExfe4h8mQQA PokpkU5Y420PU0CHcE0rm8N91K0OU3Dz861Tta1thWxOxytytW8WWbxHDv/Yxf8pjAvGbw4brzd Urh6HMf9xwocvdRIcaEM8Nkb2VDVEtw94oFGAQ0oNyukOO5jFRs/BlCs1foGhvnJoKGvtsWs27O WlUpo1/27GKOfKGo+GWMovy3tyjklSjmA8aiZGvTklHcDUWv X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A The LVDS/LCDC controller uses pixel clock coming from the multimedia controller (mmcc) rather than using the PLL directly. Stop using LVDS PLL directly and register it as a clock provider. Use lcdc_clk as a pixel clock for the LCDC. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 2 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 8 +++++++- drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c | 22 +++++++------------= --- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.h index 142ccb68b435263f91ba1ab27676e426d43e5d84..b8bdc3712c73b14f3547dce3439= a895e3d10f193 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -207,6 +207,6 @@ static inline struct drm_encoder *mdp4_dsi_encoder_init= (struct drm_device *dev) } #endif =20 -struct clk *mpd4_lvds_pll_init(struct drm_device *dev); +int mpd4_lvds_pll_init(struct drm_device *dev); =20 #endif /* __MDP4_KMS_H__ */ diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gp= u/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index 8bbc7fb881d599e7d309cc61bda83697fecd253a..db93795916cdaa87ac8e61d3b44= c2dadac10fd9e 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c @@ -381,7 +381,13 @@ struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_= device *dev, drm_encoder_helper_add(encoder, &mdp4_lcdc_encoder_helper_funcs); =20 /* TODO: do we need different pll in other cases? */ - mdp4_lcdc_encoder->lcdc_clk =3D mpd4_lvds_pll_init(dev); + ret =3D mpd4_lvds_pll_init(dev); + if (ret) { + DRM_DEV_ERROR(dev->dev, "failed to register LVDS PLL\n"); + return ERR_PTR(ret); + } + + mdp4_lcdc_encoder->lcdc_clk =3D devm_clk_get(dev->dev, "lcdc_clk"); if (IS_ERR(mdp4_lcdc_encoder->lcdc_clk)) { DRM_DEV_ERROR(dev->dev, "failed to get lvds_clk\n"); return ERR_CAST(mdp4_lcdc_encoder->lcdc_clk); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c b/drivers/gpu/dr= m/msm/disp/mdp4/mdp4_lvds_pll.c index ab8c0c187fb2cd05e26f5019244af15f1b2470c8..cbd154c72e44c848fa65fe01d84= 8879b9f6735fb 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c @@ -133,29 +133,21 @@ static struct clk_init_data pll_init =3D { .num_parents =3D ARRAY_SIZE(mpd4_lvds_pll_parents), }; =20 -struct clk *mpd4_lvds_pll_init(struct drm_device *dev) +int mpd4_lvds_pll_init(struct drm_device *dev) { struct mdp4_lvds_pll *lvds_pll; - struct clk *clk; int ret; =20 lvds_pll =3D devm_kzalloc(dev->dev, sizeof(*lvds_pll), GFP_KERNEL); - if (!lvds_pll) { - ret =3D -ENOMEM; - goto fail; - } + if (!lvds_pll) + return -ENOMEM; =20 lvds_pll->dev =3D dev; =20 lvds_pll->pll_hw.init =3D &pll_init; - clk =3D devm_clk_register(dev->dev, &lvds_pll->pll_hw); - if (IS_ERR(clk)) { - ret =3D PTR_ERR(clk); - goto fail; - } + ret =3D devm_clk_hw_register(dev->dev, &lvds_pll->pll_hw); + if (ret) + return ret; =20 - return clk; - -fail: - return ERR_PTR(ret); + return devm_of_clk_add_hw_provider(dev->dev, of_clk_hw_simple_get, &lvds_= pll->pll_hw); } --=20 2.39.5 From nobody Thu Dec 18 13:03:09 2025 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C4CA41F3FE3 for ; Thu, 20 Feb 2025 11:15:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050108; cv=none; b=sP8r1ynyo/2AkwHuzw1K7HU7lHx153wmMI4wkKh0MPuNps5xWF6Qhkjgjlg30FhuMRUK4e0QUMDPoosuheVuaDz/1AvJTttJi+k5TV2kWpq7NDfLrNw5MouU2rvBjXXbr3QNOKIWsQxgt2wW323k8oy9aSO1LUTq6zzgWPzBPjI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050108; c=relaxed/simple; bh=gCK+JqgYnCP01PtEyqufWSc/n0zhfsQsxdJ+Ud3negE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ezOFVoCPNxrGl/GTpTt4u/eD8W35pJflU9QpGV2/CrVMzyzMLCA9HI2p7eIgjzEdNoiwGft3CCBa89GkiPp+s/C3u/4tF6iLMZqcqMeATXMg9Lxd8kqre8nA6KkiXO1ab7EiLBimldXTnHnUS/eySOnGfntPQkV7v9CIAms4Vhg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=t1XDyR9T; arc=none smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="t1XDyR9T" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5461cb12e39so813859e87.2 for ; Thu, 20 Feb 2025 03:15:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740050105; x=1740654905; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=KX85e3cYE0QI6HqN7XA+DGsKC7NKCz4a8QkfcGXFNn0=; b=t1XDyR9TxEYGdB7O5W4LWddE7+BKL6nRqeRlsqAwGsswZisS7/hJJu5VijaZzkI4e3 YSpunAXOqMM++4y98K2JFg93tAbggWEFQSimCp+QDJrvfK4ogpwLDYNBVmcVFDM6S+P+ CJ5NSASxnKW3d2XAJklwNV1vkUVN7QPC5fA+ZAX/2EiOJFiXKMhBoGFM1uhhcAA5+Dsu Bt+kPWUIU8xlZ+RWud0Dstj8rv1MxEp20PXyvEIcrx679M42EkXgA/G4K+6dNiGRnLly TtSi8g47CCAvdgFzIp/d9IF6ALA6VtJYr6LMLzHv8iJedYraIhpWkpNONnjB2H5YcfnA 3jTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740050105; x=1740654905; 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=KX85e3cYE0QI6HqN7XA+DGsKC7NKCz4a8QkfcGXFNn0=; b=aqZWvfKNvDShQNDsdJtzQlb+epNYAZZv3WDAK54po1Gv5P3S4ZiRxnqpa4oLGI+GVc vqGoIwH5dSiZAamOMLtFc/lbehaPf8jNPqse1egfnI3V5qrdXzi8UKH/8ZCXBubIrPe4 W3VTfUL4qBsbt5lMWwWoSSjkKV46LJcIEd+CdztjBB5rOK+1IlVkhqJi3oTTyZpa330c I4haPT4HeHO7rlsHUduZ9y1Z7mWTC44LcYczUAqd8M0O6hA/IBS/egIq+d/MJtMnAabH ZvM4tv8WGn0/UX4rIJW+tRl0RrWe07dITChPDMIIkrFighl4YOicvS8NuXsMB/YYjosp dIBA== X-Forwarded-Encrypted: i=1; AJvYcCXWqriD8+0xOmUrvbMHum2kaD0vtvdrX4XxLwr/mw8paPiaCBWPoAb0HQoJpZmSUzAAegCo2ar2Gm/5uko=@vger.kernel.org X-Gm-Message-State: AOJu0YxyDobmO3DqiLgBBOIl1TYgG8CxI7zjNQBQ4D22TNTFB+Mij1Yw T6URwbtw7JfiokQ+DmBKvjOuxSPoZMb9FyjotZQJR0vpUblDIyV165E62xZOGbU= X-Gm-Gg: ASbGncsgOuhSzHVvgPfyVtfBMUHdbUSTUskRzD+96d8h57noIEZ0HxwTQRuxE5ASIep ZJ1PtWS7pcnlhsL+rkz+hI8B3s/ARs58vesW2UIBY9ZVWWvwDWp7P/HMURwYFRyYNXH4rOPcd7L zoPXiRjoWPyA21K8ZAnx9IJCSAaJn0z+Fie0ClzfxF14VpgLGdU6Gq4u6iz/fWgTK07dje+ZKgF q/f6CVZOX9NXU799F/WO/eYWVE8VJc0VBlbJONFMdFpod9a3TTSi2IddGfqGA01zfQzeXEgX30/ Rz3wyjtDzfU9o7a7mJzqMzQ= X-Google-Smtp-Source: AGHT+IG5EZ3MbgXrnnf2FkcjlwzeGF14xhIhWRQXhiEeQQCNYMIhTxtVaUCFD3nFrIpgoLw26AvRGg== X-Received: by 2002:a05:6512:224e:b0:544:c36:3333 with SMTP id 2adb3069b0e04-54724a7b447mr799283e87.30.1740050104821; Thu, 20 Feb 2025 03:15:04 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545297856c6sm2056164e87.142.2025.02.20.03.15.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 03:15:03 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 20 Feb 2025 13:14:46 +0200 Subject: [PATCH v2 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: <20250220-fd-mdp4-lvds-v2-4-15afe5578a31@linaro.org> References: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> In-Reply-To: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1210; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=gCK+JqgYnCP01PtEyqufWSc/n0zhfsQsxdJ+Ud3negE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBntw6rEbJHBbORbIefZc6iISdAFhieGQ33v4LyZ TdCorO1c32JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7cOqwAKCRCLPIo+Aiko 1fjdCACP6GLXiufCQ9UEpsNvSB7qNK9i1JDaj/ntqy8bB6XhsyXItB4E00m3PRNBAO32QhZ/WnX nktwAb2tH1j0Sg2HKU0CW0Y9y8l5jTX3oLQoKh+wVAXrXdpUum4qRBndE88/7xaSa3x+p85OzzL xWXcDJkFVKUPuNj//5AF0s9+33Pyfp2sgqUbSKltUCjoNEvj/5XSvD45MaEfhAfp3k7I1skaPE9 a1SwxoaY4Sx44nleZaJ7xvx4VAThvuBbUtyQix1OGjk5hqBlK7y0cW/iDzLKf30qxM9lvBY0Jk8 fOYobntzAK8ViKS88/mj+MvhbEgHl+1nuplkxzdDW0tswKXM X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Instead of using .parent_names, use .parent_data, which binds parent clocks by using relative names specified in DT rather than using global system clock names. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c b/drivers/gpu/dr= m/msm/disp/mdp4/mdp4_lvds_pll.c index cbd154c72e44c848fa65fe01d848879b9f6735fb..a99bf482ba2c02e27a76341ae45= 4930a13c8dd92 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_pll.c @@ -122,14 +122,14 @@ static const struct clk_ops mpd4_lvds_pll_ops =3D { .set_rate =3D mpd4_lvds_pll_set_rate, }; =20 -static const char *mpd4_lvds_pll_parents[] =3D { - "pxo", +static const struct clk_parent_data mpd4_lvds_pll_parents[] =3D { + { .fw_name =3D "pxo", .name =3D "pxo", }, }; =20 static struct clk_init_data pll_init =3D { .name =3D "mpd4_lvds_pll", .ops =3D &mpd4_lvds_pll_ops, - .parent_names =3D mpd4_lvds_pll_parents, + .parent_data =3D mpd4_lvds_pll_parents, .num_parents =3D ARRAY_SIZE(mpd4_lvds_pll_parents), }; =20 --=20 2.39.5 From nobody Thu Dec 18 13:03:09 2025 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A0481F4614 for ; Thu, 20 Feb 2025 11:15:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050111; cv=none; b=lScVwRDWR6AFU10ny0IsvvZ5pHs3cX5DhA3tbS4o/WrhiFJ0hLSLMfljcdRZWG333+HR/4jIuCk7Q+W9s6yminBFXFWHng+WRQdKv+bmgzrCJV/qDzVBeaisRI9AGGXvfJKdz7Eg9A7kP0ODHuBUL7kMdniaGQDE/B2EPYCdgkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050111; c=relaxed/simple; bh=sd81US2AbqPojIDQwuSaetI1ujs5Ko+pXwBs3VRaHGk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QLltybe8PX6c+iqSotroSmspTK3QebuRoTe1isGC0ciH3hLVN5/hif+1z2sLvD4yLxGLFqDRL37DX7iOXgVHwmLUwhvrzs0HR86c7y6DUw87EiPRUlHoBmk2RB67+yarP4mb1XcaFoINktAXRyK1RZG+kmCwBpfQ8cjihbWL2ls= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=J844hpP7; arc=none smtp.client-ip=209.85.167.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="J844hpP7" Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-54524740032so894627e87.3 for ; Thu, 20 Feb 2025 03:15:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740050107; x=1740654907; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=atkE0DuTwytlFBGYlZ0GLoUvtN43x5D45gLKOUS3e3I=; b=J844hpP7zXL8UyTZOhKNL1Tgpietyg2gDlHJqpUidrSHzSXAhdjQL7WarK70KjWXvs 8ev2jSP36nbHntm1oElu5AGQwin+RxLKm2if21z4WlVYS52qMwVRTUGu3h7k2HiL+3Lj n+DdV6Y/dOSByPThG4bq3kZTBKbAYXcQQmSOrSkYcxBr/N2D1vF9VhvicIKb8vYiPwaF UryD7CgPP8PZ3dEkZ6ywqX3HPkUUu9+7T5i/YpgD7pOuSn8alzecdpvjfD1mFDzfFwdX GNhmDr+ht7Q4pWgvTapjOmQeFYUMeUqwSBShBEw5tO6mwx7U+coPw5ChNl0MdidUBUCr M8Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740050107; x=1740654907; 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=atkE0DuTwytlFBGYlZ0GLoUvtN43x5D45gLKOUS3e3I=; b=JtUdc7y4m7USprCN+QMwQllL8FVA4OzdFZSy0VjATXoCNCuyek7Q7qyiZ+2NMxHEzy 4sY2kl6zkHhpd39SV5qSXYcN3sx0ndh7xjbNy2pkPdireqNbKVB9OMvzM0vYm1LO+lYR Bw54lfFJ+iCNO9Q0MTnBuPhsyYYok2ob9uR7UWdRL7WSPW+uulccXevu48acubeit5am 9ylXiINmI9Z8wxrW7GYP3ZLj3MOQJD2+B6CGgMKLKF4hCP3BXVSFmDQvatB53M9oY6JG 9OWnMLtQCfZfa1GffaUFQMcPduR/DdNRxhBhtmD2ipSjOARB19iafqWNLwsFq3I0d113 XQdw== X-Forwarded-Encrypted: i=1; AJvYcCVc640UJWX8COmeA0MNnaQ20FX8ImK2N1Wzq3A116xx5uULbzLzsthbK3lZLjAyEg0DOBaxniK5hlSNjlE=@vger.kernel.org X-Gm-Message-State: AOJu0YzHpqHB2VzSiOP67sNKaAHQC9/NqWVtKz6EOOMHn9MVyJ7lSdoI fz6tr2X+kUNkPbPq7kCiSwfp+L9PI/4NnIwHxD6xYXWK/kIiwE206S8R2dWUFv4= X-Gm-Gg: ASbGnct9yMUfB+fU4bFqMw81HgxXJ905hw7A+foVv8KCF/lgzzOiNL4V9uws41ZOjME Vz8lqttFKTcuPtxh4qWkunGd1/jWpDIJZlnFj6cTR2aOeX7G5eaC4DuL7srhGRxBhpYuyt3k01U lrxIe+paXZTIXTxyFCeaLSxTB7EC7SzNAR0xPQwbudyJSi6TOihmkxncSbaYv7wjJsELa+ZUZ0q tzL+XcOiUi5f5SEz8yDuOLJE8JLQpb/WJkRpR6UaIloByPcfJD4vqhNjjk9ucz3a69+cyYCKk3t OIPbWgvWSuafV98HpHWUW+I= X-Google-Smtp-Source: AGHT+IGeL3hIO5IEL/UFM93w49MRwYtCVueI+BviXB8wj/vAF/fCqwh+GCrLx80hGd4UkPc4SzjieQ== X-Received: by 2002:a05:6512:e97:b0:545:56c:36c7 with SMTP id 2adb3069b0e04-5452fe86dddmr6819562e87.41.1740050107328; Thu, 20 Feb 2025 03:15:07 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545297856c6sm2056164e87.142.2025.02.20.03.15.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 03:15:06 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 20 Feb 2025 13:14:47 +0200 Subject: [PATCH v2 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: <20250220-fd-mdp4-lvds-v2-5-15afe5578a31@linaro.org> References: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> In-Reply-To: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4269; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=sd81US2AbqPojIDQwuSaetI1ujs5Ko+pXwBs3VRaHGk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBntw6rTPm+AqJ3Oe00AJ8yppJULkHQ9dKbM/18U NNC9+ZJDDaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7cOqwAKCRCLPIo+Aiko 1UEECACKjmUdHIogEsc92biZ7CHLmnmFDJoK5DYBGMrRoc0gq30rOLHn/DGpybnuVUOoTRhcCQ/ srxTbAtPHYKz5GPZ6HU0nzSuZXLeXlZa/Ai98jYxQvVyvkSayLovY3UkjzoHNOyXfwc38FLIPvM UIMP/EawAuFJbkq5PFnq1nTdWXtjlEIS+cmao+5TlRnb4Gbgw5l6KI1unJiMLewApO8qtZaYaGI 3Qr0lVOLugDL+admaJR4HlV1P6LFCZnMPDwaYuDVzuhgww34I9LV303cDXMY2wBVZnDFH5d14j0 WWj6ag03DsV2nNjKI2J0brnn0vx8z7++w82J9fjQuvZwj+rQ X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A We can check the LCDC clock directly from the LCDC encoder driver, so remove it from the LVDS connector. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 1 - drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 27 ++++++++++++++++--= ---- .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 21 ----------------- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.h index b8bdc3712c73b14f3547dce3439a895e3d10f193..e0380d3b7e0cee99c4c376bf636= 9887106f44ede 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -191,7 +191,6 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, long mdp4_dtv_round_pixclk(struct drm_encoder *encoder, unsigned long rate= ); struct drm_encoder *mdp4_dtv_encoder_init(struct drm_device *dev); =20 -long mdp4_lcdc_round_pixclk(struct drm_encoder *encoder, unsigned long rat= e); struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, struct device_node *panel_node); =20 diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gp= u/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index db93795916cdaa87ac8e61d3b44c2dadac10fd9e..cfcedd8a635cf0297365e845ef4= 15a8f0d553183 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c @@ -348,19 +348,32 @@ static void mdp4_lcdc_encoder_enable(struct drm_encod= er *encoder) mdp4_lcdc_encoder->enabled =3D true; } =20 +static enum drm_mode_status +mdp4_lcdc_encoder_mode_valid(struct drm_encoder *encoder, + const struct drm_display_mode *mode) +{ + struct mdp4_lcdc_encoder *mdp4_lcdc_encoder =3D + to_mdp4_lcdc_encoder(encoder); + long actual, requested; + + requested =3D 1000 * mode->clock; + actual =3D clk_round_rate(mdp4_lcdc_encoder->lcdc_clk, requested); + + DBG("requested=3D%ld, actual=3D%ld", requested, actual); + + if (actual !=3D requested) + return MODE_CLOCK_RANGE; + + return MODE_OK; +} + static const struct drm_encoder_helper_funcs mdp4_lcdc_encoder_helper_func= s =3D { .mode_set =3D mdp4_lcdc_encoder_mode_set, .disable =3D mdp4_lcdc_encoder_disable, .enable =3D mdp4_lcdc_encoder_enable, + .mode_valid =3D mdp4_lcdc_encoder_mode_valid, }; =20 -long mdp4_lcdc_round_pixclk(struct drm_encoder *encoder, unsigned long rat= e) -{ - struct mdp4_lcdc_encoder *mdp4_lcdc_encoder =3D - to_mdp4_lcdc_encoder(encoder); - return clk_round_rate(mdp4_lcdc_encoder->lcdc_clk, rate); -} - /* initialize encoder */ struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, struct device_node *panel_node) diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c b/drivers/= gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c index 52e728181b523cc3380d7718b5956e7e2dbd4cad..4755eb13ef79f313d2be088145c= 8cd2e615226fe 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c @@ -56,26 +56,6 @@ static int mdp4_lvds_connector_get_modes(struct drm_conn= ector *connector) return ret; } =20 -static enum drm_mode_status -mdp4_lvds_connector_mode_valid(struct drm_connector *connector, - const struct drm_display_mode *mode) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - struct drm_encoder *encoder =3D mdp4_lvds_connector->encoder; - long actual, requested; - - requested =3D 1000 * mode->clock; - actual =3D mdp4_lcdc_round_pixclk(encoder, requested); - - DBG("requested=3D%ld, actual=3D%ld", requested, actual); - - if (actual !=3D requested) - return MODE_CLOCK_RANGE; - - return MODE_OK; -} - static const struct drm_connector_funcs mdp4_lvds_connector_funcs =3D { .detect =3D mdp4_lvds_connector_detect, .fill_modes =3D drm_helper_probe_single_connector_modes, @@ -87,7 +67,6 @@ static const struct drm_connector_funcs mdp4_lvds_connect= or_funcs =3D { =20 static const struct drm_connector_helper_funcs mdp4_lvds_connector_helper_= funcs =3D { .get_modes =3D mdp4_lvds_connector_get_modes, - .mode_valid =3D mdp4_lvds_connector_mode_valid, }; =20 /* initialize connector */ --=20 2.39.5 From nobody Thu Dec 18 13:03:09 2025 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 208FD1F4734 for ; Thu, 20 Feb 2025 11:15:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050115; cv=none; b=bAP512lNMl+8zCwLwndsQe2PaU87rR6I4SXQuP8Efzwq50HE5pPISgejLkGxibqt3Sf+qfUCtASFvDizmb3fKLu/0y/jXDPLw5sgL23XjBfEyKwGH8s/G+udlG3o9LzYOA6xj3uoMphoNCACozHoUqUD+UUCKOAl6TcXp7SV2Bw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050115; c=relaxed/simple; bh=90eJnitNHrEK/bHG/5dquibI/K0ZaJ2fO88HjDQ4Cno=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rtSh13YHvYPKN2sQCinP9QD7D/V+n5SraOBYovRn+MV/niwzWCe6IF+bi0FrOTElNgOX8nRuqZnWb415XSlrwUuao5QyhUqxx4qQoRvvBLSzx1XICzXWqczhfU/uyMsap1QYGpFpZe27dudNmMEetfmWXKFU3H0RZ4LXQjH/HB4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ZGsrWDiE; arc=none smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ZGsrWDiE" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-546210287c1so935881e87.2 for ; Thu, 20 Feb 2025 03:15:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740050110; x=1740654910; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=B+FSEAZwM3JMz4x3mQU5rxG2ANMYWACSorMBKNolQMw=; b=ZGsrWDiENORAxlUPtjS7NvG1WDP5OGA3sPoO1pk/zZk1P3tvlr8atT66yDm1PKILt4 P/dwEokIa13VwmOzRfKZSsZUnS/B2pb0phCrp7SYKmZ3OrcJoOVGsbDxBUBua9F2wU+M adasMSafMXPoxkDVWLbfpvABjb8hle2lFM+USUqFwS7hv1R4OVHHFfi0Foue6M5ZIBvC c9zSFRtAIs1fwSD2Rx9EwhMjnSKSZejUTxSf1oSbizdsLpqfE9mt4A6qVi3YGH39JQ9K wPKamOyS2cxnFJFYR6jxe0BwA/k9JxBjhusfSIsfHZMwjJ9e2vzrWT440aZG3FyQSrI2 HwTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740050110; x=1740654910; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B+FSEAZwM3JMz4x3mQU5rxG2ANMYWACSorMBKNolQMw=; b=Q2aOqaiupfklSJAedyWlCS1m12YPx85KjKTFu+SRvslohegRcZVBcZXShK7vKMYGtr rOqdZMMTpwZLAMmBRYTSO+KWz58bv0doD86byE/wLIPi9gO3MiMBAuMRBXzwfMMraOGO j+EZircOchWbVjkZZOxO7Hns/cjT474rUhsTq1dVDtjap5HrbALiMJmd0tAX0bBWgawY EPFAyku7zmNwfyJMVkvUwfncKyylEbuzyF7tns8GcNWYSh2YBY7cZhapp1jykv3oJATl 2PKMsVnjgyxSbkdqIau5XDiT781jC8NohvxgAgnF/VgBwJycYGoJm6qFr5sbKfeXvKOc n6rw== X-Forwarded-Encrypted: i=1; AJvYcCWdW7NAbIYMuGrtkUlasLEojGhghXUEz2y+z033b69tV/vmvy8ZtfMbqcbpvFVCTKkTDtIqN7HXdr7IsqM=@vger.kernel.org X-Gm-Message-State: AOJu0YzvAaNlUJpepY1vcgm2hZjb1isBrmHcgbHGK7iyS5XzRvRKnkd7 fn7t+/bM4Uz9NIFeLwnhvHRENXZuvBV8uJJbTBZV5XAj57Diq8cuZH/+USgS+yBsbCn2rOraEgu 8 X-Gm-Gg: ASbGncuAkJ0xnAKDfUZeOvNEbAe3yq2qaI0ZQnReWM8LrU5+PWXfXJn8f4QwQQ8zJYe IVxiObAX6K2nKwrp+ZfcCZN0pgfBW7grmPzoEVbnq7GU0urcHxii43We6IDyeKYdRHxj2vEhCbc A4NOrK1jp+o/9683EF5gQtKazbmELZ1bk1APkAvmLzrJ7edMHpiG8iJ1IU+bfpM378gVaq3VnT6 fH/NwoPuqZEjxWLmcAvlhk8aAJrdUcedSRA8cycjXBaLleDgovv83j8HmdrHKWS1CFqXzByetC2 6XjyyWXxBDvbSAZAM0DBaJw= X-Google-Smtp-Source: AGHT+IFLmuofJZAPPdn/voaRPjKCsN8RM7jaAav41hPT/JRZmj1CezRyZIpCTJVK79XnKgaiPolXoQ== X-Received: by 2002:a05:6512:304d:b0:546:3052:4202 with SMTP id 2adb3069b0e04-546305242bamr2422240e87.27.1740050109865; Thu, 20 Feb 2025 03:15:09 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545297856c6sm2056164e87.142.2025.02.20.03.15.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 03:15:08 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 20 Feb 2025 13:14:48 +0200 Subject: [PATCH v2 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: <20250220-fd-mdp4-lvds-v2-6-15afe5578a31@linaro.org> References: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> In-Reply-To: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=10669; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=90eJnitNHrEK/bHG/5dquibI/K0ZaJ2fO88HjDQ4Cno=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBntw6rtOhBVgnhA1cDBrmo3nWNRXGCQYlsACeFE SrvA3JYiRaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7cOqwAKCRCLPIo+Aiko 1WB+B/sGNxABjeQAlXGWahE6pllJa60BD2dJK6JoWb6ygju1p7TpDAMrrzrN/Hhu6UpsgF2b0Vp xBkGYh5ze/VPFoiEWAJBfAFybO7frnetNtDUDHdAs7pV+QgKYpQ+xBZJMs/AnNAMvm+5UUaQajN /6GiFhzpK1zS9XxmXpxo9/eq1D/wK20M0GJPd4ZycQXPsEw7eLxUFwLdBBAtky6eoBWRRrh8q76 9raK63egGli8/RYgC0hXKk0kKYhQpyP/FmvHJcl/O9KK/2DkclMrwi54uXNTf3chpDvSUevQcZ4 aB9FW9iG3kZL6VNh67QhnSwTkfVMnBUcmdhCV9CAFBL5DuCM X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A LVDS support in MDP4 driver makes use of drm_connector directly. However LCDC encoder and LVDS connector are wrappers around drm_panel. Switch them to use drm_panel_bridge/drm_bridge_connector. This allows using standard interface for the drm_panel and also inserting additional bridges between encoder and panel. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/Makefile | 1 - drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 34 +++++-- drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h | 6 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c | 20 +---- .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 100 -----------------= ---- 5 files changed, 28 insertions(+), 133 deletions(-) diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index 5df20cbeafb8bf07c825a1fd72719d5a56c38613..7a2ada6e2d74a902879e4f12a78= ed475e5209ec2 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -48,7 +48,6 @@ msm-display-$(CONFIG_DRM_MSM_MDP4) +=3D \ disp/mdp4/mdp4_dsi_encoder.o \ disp/mdp4/mdp4_dtv_encoder.o \ disp/mdp4/mdp4_lcdc_encoder.o \ - disp/mdp4/mdp4_lvds_connector.o \ disp/mdp4/mdp4_lvds_pll.o \ disp/mdp4/mdp4_irq.o \ disp/mdp4/mdp4_kms.o \ diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.c index 689e210660a5218ed1e2d116073723215af5a187..93c9411eb422bc67b7fedb5ffce= 4c330310b520f 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c @@ -6,6 +6,8 @@ =20 #include =20 +#include +#include #include =20 #include "msm_drv.h" @@ -189,7 +191,7 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *mdp4= _kms, struct msm_drm_private *priv =3D dev->dev_private; struct drm_encoder *encoder; struct drm_connector *connector; - struct device_node *panel_node; + struct drm_bridge *next_bridge; int dsi_id; int ret; =20 @@ -199,27 +201,43 @@ static int mdp4_modeset_init_intf(struct mdp4_kms *md= p4_kms, * bail out early if there is no panel node (no need to * initialize LCDC encoder and LVDS connector) */ - panel_node =3D of_graph_get_remote_node(dev->dev->of_node, 0, 0); - if (!panel_node) - return 0; + next_bridge =3D devm_drm_of_get_bridge(dev->dev, dev->dev->of_node, 0, 0= ); + if (IS_ERR(next_bridge)) { + ret =3D PTR_ERR(next_bridge); + if (ret =3D=3D -ENODEV) + return 0; + return ret; + } =20 - encoder =3D mdp4_lcdc_encoder_init(dev, panel_node); + encoder =3D mdp4_lcdc_encoder_init(dev); if (IS_ERR(encoder)) { DRM_DEV_ERROR(dev->dev, "failed to construct LCDC encoder\n"); - of_node_put(panel_node); return PTR_ERR(encoder); } =20 /* LCDC can be hooked to DMA_P (TODO: Add DMA_S later?) */ encoder->possible_crtcs =3D 1 << DMA_P; =20 - connector =3D mdp4_lvds_connector_init(dev, panel_node, encoder); + ret =3D drm_bridge_attach(encoder, next_bridge, NULL, DRM_BRIDGE_ATTACH_= NO_CONNECTOR); + if (ret) { + DRM_DEV_ERROR(dev->dev, "failed to attach LVDS panel/bridge: %d\n", ret= ); + + return ret; + } + + connector =3D drm_bridge_connector_init(dev, encoder); if (IS_ERR(connector)) { DRM_DEV_ERROR(dev->dev, "failed to initialize LVDS connector\n"); - of_node_put(panel_node); return PTR_ERR(connector); } =20 + ret =3D drm_connector_attach_encoder(connector, encoder); + if (ret) { + DRM_DEV_ERROR(dev->dev, "failed to attach LVDS connector: %d\n", ret); + + return ret; + } + break; case DRM_MODE_ENCODER_TMDS: encoder =3D mdp4_dtv_encoder_init(dev); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm= /disp/mdp4/mdp4_kms.h index e0380d3b7e0cee99c4c376bf6369887106f44ede..306f5ca8f810aaeecea56e74065= 933bbffcb67ec 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.h @@ -191,11 +191,7 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, long mdp4_dtv_round_pixclk(struct drm_encoder *encoder, unsigned long rate= ); struct drm_encoder *mdp4_dtv_encoder_init(struct drm_device *dev); =20 -struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, - struct device_node *panel_node); - -struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, - struct device_node *panel_node, struct drm_encoder *encoder); +struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev); =20 #ifdef CONFIG_DRM_MSM_DSI struct drm_encoder *mdp4_dsi_encoder_init(struct drm_device *dev); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c b/drivers/gp= u/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c index cfcedd8a635cf0297365e845ef415a8f0d553183..a4f3edabefbd06286bfb8fbcd7f= 8c0a4281e5ef1 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lcdc_encoder.c @@ -14,7 +14,6 @@ =20 struct mdp4_lcdc_encoder { struct drm_encoder base; - struct device_node *panel_node; struct drm_panel *panel; struct clk *lcdc_clk; unsigned long int pixclock; @@ -262,19 +261,12 @@ static void mdp4_lcdc_encoder_disable(struct drm_enco= der *encoder) struct mdp4_lcdc_encoder *mdp4_lcdc_encoder =3D to_mdp4_lcdc_encoder(encoder); struct mdp4_kms *mdp4_kms =3D get_kms(encoder); - struct drm_panel *panel; =20 if (WARN_ON(!mdp4_lcdc_encoder->enabled)) return; =20 mdp4_write(mdp4_kms, REG_MDP4_LCDC_ENABLE, 0); =20 - panel =3D of_drm_find_panel(mdp4_lcdc_encoder->panel_node); - if (!IS_ERR(panel)) { - drm_panel_disable(panel); - drm_panel_unprepare(panel); - } - /* * Wait for a vsync so we know the ENABLE=3D0 latched before * the (connector) source of the vsync's gets disabled, @@ -300,7 +292,6 @@ static void mdp4_lcdc_encoder_enable(struct drm_encoder= *encoder) to_mdp4_lcdc_encoder(encoder); unsigned long pc =3D mdp4_lcdc_encoder->pixclock; struct mdp4_kms *mdp4_kms =3D get_kms(encoder); - struct drm_panel *panel; uint32_t config; int ret; =20 @@ -335,12 +326,6 @@ static void mdp4_lcdc_encoder_enable(struct drm_encode= r *encoder) if (ret) DRM_DEV_ERROR(dev->dev, "failed to enable lcdc_clk: %d\n", ret); =20 - panel =3D of_drm_find_panel(mdp4_lcdc_encoder->panel_node); - if (!IS_ERR(panel)) { - drm_panel_prepare(panel); - drm_panel_enable(panel); - } - setup_phy(encoder); =20 mdp4_write(mdp4_kms, REG_MDP4_LCDC_ENABLE, 1); @@ -375,8 +360,7 @@ static const struct drm_encoder_helper_funcs mdp4_lcdc_= encoder_helper_funcs =3D { }; =20 /* initialize encoder */ -struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev, - struct device_node *panel_node) +struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_device *dev) { struct drm_encoder *encoder; struct mdp4_lcdc_encoder *mdp4_lcdc_encoder; @@ -387,8 +371,6 @@ struct drm_encoder *mdp4_lcdc_encoder_init(struct drm_d= evice *dev, if (IS_ERR(mdp4_lcdc_encoder)) return ERR_CAST(mdp4_lcdc_encoder); =20 - mdp4_lcdc_encoder->panel_node =3D panel_node; - encoder =3D &mdp4_lcdc_encoder->base; =20 drm_encoder_helper_add(encoder, &mdp4_lcdc_encoder_helper_funcs); diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c b/drivers/= gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c deleted file mode 100644 index 4755eb13ef79f313d2be088145c8cd2e615226fe..000000000000000000000000000= 0000000000000 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c +++ /dev/null @@ -1,100 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * Copyright (C) 2014 Red Hat - * Author: Rob Clark - * Author: Vinay Simha - */ - -#include "mdp4_kms.h" - -struct mdp4_lvds_connector { - struct drm_connector base; - struct drm_encoder *encoder; - struct device_node *panel_node; - struct drm_panel *panel; -}; -#define to_mdp4_lvds_connector(x) container_of(x, struct mdp4_lvds_connect= or, base) - -static enum drm_connector_status mdp4_lvds_connector_detect( - struct drm_connector *connector, bool force) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - - if (!mdp4_lvds_connector->panel) { - mdp4_lvds_connector->panel =3D - of_drm_find_panel(mdp4_lvds_connector->panel_node); - if (IS_ERR(mdp4_lvds_connector->panel)) - mdp4_lvds_connector->panel =3D NULL; - } - - return mdp4_lvds_connector->panel ? - connector_status_connected : - connector_status_disconnected; -} - -static void mdp4_lvds_connector_destroy(struct drm_connector *connector) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - - drm_connector_cleanup(connector); - - kfree(mdp4_lvds_connector); -} - -static int mdp4_lvds_connector_get_modes(struct drm_connector *connector) -{ - struct mdp4_lvds_connector *mdp4_lvds_connector =3D - to_mdp4_lvds_connector(connector); - struct drm_panel *panel =3D mdp4_lvds_connector->panel; - int ret =3D 0; - - if (panel) - ret =3D drm_panel_get_modes(panel, connector); - - return ret; -} - -static const struct drm_connector_funcs mdp4_lvds_connector_funcs =3D { - .detect =3D mdp4_lvds_connector_detect, - .fill_modes =3D drm_helper_probe_single_connector_modes, - .destroy =3D mdp4_lvds_connector_destroy, - .reset =3D drm_atomic_helper_connector_reset, - .atomic_duplicate_state =3D drm_atomic_helper_connector_duplicate_state, - .atomic_destroy_state =3D drm_atomic_helper_connector_destroy_state, -}; - -static const struct drm_connector_helper_funcs mdp4_lvds_connector_helper_= funcs =3D { - .get_modes =3D mdp4_lvds_connector_get_modes, -}; - -/* initialize connector */ -struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, - struct device_node *panel_node, struct drm_encoder *encoder) -{ - struct drm_connector *connector =3D NULL; - struct mdp4_lvds_connector *mdp4_lvds_connector; - - mdp4_lvds_connector =3D kzalloc(sizeof(*mdp4_lvds_connector), GFP_KERNEL); - if (!mdp4_lvds_connector) - return ERR_PTR(-ENOMEM); - - mdp4_lvds_connector->encoder =3D encoder; - mdp4_lvds_connector->panel_node =3D panel_node; - - connector =3D &mdp4_lvds_connector->base; - - drm_connector_init(dev, connector, &mdp4_lvds_connector_funcs, - DRM_MODE_CONNECTOR_LVDS); - drm_connector_helper_add(connector, &mdp4_lvds_connector_helper_funcs); - - connector->polled =3D 0; - - connector->interlace_allowed =3D 0; - connector->doublescan_allowed =3D 0; - - drm_connector_attach_encoder(connector, encoder); - - return connector; -} --=20 2.39.5 From nobody Thu Dec 18 13:03:09 2025 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7687D1F30DE for ; Thu, 20 Feb 2025 11:15:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050115; cv=none; b=qoYMFa3z21HKStk0X75znb/vOGs+GwdWny8gxMJQ9ADhltmV7bLHJ9Q2l5LE1lgwNdvvcwn1qiTtgTcEvzFRyPMM3VBrwJeYKocvEPa4A2Q8lXI7Sc7qTXzIsBhlkOSxDabVGHmSQRE/vVRmP42Qdg0sWhKgyRHPiC1+cV4fAhE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740050115; c=relaxed/simple; bh=d0CtcQf8Wv3lL9BY8WXV1YwbKLOoSAl/tzsPQ0leEnU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n1uQCC3Le/p71ZPQXwSgdp3cxJ8eM8mQRX5gjYY6ocr/jeZ+ntK3zTo+b4UJa8SG76pAwfXwjvE+/eZ/eVBaVC41s7/4DxRPOELbqvyCC/4JTwYrll0Y+N0h2cLQz1QdHaqC61HlqzxETMCERapGxDmlk4F42OgatfCF6FHhAII= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ses+K2r4; arc=none smtp.client-ip=209.85.208.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ses+K2r4" Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-30761be8fa7so7774731fa.2 for ; Thu, 20 Feb 2025 03:15:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740050111; x=1740654911; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9X5DqzSWRf6FCwakTqnI1Z6ip+HiUbF/QIcptAcLPLE=; b=ses+K2r4X5O9AW4iM/3roKTgO7COuXU0TMUwAWq8MiZQ0jDZ6MIxvZ0Tz1sIobIEs0 1Lw18dtr7pn3nA1JCMmMIPEZ4XvQFtcOa1yW/05isEDzuVcr6C/B5U8lFXuSryZNSfVl Ib+t5ORz6LHu+wP830jR+y/PlMa/PQtBBOUdrRvrA2VCAYYCNXOVp1g3XIlp5PKkTino eY8KLX61MGny4kRDcok0xFR1Lk5ZoFF51u0ck6WHl61kPwdMEgJ04fejpLqPgyp+1xQs B2dz7lQntYT+IuLy0xm2E3Q0jueyBlTZ9Nmgzr5EKWn/04s16VODAaoYJ/8gLpQBOfVq D6xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740050111; x=1740654911; 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=9X5DqzSWRf6FCwakTqnI1Z6ip+HiUbF/QIcptAcLPLE=; b=ixs4UvC57RFFPP0Nb0hv6f0fMZI/iFLoLxf33KezavYLE+TijwKVbtIpjrPh1WT1DJ 0KzKNtHgwIQWLyvyCFeBcnevLzqEqheKM3E8a5PmzKUSBuA2MLjqc2DFI/aOFCJeDNMr MI1UKqDurnPfUybMKNpEeHakrERkyOuhbkDNafGvj6fDZnE2n3K0qgRuZhY0NTP9vXjr LHQ58sNFsTabQJ701iGkHgBVXlyFIyezvZOhnLCrQlcGrA9vEpPnFIM0+tFZbi8dkJZ8 zmJ7qL6xJTnaUBoyRddi49G/TCP9eIwmpiNhOnRo7Km3Pi6HyAJ5ITIllUYvM8v+d7zB msXw== X-Forwarded-Encrypted: i=1; AJvYcCWjb1wjnvkxfwnOOIRo+gOjKsii078QUfTUmo80aXEHy6/IqctmQcyZv8kxAzmGmjLZWX9MDE4s5eGrWPY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3oXIZ4+GtbrD014hTyRpMvwbbB5Y+VMjogYgO5ySd1cz65V/n 7k7t5/xt6mA+tsrWfzsmkxlwAzy7nP8exmsg3GUYL1pS7YR9J8UqhHJHbNMWr8Y= X-Gm-Gg: ASbGnct4WPgB5+gAwSxhbnGgs3cAboO2EABKA7zYBWVwJhnUPE9Uv9G/oeDxgWUk+zK ql7zzQCnT/1mmRHO64pxXr1nMGdqnsv87Bj5qrecIgBqqgPpCbObIdT9SA+oKwf/tZw98MjpRkx wj9cC4apAJsLJcjzXRGnrQ6dYfMceEkLTIFTCRWIMyiqalf6xosUTg7ZpAtK0OSdXeIlA2vFl+m X+H9sLuM5N2U8WZnSE1g/8VtTy8Nk2ID78DohDNhi7Dr2wzwXAKQhMpwlfEw8AuUyXIk756H9I0 PMvHmmVVs9S5G2tsUGppQec= X-Google-Smtp-Source: AGHT+IEBrH7t5T3Pj2WB/YKjyu6Tt9mfV/BJf6mygTdxQLlHJOo6nI55pj3svLEpB1+vdLAfNkGcnQ== X-Received: by 2002:a05:6512:68c:b0:543:e406:6363 with SMTP id 2adb3069b0e04-5462eedb651mr3405483e87.3.1740050111516; Thu, 20 Feb 2025 03:15:11 -0800 (PST) Received: from umbar.lan ([192.130.178.90]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-545297856c6sm2056164e87.142.2025.02.20.03.15.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2025 03:15:11 -0800 (PST) From: Dmitry Baryshkov Date: Thu, 20 Feb 2025 13:14:49 +0200 Subject: [PATCH v2 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: <20250220-fd-mdp4-lvds-v2-7-15afe5578a31@linaro.org> References: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> In-Reply-To: <20250220-fd-mdp4-lvds-v2-0-15afe5578a31@linaro.org> To: Rob Clark , Abhinav Kumar , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1634; i=dmitry.baryshkov@linaro.org; h=from:subject:message-id; bh=d0CtcQf8Wv3lL9BY8WXV1YwbKLOoSAl/tzsPQ0leEnU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBntw6sydCzdr3lq263K0JOQk4Qc0tnyxdU2wME+ N15Skc4LBWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCZ7cOrAAKCRCLPIo+Aiko 1a22B/4pss99hBOLDX1XScPaKx+olriF4M0K8pHizkh00Z3WXSnIrKWJXBFmoeXMv3qVLJGrM0t XYV/MGe18IURcZhSkygCpi9HvJpgzK1QVEW74QVH9x9GSMrWQba0SLDX1XLzOdGYooiBB5mUI8E EuXd973XQNSA8aWj4ilqqFrzPvd+O7wYJPNC8s8WnG7Zt3Gz8FuIW5NzveuDEk4+d2delGqk9PY Nuxg8zf+Nxh9tMnz6to4uG9vp3dw8eB62vBCBvfcsgEzqok9at27cUaEEKlbBieluMZ6W4HKacr IO+VeB/mBl7Pa5mhesh4KgO9VbWqQ5+a9Jc65SqVnFSdjklR X-Developer-Key: i=dmitry.baryshkov@linaro.org; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A Link LVDS clocks to the from MDP4 to the MMCC and back from the MMCC to the MDP4 display controller. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- 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