lkml.org 
[lkml]   [2017]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] irqchip: gic-v3-its: Don't assume GICv3 hardware supports 16bit INTID
From
Date
Hi Marc,


On 03/17/2017 10:49 AM, Marc Zyngier wrote:
> On 15/03/17 05:46, Shanker Donthineni wrote:
>> The current ITS driver is assuming every ITS hardware implementation
>> supports minimum of 16bit INTID. But this is not true, as per GICv3
>> specification, INTID field is IMPLEMENTATION DEFINED in the range of
>> 14-24 bits. We might see an unpredictable system behavior on systems
>> where hardware support less than 16bits and software tries to use
>> 64K LPI interrupts.
>>
>> On Qualcomm Datacenter Technologies QDF2400 platform, boot log shows
>> confusing information about number of LPI chunks as shown below. The
>> QDF2400 ITS hardware supports 24bit INTID.
>>
>> This patch allocates the memory resources for PEND/PROP tables based
>> on discoverable value which is specified in GITS_TYPER.IDbits. Also
>> taking this opportunity to increase number of LPI/MSI(x) to 128K if
>> the hardware is capable, and show log message that reflects the
>> correct number of LPI chunks.
> As much as I like the idea of fixing the obvious bug that assuming 16bit
> of ID space is, what is the rational of capping the support to another
> arbitrary value?

I believe 128K LPIs are sufficient so capped to 17 bits.

> Why can't we (just like other tables) try and allocate the full amount
> required (with a possible back-off if allocations fail)?

Qualcomm ITS hardware supports 24bit LPI, it requires lot of memory to handle 2^24 entry property and pending table.

>
> Thanks,
>
> M.

--
Shanker Donthineni
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

\
 
 \ /
  Last update: 2017-03-20 10:53    [W:0.478 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site