Re: [PATCH 11/25] i386 irq: Dynamic irq support

From: Eric W. Biederman
Date: Tue Jun 20 2006 - 22:21:03 EST


Rajesh Shah <rajesh.shah@xxxxxxxxx> writes:

> On Tue, Jun 20, 2006 at 04:28:24PM -0600, Eric W. Biederman wrote:
>> The current implementation of create_irq() is a hack but it is the
>> current hack that msi.c uses, and unfortunately the ``generic'' apic
>> msi ops depend on this hack. Thus we are stuck this hack of assuming
>> irq == vector until the depencencies in the generic msi code are removed.
>>
>> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
>> ---
>> arch/i386/kernel/io_apic.c | 48 ++++++++++++++++++++++++++++++++++++++++++++
>> 1 files changed, 48 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c
>> index 16966f4..04f78ff 100644
>> --- a/arch/i386/kernel/io_apic.c
>> +++ b/arch/i386/kernel/io_apic.c
>> @@ -2497,6 +2497,54 @@ static int __init ioapic_init_sysfs(void
>>
>> device_initcall(ioapic_init_sysfs);
>>
>> +#ifdef CONFIG_PCI_MSI
>> +/*
>
> It would be really good to decouple MSI implementation from IO
> APICs, since there's really no real hardware dependence here.
> This code can actually go to arch/xxx/pci/msi-apic.c

I agree in theory. In practice however msi interrupts look like io_apics.
with a different register set and the use all of the same support facilities.
So until that part of the architecture is refactored it doesn't make much
sense. There is a slightly better case for moving the code into a separate
file. Namely I think I know of a second common implementation for x86_64.
At which point the files will probably be named msi-intel.c and msi-amd.c
Or something like that.

The name msi-apic.c is at least as bad as putting the code in io_apic.c


Eric

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/