Re: Need clarity on MSI handling in RC driver

From: valmiki
Date: Thu Jan 05 2017 - 21:31:12 EST


Thanks Marc

On 1/4/2017 11:16 PM, Marc Zyngier wrote:
On 04/01/17 17:39, valmiki wrote:
Hi All,

I have a doubt, the MSI domains are handled differently in different RC
drivers.

Some drivers use irq_domain_add_linear alone, and some use
pci_msi_create_irq_domain also to handle MSI.

In most of the 32-bit architectures only irq_domain_add_linear is used
and in 64 bit drivers both pci_msi_create_irq_domain and
irq_domain_add_linear are used.

So is this because of architecture difference between ARM and ARM64 ?

Neither. This is purely a software construct. Newer drivers use the
generic MSI infrastructure (which also allows things like non-PCI MSI),
while older drivers use some ad-hoc infrastructure which is more or less
specific to PCI.

The former is the way to go, and the latter is being phased out.

I'll let Mark draw some shiny ASCII art.

Thanks,

M.