public inbox for linux-arm-msm@vger.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Lee Jones <lee@kernel.org>,
	Ajit Pandey <ajit.pandey@oss.qualcomm.com>,
	Imran Shaik <imran.shaik@oss.qualcomm.com>,
	linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
	Maulik Shah <maulik.shah@oss.qualcomm.com>,
	Taniya Das <taniya.das@oss.qualcomm.com>
Subject: Re: [PATCH 02/13] dt-bindings: clock: qcom,sm8550-dispcc: Add display CESTA support on SM8750
Date: Thu, 30 Apr 2026 13:00:01 +0200	[thread overview]
Message-ID: <5337c2c4-8f04-4185-9d09-130d9e99d147@kernel.org> (raw)
In-Reply-To: <94a49f16-2e1f-4d32-9d4c-483d56fd2731@oss.qualcomm.com>

On 28/04/2026 19:25, Jagadeesh Kona wrote:
> 
> 
> On 4/24/2026 2:39 PM, Krzysztof Kozlowski wrote:
>> On 22/04/2026 09:41, Krzysztof Kozlowski wrote:
>>> On Mon, Apr 20, 2026 at 09:58:55PM +0530, Jagadeesh Kona wrote:
>>>> On SM8750, a subset of DISPCC clocks is controlled by the display CESTA
>>>> (Client State Aggregator) hardware. These clocks can be scaled to the
>>>> desired frequency by sending votes to the display CRM(CESTA Resource
>>>> manager) instead of programming DISPCC registers directly.
>>>
>>> This looks like completely new, vendor clock API, so no.
>>>
>>> Resource voting or clock scaling is nothing new and you do not get a
>>> vendor phandle to do it. That's like basic upstreaming 101: we do not
>>> want another vendor re-implementation of common or typical solutions.
>>
>> I'll provide a bit more context, what I am looking for:
>> Are CESTA and CRMC truly separate blocks? Do they have their own
>> resources or maybe something is shared with clock controller, e.g. parts
>> of address space?
>>
> 
> Thanks Krzysztof for your review
> 
> CRMC is sub-block within the CESTA block. CRMC block contains the clocks frequency lookup tables
> information for CESTA controlled RCGs, which clock driver needs to read and populate the RCG's
> frequency tables. DISPCC block is outside of CESTA block, so CRMC block is mapped as syscon device
> and is used in DISPCC node only to read & populate the CESTA controlled RCGs frequency lookup tables.
> The actual clock scaling is done later by converting the frequency into a perf level & sending it
> to CESTA HW via CRM APIs.

Perf levels should use proper bindings and Linux abstractions, not
custom APIs.

But what's more important, I don't get the hardware here - clocks are
fully within clock controller (DISPCC), but somehow their interface is
exposed to CESTA as well, yet CESTA is not a consumer or provider of
these clocks.

Usually the provider of some resource is in control of that resource,
e.g. clock gates or dividers. If some other block (not provider)
controls the resource, does that mean that other block is basically part
of the provider?

Well, you claim not, but how otherwise does it work?

> 
>> If they manage clocks, they should receive some of the clocks as inputs,
>> because I don't imagine a block which gates clock somewhere else, to
>> which it has no access (IOW, that gate to manage clock is part of the
>> clock). Or maybe it's some shadow registers? Or display clock controller
>> does not have direct clock access in the first place?

Heh, I basically repeated myself here... but your answer here:

>>
> 
> Yes, there are few dispcc clocks required for accessing the display CRM/CRMC register
> blocks but those clocks are already kept ON from bootloader and they will stay ON as
> long as MMCX rail is voted. So if MMCX is ON, we can access CRM/CRMC blocks.

is not really answering the problem.

Please figure out how a non-provider block can act as provider on some
other provider, without access to any of its resources.


Best regards,
Krzysztof

  reply	other threads:[~2026-04-30 11:00 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-20 16:28 [PATCH 00/13] Add support to control clocks using CESTA Resource manager Jagadeesh Kona
2026-04-20 16:28 ` [PATCH 01/13] dt-bindings: soc: Introduce device bindings for CESTA Resource Manager Jagadeesh Kona
2026-04-20 17:39   ` Dmitry Baryshkov
2026-04-22  7:37   ` Krzysztof Kozlowski
2026-04-20 16:28 ` [PATCH 02/13] dt-bindings: clock: qcom,sm8550-dispcc: Add display CESTA support on SM8750 Jagadeesh Kona
2026-04-20 17:45   ` Dmitry Baryshkov
2026-04-28 17:21     ` Jagadeesh Kona
2026-04-28 18:56       ` Dmitry Baryshkov
2026-04-22  7:41   ` Krzysztof Kozlowski
2026-04-24  9:09     ` Krzysztof Kozlowski
2026-04-28 17:25       ` Jagadeesh Kona
2026-04-30 11:00         ` Krzysztof Kozlowski [this message]
2026-04-20 16:28 ` [PATCH 03/13] dt-bindings: mfd: syscon: Add qcom,crmc-syscon compatible Jagadeesh Kona
2026-04-22  7:39   ` Krzysztof Kozlowski
2026-04-20 16:28 ` [PATCH 04/13] soc: qcom: Introduce CESTA resource manager driver Jagadeesh Kona
2026-04-22  7:50   ` Krzysztof Kozlowski
2026-04-20 16:28 ` [PATCH 05/13] clk: qcom: common: Add helpers to control clocks using CRM Jagadeesh Kona
2026-04-20 16:28 ` [PATCH 06/13] clk: qcom: clk-alpha-pll: Add support for CRM based PLL ops Jagadeesh Kona
2026-04-22 18:25   ` Dmitry Baryshkov
2026-04-20 16:29 ` [PATCH 07/13] clk: qcom: clk-alpha-pll: Add support to skip PLL configuration Jagadeesh Kona
2026-04-22 18:28   ` Dmitry Baryshkov
2026-04-23 11:13     ` Konrad Dybcio
2026-04-28 17:22       ` Jagadeesh Kona
2026-04-20 16:29 ` [PATCH 08/13] clk: qcom: clk-rcg2: Add support for CRM based RCG ops Jagadeesh Kona
2026-04-20 16:29 ` [PATCH 09/13] clk: qcom: common: Add support to register and control clocks using CRM Jagadeesh Kona
2026-04-20 16:29 ` [PATCH 10/13] clk: qcom: dispcc-sm8750: Add support to control MDP clocks using CESTA Jagadeesh Kona
2026-04-22 18:33   ` Dmitry Baryshkov
2026-04-28 17:21     ` Jagadeesh Kona
2026-04-28 18:54       ` Dmitry Baryshkov
2026-04-20 17:24 ` [PATCH 11/13] arm64: dts: qcom: sm8750: Add Display CRM device Jagadeesh Kona
2026-04-20 17:28 ` [PATCH 12/13] arm64: dts: qcom: sm8750: Add disp_crmc node and CRM properties to dispcc Jagadeesh Kona
2026-04-20 17:28   ` [PATCH 13/13] arm64: defconfig: Enable Qualcomm CESTA Resource Manager Jagadeesh Kona
2026-04-20 17:47     ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5337c2c4-8f04-4185-9d09-130d9e99d147@kernel.org \
    --to=krzk@kernel.org \
    --cc=ajit.pandey@oss.qualcomm.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=imran.shaik@oss.qualcomm.com \
    --cc=jagadeesh.kona@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maulik.shah@oss.qualcomm.com \
    --cc=mturquette@baylibre.com \
    --cc=neil.armstrong@linaro.org \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=taniya.das@oss.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox