[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <481aa3b9-55c2-4ccb-bb4a-58b924d77ad7@samsung.com>
Date: Fri, 23 Feb 2024 11:22:55 +0100
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Anup Patel <apatel@...tanamicro.com>, Palmer Dabbelt
<palmer@...belt.com>, Paul Walmsley <paul.walmsley@...ive.com>, Thomas
Gleixner <tglx@...utronix.de>, Rob Herring <robh+dt@...nel.org>, Krzysztof
Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Frank Rowand
<frowand.list@...il.com>, Conor Dooley <conor+dt@...nel.org>
Cc: Marc Zyngier <maz@...nel.org>, Björn Töpel
<bjorn@...nel.org>, Atish Patra <atishp@...shpatra.org>, Andrew Jones
<ajones@...tanamicro.com>, Sunil V L <sunilvl@...tanamicro.com>, Saravana
Kannan <saravanak@...gle.com>, Anup Patel <anup@...infault.org>,
linux-riscv@...ts.infradead.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH v12 02/25] genirq/irqdomain: Remove the param count
restriction from select()
Dear All,
On 27.01.2024 17:17, Anup Patel wrote:
> From: Thomas Gleixner <tglx@...utronix.de>
>
> Now that the GIC-v3 callback can handle invocation with a fwspec parameter
> count of 0 lift the restriction in the core code and invoke select()
> unconditionally when the domain provides it.
>
> Preparatory change for per device MSI domains.
>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> Signed-off-by: Anup Patel <apatel@...tanamicro.com>
This patch landed recently in linux-next (next-20240221) as commit
de1ff306dcf4 ("genirq/irqdomain: Remove the param count restriction from
select()"). I've noticed that it breaks booting of Qualcomm's Robotics
RB5 ARM64 board (arch/arm64/boot/dts/qcom/qrb5165-rb5.dts). Booting
freezes after "clk: Disabling unused clocks", but this is probably a
consequence of some earlier failure. Reverting $subject on top of
next-20240221 fixes this problem. Let me know how can I help debugging
this issue.
> ---
> kernel/irq/irqdomain.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
> index 0bdef4fe925b..8fee37918195 100644
> --- a/kernel/irq/irqdomain.c
> +++ b/kernel/irq/irqdomain.c
> @@ -448,7 +448,7 @@ struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec,
> */
> mutex_lock(&irq_domain_mutex);
> list_for_each_entry(h, &irq_domain_list, link) {
> - if (h->ops->select && fwspec->param_count)
> + if (h->ops->select)
> rc = h->ops->select(h, fwspec, bus_token);
> else if (h->ops->match)
> rc = h->ops->match(h, to_of_node(fwnode), bus_token);
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists