[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87mscxuu6f.ffs@tglx>
Date: Thu, 03 Apr 2025 17:43:52 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Christian Bruel <christian.bruel@...s.st.com>, maz@...nel.org,
robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
mcoquelin.stm32@...il.com, alexandre.torgue@...s.st.com
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, linux-stm32@...md-mailman.stormreply.com,
Christian Bruel <christian.bruel@...s.st.com>
Subject: Re: [PATCH 2/3] irqchip/gic: Use 0x10000 offset to access GICC_DIR
on STM32MP2
On Thu, Apr 03 2025 at 14:28, Christian Bruel wrote:
> When GIC_4KNOT64K bit in the GIC configuration register is
> 0 (64KB), address block is modified in such a way than only the
s/than/that/
> first 4KB of the GIC cpu interface are accessible with default
> offsets.
> With this bit mapping GICC_DIR register is accessible at
What's 'this bit mapping' ? This sentence does not parse.
> offset 0x10000 instead of 0x1000, thus remap accordingly
...
> +/*
> + * 8kB GICC range is not accessible with the default 4kB translation
> + * granule. 0x1000 offset is accessible at 64kB translation.
> + */
I have a hard time to map this comment to the change log, which suggests
to me that this is the other way round.
> +static bool gic_8kbaccess(void *data)
> +{
> + struct gic_chip_data *gic = data;
> + void __iomem *alt;
> +
> + if (!is_hyp_mode_available())
> + return false;
> +
> + alt = ioremap(gic->cpu_phys_base, GIC_STM32MP2_CPU_DEACTIVATE + 4);
> + if (!alt) {
> + pr_err("Unable to remap GICC_DIR register\n");
> + return false;
That's a hack because in case that the remap fails, this leaves the
thing enabled, but disfunctional.
Thanks,
tglx
Powered by blists - more mailing lists