Messages in this thread | | | From | (Eric W. Biederman) | Subject | Re: [PATCH 11/25] i386 irq: Dynamic irq support | Date | Tue, 20 Jun 2006 20:21:00 -0600 |
| |
Rajesh Shah <rajesh.shah@intel.com> 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@xmission.com> >> --- >> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |