Devicetree
 help / color / mirror / Atom feed
From: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
	Vishnu Reddy <busanna.reddy@oss.qualcomm.com>
Cc: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	Bryan O'Donoghue <bod@kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	Hans Verkuil <hverkuil@kernel.org>,
	Stefan Schmidt <stefan.schmidt@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Stanimir Varbanov <stanimir.varbanov@linaro.org>,
	Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>,
	Del Regno <angelogioacchino.delregno@collabora.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, iommu@lists.linux.dev,
	Krzysztof Kozlowski <krzk@kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v5 12/14] media: iris: Add platform data for glymur
Date: Wed, 13 May 2026 20:00:39 +0530	[thread overview]
Message-ID: <ad875fcf-531a-49af-b58e-575185c12d77@oss.qualcomm.com> (raw)
In-Reply-To: <wequp7ogk2az3d7yzfxn7wwlr6k5ng2jwrg6anaidseteuwlev@v47yoo4j2gbz>



On 5/13/2026 7:47 PM, Dmitry Baryshkov wrote:
> On Mon, May 11, 2026 at 09:45:01PM +0530, Vishnu Reddy wrote:
>>
>> On 5/9/2026 2:35 AM, Dmitry Baryshkov wrote:
>>> On Sat, May 09, 2026 at 12:30:01AM +0530, Vishnu Reddy wrote:
>>>> On glymur platform, the iris core shares most properties with the
>>>> iris core on the SM8550 platform. The major difference is that glymur
>>>> integrates two codec cores (vcodec0 and vcodec1), while SM8550 has only
>>>> one. Add glymur specific platform data, reusing SM8550 definitions
>>>> wherever applicable.
>>> This leave me in confusion. Having two cores, each with its own set of
>>> clocks and pm domains, I'd have expected that each core scales
>>> independently. I.e. if the load is pushed to the core0, it requires
>>> core0 clocks to go higher (while core1 clocks can stay at the low freq).
>>> Or, at least, the clocks would be set to the frequency corresponding to
>>> the max of the workloads (if for some reason the cores should stay in
>>> sync).
>>>
>>> However, I don't see it in the code. All clocks and all power domains
>>> seem do be scaled using the common workload. If my assumptions were not
>>> correct, please explain it in the commit message.
>>
>> The OPP core logic sets the rpmhpd level and clock rate based on the OPP table
>> defined in the DT node, where the clock frequency and power rail level are
>> tightly coupled together. Since vcodec0 and vcodec1 share the same power rails,
>> independently scaling one clock high while keeping the other low is not
>> straightforward within this OPP framework.
>>
>> Do you have any suggestion on how best to handle per core independent clock
>> scaling within these constraints?
> 
> This would require more plumbing and driver changes, but:
> 
> 	iris: video-codec@foo {
> 		compatible = "qcom,glymur-iris",
> 		clocks = <only-core-clocks>;
> 		resets = <only-core-resets>;
> 
> 		/* or core@0 */
> 		codec@0 {
> 			clocks, resets, power-domains;
> 			operating-points-v2 = <&iris_opp_table>
> 		};
> 
> 		/* or core@1 */
> 		codec@1 {
> 			clocks, resets, power-domains;
> 			operating-points-v2 = <&iris_opp_table>
> 		};
> 
> 		iris_opp_table: opp-table {
> 			compatible = "operating-points-v2"
> 		};
> 	};
> 

clock source "video_cc_mvs0_clk_src" is common for both the cores. It 
would not matter if core0 is scaled for a specific workload and core1 is 
scaled for different (let say lower), as the common PLL would always 
generate the higher of them.

