2019-01-31 11:23:04

by Zenghui Yu

[permalink] [raw]
Subject: [PATCH] irqchip/gic-v3-its: Fix probing for ITT_entry_size

According to ARM IHI 0069C (ID070116), we should use GITS_TYPER's
bits [7:4] as ITT_entry_size.

Signed-off-by: Zenghui Yu <[email protected]>
---
include/linux/irqchip/arm-gic-v3.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h
index 071b4cb..c848a7c 100644
--- a/include/linux/irqchip/arm-gic-v3.h
+++ b/include/linux/irqchip/arm-gic-v3.h
@@ -319,7 +319,7 @@
#define GITS_TYPER_PLPIS (1UL << 0)
#define GITS_TYPER_VLPIS (1UL << 1)
#define GITS_TYPER_ITT_ENTRY_SIZE_SHIFT 4
-#define GITS_TYPER_ITT_ENTRY_SIZE(r) ((((r) >> GITS_TYPER_ITT_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
+#define GITS_TYPER_ITT_ENTRY_SIZE(r) ((((r) >> GITS_TYPER_ITT_ENTRY_SIZE_SHIFT) & 0xf) + 1)
#define GITS_TYPER_IDBITS_SHIFT 8
#define GITS_TYPER_DEVBITS_SHIFT 13
#define GITS_TYPER_DEVBITS(r) ((((r) >> GITS_TYPER_DEVBITS_SHIFT) & 0x1f) + 1)
--
1.8.3.1




2019-01-31 12:49:42

by Marc Zyngier

[permalink] [raw]
Subject: Re: [PATCH] irqchip/gic-v3-its: Fix probing for ITT_entry_size

On 31/01/2019 11:19, Zenghui Yu wrote:
> According to ARM IHI 0069C (ID070116), we should use GITS_TYPER's
> bits [7:4] as ITT_entry_size.
>
> Signed-off-by: Zenghui Yu <[email protected]>
> ---
> include/linux/irqchip/arm-gic-v3.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h
> index 071b4cb..c848a7c 100644
> --- a/include/linux/irqchip/arm-gic-v3.h
> +++ b/include/linux/irqchip/arm-gic-v3.h
> @@ -319,7 +319,7 @@
> #define GITS_TYPER_PLPIS (1UL << 0)
> #define GITS_TYPER_VLPIS (1UL << 1)
> #define GITS_TYPER_ITT_ENTRY_SIZE_SHIFT 4
> -#define GITS_TYPER_ITT_ENTRY_SIZE(r) ((((r) >> GITS_TYPER_ITT_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
> +#define GITS_TYPER_ITT_ENTRY_SIZE(r) ((((r) >> GITS_TYPER_ITT_ENTRY_SIZE_SHIFT) & 0xf) + 1)
> #define GITS_TYPER_IDBITS_SHIFT 8
> #define GITS_TYPER_DEVBITS_SHIFT 13
> #define GITS_TYPER_DEVBITS(r) ((((r) >> GITS_TYPER_DEVBITS_SHIFT) & 0x1f) + 1)
>

Well spotted. I've applied this as a fix after having added the relevant
Fixes: tag and massaged the commit message a bit.

Thanks,

M.
--
Jazz is not dead. It just smells funny...

2019-01-31 13:25:51

by Zenghui Yu

[permalink] [raw]
Subject: Re: [PATCH] irqchip/gic-v3-its: Fix probing for ITT_entry_size



On 2019/1/31 20:48, Marc Zyngier wrote:
> On 31/01/2019 11:19, Zenghui Yu wrote:
>> According to ARM IHI 0069C (ID070116), we should use GITS_TYPER's
>> bits [7:4] as ITT_entry_size.
>>
>> Signed-off-by: Zenghui Yu <[email protected]>
>> ---
>> include/linux/irqchip/arm-gic-v3.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h
>> index 071b4cb..c848a7c 100644
>> --- a/include/linux/irqchip/arm-gic-v3.h
>> +++ b/include/linux/irqchip/arm-gic-v3.h
>> @@ -319,7 +319,7 @@
>> #define GITS_TYPER_PLPIS (1UL << 0)
>> #define GITS_TYPER_VLPIS (1UL << 1)
>> #define GITS_TYPER_ITT_ENTRY_SIZE_SHIFT 4
>> -#define GITS_TYPER_ITT_ENTRY_SIZE(r) ((((r) >> GITS_TYPER_ITT_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
>> +#define GITS_TYPER_ITT_ENTRY_SIZE(r) ((((r) >> GITS_TYPER_ITT_ENTRY_SIZE_SHIFT) & 0xf) + 1)
>> #define GITS_TYPER_IDBITS_SHIFT 8
>> #define GITS_TYPER_DEVBITS_SHIFT 13
>> #define GITS_TYPER_DEVBITS(r) ((((r) >> GITS_TYPER_DEVBITS_SHIFT) & 0x1f) + 1)
>>
>
> Well spotted. I've applied this as a fix after having added the relevant
> Fixes: tag and massaged the commit message a bit.

Thanks Marc!

Zenghui

>
> Thanks,
>
> M.
>