[PATCH v3] irqchip/gicv3: Workaround for NVIDIA erratum T241-FABRIC-4
Shanker Donthineni
sdonthineni at nvidia.com
Fri Mar 17 21:11:32 PDT 2023
Hi Marc,
On 3/17/23 11:26, Shanker Donthineni wrote:
> #define T241_CHIPN_MASK GENMASK_ULL(45, 44)
> +#define T241_CHIP_GICDA_OFFSET 0x1580000
> +#define SMCCC_SOC_ID_T241 0x036b0241
> +
> +static bool gic_enable_quirk_nvidia_t241(void *data)
> +{
> + s32 soc_id = arm_smccc_get_soc_id_version();
> + unsigned long chip_bmask = 0;
> + phys_addr_t phys;
> + u32 i;
> +
> + /* Check JEP106 code for NVIDIA T241 chip (036b:0241) */
> + if ((soc_id < 0) || (soc_id != SMCCC_SOC_ID_T241))
> + return false;
> +
> + /* Find the chips based on GICR regions PHYS addr */
> + for (i = 0; i < gic_data.nr_redist_regions; i++) {
> + chip_bmask |= BIT(FIELD_GET(T241_CHIPN_MASK,
> + gic_data.redist_regions[i].phys_base));
> + }
Apologies for the oversight on my part, I failed to address the build issue
for the 32-bit architecture and mistakenly submitted an incorrect patch.
Please ignore this patch and review v4 patch.
Correct change:
for (i = 0; i < gic_data.nr_redist_regions; i++) {
chip_bmask |= BIT(FIELD_GET(T241_CHIPN_MASK,
- gic_data.redist_regions[i].phys_base));
+ (u64)gic_data.redist_regions[i].phys_base));
-Shaker
More information about the linux-arm-kernel
mailing list