[RFC PATCH 20/33] irqchip/gic-v3-its: Add VPE domain infrastructure

Marc Zyngier marc.zyngier at arm.com
Mon Jun 19 06:54:21 PDT 2017


[yeah, blast from the past. finally found some bandwidth to pick this up
again...]

On 13/02/17 10:40, Thomas Gleixner wrote:
> On Tue, 17 Jan 2017, Marc Zyngier wrote:
>> @@ -2266,6 +2294,8 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists,
>>  		    struct irq_domain *parent_domain)
>>  {
>>  	struct device_node *of_node;
>> +	struct its_node *its;
>> +	bool has_v4 = false;
>>  
>>  	its_parent = parent_domain;
>>  	of_node = to_of_node(handle);
>> @@ -2283,5 +2313,11 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists,
>>  	its_alloc_lpi_tables();
>>  	its_lpi_init(rdists->id_bits);
>>  
>> +	list_for_each_entry(its, &its_nodes, entry)
>> +		has_v4 |= its->is_v4;
> 
> Hmm, can you have mixed version its nodes? If not, you probably should have
> some sanity check (not necessarily here). If yes, then how does that work?

You definitely can have mixed versions. The trick is to not allow a
GICv4 operation on an interrupt that is not routed through a GICv4 ITS.
That's why the code is sprinkled with its->is_v4 tests in a number of
command handlers...

And yes, people have built this. Shrug...

Thanks,

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



More information about the linux-arm-kernel mailing list