Message ID | 1568789850-14080-1-git-send-email-yuzenghui@huawei.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | c107d613f9204ff9c7624c229938153d7492c56e |
Headers | show |
Series | irqchip/gic-v3: Fix GIC_LINE_NR accessor | expand |
On 18/09/2019 07:57, Zenghui Yu wrote: > As per GIC spec, ITLinesNumber indicates the maximum SPI INTID that > the GIC implementation supports. And the maximum SPI INTID an > implementation might support is 1019 (field value 11111). > > max(GICD_TYPER_SPIS(...), 1020) is not what we actually want for > GIC_LINE_NR. Fix it to min(GICD_TYPER_SPIS(...), 1020). > > Signed-off-by: Zenghui Yu <yuzenghui@huawei.com> > --- > > Hi Marc, > > I still see "GICv3: 992 SPIs implemented" on the host. I go back to > https://patchwork.kernel.org/patch/11078623/ and it seems that we > failed to make the GIC_LINE_NR correct at that time. Ah, nice catch. Clearly, I didn't have my head screwed on properly when I wrote this. I'll take this in for the next round of fixes. Thanks, M.
diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index 7b0c96b9e02f..f4a49aef5ca4 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -59,7 +59,7 @@ static struct gic_chip_data gic_data __read_mostly; static DEFINE_STATIC_KEY_TRUE(supports_deactivate_key); #define GIC_ID_NR (1U << GICD_TYPER_ID_BITS(gic_data.rdists.gicd_typer)) -#define GIC_LINE_NR max(GICD_TYPER_SPIS(gic_data.rdists.gicd_typer), 1020U) +#define GIC_LINE_NR min(GICD_TYPER_SPIS(gic_data.rdists.gicd_typer), 1020U) #define GIC_ESPI_NR GICD_TYPER_ESPIS(gic_data.rdists.gicd_typer) /*
As per GIC spec, ITLinesNumber indicates the maximum SPI INTID that the GIC implementation supports. And the maximum SPI INTID an implementation might support is 1019 (field value 11111). max(GICD_TYPER_SPIS(...), 1020) is not what we actually want for GIC_LINE_NR. Fix it to min(GICD_TYPER_SPIS(...), 1020). Signed-off-by: Zenghui Yu <yuzenghui@huawei.com> --- Hi Marc, I still see "GICv3: 992 SPIs implemented" on the host. I go back to https://patchwork.kernel.org/patch/11078623/ and it seems that we failed to make the GIC_LINE_NR correct at that time. drivers/irqchip/irq-gic-v3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)