Re: [RFC PATCH 09/33] irqchip/gic-v3-its: Split out property table allocation

From: Marc Zyngier
Date: Mon Jun 19 2017 - 11:42:28 EST


On 17/02/17 06:15, Auger Eric wrote:
> Hi Marc,
> On 17/01/2017 11:20, Marc Zyngier wrote:
>> Move the LPI property table allocation into its own function, as
>> this is going to be required for those associated with VMs in
>> the future.
>>
>> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
>> ---
>> drivers/irqchip/irq-gic-v3-its.c | 28 ++++++++++++++++++----------
>> 1 file changed, 18 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
>> index b28fb19..c92ff4d 100644
>> --- a/drivers/irqchip/irq-gic-v3-its.c
>> +++ b/drivers/irqchip/irq-gic-v3-its.c
>> @@ -889,15 +889,31 @@ static void its_lpi_free(struct event_lpi_map *map)
>> kfree(map->col_map);
>> }
>>
>> +static struct page *its_allocate_prop_table(gfp_t gfp_flags)
>> +{
>> + struct page *prop_page;
>> +
>> + prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ));
>> + if (!prop_page)
>> + return NULL;
>> +
>> + /* Priority 0xa0, Group-1, disabled */
>> + memset(page_address(prop_page),
>> + LPI_PROP_DEFAULT_PRIO | LPI_PROP_GROUP1,
>> + LPI_PROPBASE_SZ);
>> +
>> + /* Make sure the GIC will observe the written configuration */
>> + gic_flush_dcache_to_poc(page_address(gic_rdists->prop_page), LPI_PROPBASE_SZ);
> s/gic_rdists->prop_page/prop_page.

Yeah, this doesn't hit on the model, bizarrely. Oh well... Thanks for
spotting this.

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