Infact, going with the approach of exclusive scaling would be an issue 
here. The later core scaling command would bring down/up the corner for 
other core, and could lead to under/over-voting.
>>
>>>> Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
>>>> Signed-off-by: Vishnu Reddy <busanna.reddy@oss.qualcomm.com>
>>>> ---
>>>>   drivers/media/platform/qcom/iris/Makefile          |  1 +
>>>>   .../platform/qcom/iris/iris_platform_common.h      |  5 ++
>>>>   .../media/platform/qcom/iris/iris_platform_gen2.c  | 99 ++++++++++++++++++++++
>>>>   .../platform/qcom/iris/iris_platform_glymur.c      | 97 +++++++++++++++++++++
>>>>   .../platform/qcom/iris/iris_platform_glymur.h      | 17 ++++
>>>>   drivers/media/platform/qcom/iris/iris_probe.c      |  4 +
>>>>   6 files changed, 223 insertions(+)
>>>>
> 


  reply	other threads:[~2026-05-13 14:30 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-08 18:59 [PATCH v5 00/14] media: iris: Add support for glymur platform Vishnu Reddy
2026-05-08 18:59 ` [PATCH v5 01/14] media: iris: Add iris vpu bus support Vishnu Reddy
2026-05-08 19:16   ` Dmitry Baryshkov
2026-05-09 17:05     ` Vishnu Reddy
2026-05-08 23:20   ` sashiko-bot
2026-05-08 18:59 ` [PATCH v5 02/14] iommu: Add iris-vpu-bus to iommu_buses Vishnu Reddy
2026-05-08 19:16   ` Dmitry Baryshkov
2026-05-08 23:42   ` sashiko-bot
2026-05-13 13:09   ` Vikash Garodia
2026-05-08 18:59 ` [PATCH v5 03/14] media: iris: Fix VM count passed to firmware Vishnu Reddy
2026-05-08 19:20   ` Dmitry Baryshkov
2026-05-08 18:59 ` [PATCH v5 04/14] dt-bindings: media: qcom,venus: Remove clock, power-domain, and iommus from common schema Vishnu Reddy
2026-05-08 19:22   ` Dmitry Baryshkov
2026-05-09 17:04     ` Vishnu Reddy
2026-05-13 13:29       ` Dmitry Baryshkov
2026-05-13 18:54         ` Vishnu Reddy
2026-05-13 19:07           ` Dmitry Baryshkov
2026-05-08 18:59 ` [PATCH v5 05/14] dt-bindings: media: qcom,glymur-iris: Add glymur video codec Vishnu Reddy
2026-05-08 18:59 ` [PATCH v5 06/14] media: iris: Add context bank hooks for platform specific initialization Vishnu Reddy
2026-05-09  0:41   ` sashiko-bot
2026-05-08 18:59 ` [PATCH v5 07/14] media: iris: Enable Secure PAS support with IOMMU managed by Linux Vishnu Reddy
2026-05-08 19:05   ` Trilok Soni
2026-05-11  8:06     ` Mukesh Ojha
2026-05-08 20:20   ` Dmitry Baryshkov
2026-05-11  8:01     ` Mukesh Ojha
2026-05-13 13:42       ` Dmitry Baryshkov
2026-05-13 18:54         ` Vishnu Reddy
2026-05-13 19:09           ` Dmitry Baryshkov
2026-05-09  2:05   ` sashiko-bot
2026-05-08 18:59 ` [PATCH v5 08/14] media: iris: Rename clock and power domain macros to use vcodec prefix Vishnu Reddy
2026-05-08 20:22   ` Dmitry Baryshkov
2026-05-09 17:07     ` Vishnu Reddy
2026-05-13 13:47       ` Dmitry Baryshkov
2026-05-13 14:10         ` Vikash Garodia
2026-05-13 14:18           ` Dmitry Baryshkov
2026-05-09  2:18   ` sashiko-bot
2026-05-08 18:59 ` [PATCH v5 09/14] media: iris: Use power domain type to look up pd_devs index Vishnu Reddy
2026-05-08 20:44   ` Dmitry Baryshkov
2026-05-09 17:02     ` Vishnu Reddy
2026-05-08 18:59 ` [PATCH v5 10/14] media: iris: Add power sequence for Glymur Vishnu Reddy
2026-05-08 20:54   ` Dmitry Baryshkov
2026-05-11 16:12     ` Vishnu Reddy
2026-05-13 13:49       ` Dmitry Baryshkov
2026-05-13 18:55         ` Vishnu Reddy
2026-05-09  2:56   ` sashiko-bot
2026-05-08 19:00 ` [PATCH v5 11/14] media: iris: Add support to select core for dual core platforms Vishnu Reddy
2026-05-08 21:00   ` Dmitry Baryshkov
2026-05-11 16:12     ` Vishnu Reddy
2026-05-13 13:51       ` Dmitry Baryshkov
2026-05-13 18:55         ` Vishnu Reddy
2026-05-13 19:10           ` Dmitry Baryshkov
2026-05-13 19:23             ` Vishnu Reddy
2026-05-13 20:51               ` Dmitry Baryshkov
2026-05-09  3:55   ` sashiko-bot
2026-05-08 19:00 ` [PATCH v5 12/14] media: iris: Add platform data for glymur Vishnu Reddy
2026-05-08 21:05   ` Dmitry Baryshkov
2026-05-11 16:15     ` Vishnu Reddy
2026-05-13 14:17       ` Dmitry Baryshkov
2026-05-13 14:30         ` Vikash Garodia [this message]
2026-05-13 16:03           ` Dmitry Baryshkov
2026-05-13 17:01             ` Vikash Garodia
2026-05-13 18:50               ` Dmitry Baryshkov
2026-05-09  4:23   ` sashiko-bot
2026-05-08 19:00 ` [PATCH v5 13/14] arm64: dts: qcom: glymur: Add iris video node Vishnu Reddy
2026-05-08 19:27   ` Dmitry Baryshkov
2026-05-09 16:56     ` Vishnu Reddy
2026-05-13 13:55       ` Dmitry Baryshkov
2026-05-13 18:56         ` Vishnu Reddy
2026-05-08 19:00 ` [PATCH v5 14/14] arm64: dts: qcom: glymur-crd: Enable iris video codec node Vishnu Reddy
2026-05-08 23:54   ` 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=ad875fcf-531a-49af-b58e-575185c12d77@oss.qualcomm.com \
    --to=vikash.garodia@oss.qualcomm.com \
    --cc=abhinav.kumar@linux.dev \
    --cc=andersson@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bod@kernel.org \
    --cc=busanna.reddy@oss.qualcomm.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dikshita.agarwal@oss.qualcomm.com \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=hverkuil@kernel.org \
    --cc=iommu@lists.linux.dev \
    --cc=jorge.ramirez@oss.qualcomm.com \
    --cc=joro@8bytes.org \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=stanimir.varbanov@linaro.org \
    --cc=stefan.schmidt@linaro.org \
    --cc=will@kernel.org \
    /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