All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <andersson@kernel.org>
To: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Cc: Thomas Gleixner <tglx@kernel.org>, Rob Herring <robh@kernel.org>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	 Konrad Dybcio <konradybcio@kernel.org>,
	cros-qcom-dts-watchers@chromium.org,
	 linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 00/35] irqchip/qcom-pdc: Clean up register mapping and DT descriptions
Date: Fri, 10 Apr 2026 21:48:25 -0500	[thread overview]
Message-ID: <adm1uXe6QRes8DiX@baldur> (raw)
In-Reply-To: <20260410184124.1068210-1-mukesh.ojha@oss.qualcomm.com>

On Sat, Apr 11, 2026 at 12:10:37AM +0530, Mukesh Ojha wrote:
> The Qualcomm PDC (Power Domain Controller) hardware exposes multiple DRV
> (Driver) regions, each 0x10000 bytes in size, where each region serves a
> specific client in the system . Linux only needs access to the APSS DRV
> region.
> 
> Despite this, the driver was mapping up to 0x30000 bytes (three DRV
> regions) via a QCOM_PDC_SIZE clamp introduced as a workaround for old
> sm8150 DTs that described a too-small register window. Correspondingly,
> most platform DTS files described the PDC reg as 0x30000 in size, and
> several also carried a second, entirely unused reg entry pointing at an
> unrelated register region that the driver never maps.
> 
> This series cleans all of that up in three logical steps:
> 
> 1. (patches 2-6):
> 

These patches are for the IRQ subsystem/maintainer.

> Split __pdc_enable_intr() into two focused per-version helpers
> to separate the HW < 3.2 bank-based path from the HW >= 3.2 per-pin
> path. Replace the pdc_version global with a function pointer assigned
> once at probe time, moving the version check out of the hot path.
> Tighten the ioremap clamp from QCOM_PDC_SIZE (0x30000) to PDC_DRV_SIZE
> (0x10000) now that the DT fixes below make the workaround unnecessary.
> Also add a PDC_VERSION() constructor macro and use FIELD_GET() for bank
> index extraction to make the bit encoding self-documenting.
> 
> 2. (patches 1, 7-28):
> 

And these patches are for the Qualcomm SoC/DT tree.

> All 28 platform DTS files that described the PDC reg window as 0x30000
> are corrected to 0x10000, reflecting the single APSS DRV region that
> Linux actually maps.
> 
> 3. (patches 29-35):
> 

Same with these.


I don't see any dependencies between the IRQ and DT patches, can they be
merged independently? Why did you send them together?

Regards,
Bjorn

> Seven platform DTS files (kaanapali, lemans, milos, monaco, sc8280xp,
> sdx75, talos) carried a second reg entry pointing at an unrelated
> hardware block. The driver only ever calls of_address_to_resource(node,
> 0, ...) so this second entry was never mapped or accessed. Remove it.
> 
> The net result is that every PDC node in the tree now describes exactly
> one register region of exactly 0x10000 bytes — the APSS DRV region that
> the driver actually uses — and the driver's ioremap clamp matches that
> reality.
> 
> Mukesh Ojha (35):
>   dt-bindings: qcom,pdc: Tighten reg to single APSS DRV region
>   irqchip/qcom-pdc: Split __pdc_enable_intr() into per-version helpers
>   irqchip/qcom-pdc: Tighten ioremap clamp to single DRV region size
>   irqchip/qcom-pdc: Replace pdc_version global with a function pointer
>   irqchip/qcom-pdc: Add PDC_VERSION() macro to describe version register
>     fields
>   irqchip/qcom-pdc: Use FIELD_GET() to extract bank index and bit
>     position
>   arm64: dts: qcom: sdm845: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sdm670: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sc7180: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sc7280: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sc8180x: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm8150: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sc8280xp: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm8250: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm8350: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm8450: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm8550: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm8650: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm4450: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: x1e80100: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sm6350: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sar2130p: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: qcs615: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: qcs8300: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sa8775p: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: sdx75: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: milos: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: qdu1000: Fix PDC reg size to single APSS DRV region
>   arm64: dts: qcom: kaanapali: Drop unused second PDC reg entry
>   arm64: dts: qcom: lemans: Drop unused second PDC reg entry
>   arm64: dts: qcom: milos: Drop unused second PDC reg entry
>   arm64: dts: qcom: monaco: Drop unused second PDC reg entry
>   arm64: dts: qcom: sc8280xp: Drop unused second PDC reg entry
>   arm64: dts: qcom: sdx75: Drop unused second PDC reg entry
>   arm64: dts: qcom: talos: Drop unused second PDC reg entry
> 
>  .../interrupt-controller/qcom,pdc.yaml        |  2 +-
>  arch/arm64/boot/dts/qcom/hamoa.dtsi           |  2 +-
>  arch/arm64/boot/dts/qcom/kaanapali.dtsi       |  3 +-
>  arch/arm64/boot/dts/qcom/kodiak.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/lemans.dtsi          |  3 +-
>  arch/arm64/boot/dts/qcom/milos.dtsi           |  3 +-
>  arch/arm64/boot/dts/qcom/monaco.dtsi          |  3 +-
>  arch/arm64/boot/dts/qcom/qdu1000.dtsi         |  2 +-
>  arch/arm64/boot/dts/qcom/sar2130p.dtsi        |  2 +-
>  arch/arm64/boot/dts/qcom/sc7180.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sc8180x.dtsi         |  2 +-
>  arch/arm64/boot/dts/qcom/sc8280xp.dtsi        |  2 +-
>  arch/arm64/boot/dts/qcom/sdm670.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sdm845.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sdx75.dtsi           |  3 +-
>  arch/arm64/boot/dts/qcom/sm4450.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sm6350.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sm8150.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sm8250.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sm8350.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sm8450.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sm8550.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/sm8650.dtsi          |  2 +-
>  arch/arm64/boot/dts/qcom/talos.dtsi           |  3 +-
>  drivers/irqchip/qcom-pdc.c                    | 56 +++++++++++--------
>  25 files changed, 57 insertions(+), 53 deletions(-)
> 
> -- 
> 2.53.0
> 

  parent reply	other threads:[~2026-04-11  2:48 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-10 18:40 [PATCH 00/35] irqchip/qcom-pdc: Clean up register mapping and DT descriptions Mukesh Ojha
2026-04-10 18:40 ` [PATCH 01/35] dt-bindings: qcom,pdc: Tighten reg to single APSS DRV region Mukesh Ojha
2026-04-11 14:32   ` Dmitry Baryshkov
2026-04-13  8:23     ` Konrad Dybcio
2026-04-14  8:24       ` Mukesh Ojha
2026-04-14 10:47         ` Konrad Dybcio
2026-04-14 16:23       ` Dmitry Baryshkov
2026-05-22 10:09         ` Konrad Dybcio
2026-04-13  8:10   ` Krzysztof Kozlowski
2026-04-14  7:26     ` Mukesh Ojha
2026-04-10 18:40 ` [PATCH 02/35] irqchip/qcom-pdc: Split __pdc_enable_intr() into per-version helpers Mukesh Ojha
2026-04-13  8:28   ` Konrad Dybcio
2026-04-14 18:00   ` Dmitry Baryshkov
2026-04-10 18:40 ` [PATCH 03/35] irqchip/qcom-pdc: Tighten ioremap clamp to single DRV region size Mukesh Ojha
2026-04-14 18:04   ` Dmitry Baryshkov
2026-04-10 18:40 ` [PATCH 04/35] irqchip/qcom-pdc: Replace pdc_version global with a function pointer Mukesh Ojha
2026-04-11  2:43   ` Bjorn Andersson
2026-04-11  6:23     ` Mukesh Ojha
2026-04-14 18:11       ` Bjorn Andersson
2026-04-14 18:05   ` Dmitry Baryshkov
2026-04-10 18:40 ` [PATCH 05/35] irqchip/qcom-pdc: Add PDC_VERSION() macro to describe version register fields Mukesh Ojha
2026-04-13  8:29   ` Konrad Dybcio
2026-04-14 18:05   ` Dmitry Baryshkov
2026-04-10 18:40 ` [PATCH 06/35] irqchip/qcom-pdc: Use FIELD_GET() to extract bank index and bit position Mukesh Ojha
2026-04-13  8:25   ` Konrad Dybcio
2026-04-14 18:06   ` Dmitry Baryshkov
2026-04-10 18:40 ` [PATCH 07/35] arm64: dts: qcom: sdm845: Fix PDC reg size to single APSS DRV region Mukesh Ojha
2026-04-10 18:40 ` [PATCH 08/35] arm64: dts: qcom: sdm670: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 09/35] arm64: dts: qcom: sc7180: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 10/35] arm64: dts: qcom: sc7280: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 11/35] arm64: dts: qcom: sc8180x: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 12/35] arm64: dts: qcom: sm8150: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 13/35] arm64: dts: qcom: sc8280xp: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 14/35] arm64: dts: qcom: sm8250: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 15/35] arm64: dts: qcom: sm8350: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 16/35] arm64: dts: qcom: sm8450: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 17/35] arm64: dts: qcom: sm8550: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 18/35] arm64: dts: qcom: sm8650: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 19/35] arm64: dts: qcom: sm4450: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 20/35] arm64: dts: qcom: x1e80100: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 21/35] arm64: dts: qcom: sm6350: " Mukesh Ojha
2026-04-10 18:40 ` [PATCH 22/35] arm64: dts: qcom: sar2130p: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 23/35] arm64: dts: qcom: qcs615: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 24/35] arm64: dts: qcom: qcs8300: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 25/35] arm64: dts: qcom: sa8775p: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 26/35] arm64: dts: qcom: sdx75: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 27/35] arm64: dts: qcom: milos: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 28/35] arm64: dts: qcom: qdu1000: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 29/35] arm64: dts: qcom: kaanapali: Drop unused second PDC reg entry Mukesh Ojha
2026-04-10 18:41 ` [PATCH 30/35] arm64: dts: qcom: lemans: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 31/35] arm64: dts: qcom: milos: " Mukesh Ojha
2026-04-14 10:57   ` Krzysztof Kozlowski
2026-04-10 18:41 ` [PATCH 32/35] arm64: dts: qcom: monaco: " Mukesh Ojha
2026-04-14 10:54   ` Krzysztof Kozlowski
2026-04-10 18:41 ` [PATCH 33/35] arm64: dts: qcom: sc8280xp: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 34/35] arm64: dts: qcom: sdx75: " Mukesh Ojha
2026-04-10 18:41 ` [PATCH 35/35] arm64: dts: qcom: talos: " Mukesh Ojha
2026-04-14 10:55   ` Krzysztof Kozlowski
2026-04-11  2:48 ` Bjorn Andersson [this message]
2026-04-11  6:55   ` [PATCH 00/35] irqchip/qcom-pdc: Clean up register mapping and DT descriptions Mukesh Ojha
2026-04-13  8:27 ` Konrad Dybcio
2026-04-14  9:16   ` Mukesh Ojha

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=adm1uXe6QRes8DiX@baldur \
    --to=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=cros-qcom-dts-watchers@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mukesh.ojha@oss.qualcomm.com \
    --cc=robh@kernel.org \
    --cc=tglx@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.