lkml.org 
[lkml]   [2017]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2] irqchip: uniphier-aidet: add UniPhier AIDET irqchip driver
Hi Mark,


2017-08-21 19:25 GMT+09:00 Marc Zyngier <marc.zyngier@arm.com>:

>> +static struct irq_chip uniphier_aidet_irq_chip = {
>> + .name = "AIDET",
>> + .irq_mask = irq_chip_mask_parent,
>> + .irq_unmask = irq_chip_unmask_parent,
>> + .irq_eoi = irq_chip_eoi_parent,
>> + .irq_set_type = uniphier_aidet_irq_set_type,
>
> Is this irqchip only used in a uniprocessor system? If not, how is the
> interrupt affinity managed without a irq_set_affinity callback?
>


After consideration, some questions popped up.



We can set other hooks, for example, .irq_{enable,disable} if we like.

.irq_enable = irq_chip_enable_parent,
.irq_disable = irq_chip_disable_parent,


I know the parent (GIC) implements unmask/mask instead of enable/disable,
but this is also out of the scope of this driver.

I am not familiar with the difference between unmask/mask and enable/disable.
IIUC, the difference is that
if enable/disable hooks are missing, IRQs are masked lazily.

If a child irqchip implemented enable/disable,
IRQs would be masked immediately. So, in irq-domain hierarchy,
a child irqchip need to have a good insight about its parent
which is be better, unmask/mask or enable/disable.




> Nit: please use irq_domain_create_hierarchy.

I'd like to know your intention about your commit
2a5e9a072da6469a37d1f0b1577416f51223c280


Is that mean, irq_domain_add_hierarchy will be deprecated
some time in the future?


If I grep under drivers/irqchip/,
most drivers are currently using irq_domain_add_hierarchy(),
and this provides a shorter form for DT-based drivers.


--
Best Regards
Masahiro Yamada

\
 
 \ /
  Last update: 2017-08-22 04:04    [W:0.096 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site