Messages in this thread | | | Date | Wed, 11 Jan 2006 16:16:33 -0600 (CST) | From | Mark Maule <> | Subject | [PATCH 0/3] msi abstractions and support for altix |
| |
Resend #4:
Patch set to abstract portions of the MSI core so that it can be used on architectures which don't use standard interrupt controllers.
Changes from Resend #3
+ Move external declarations of msi_apic_ops out of routines, and up earlier in the respective .h files. + Add comments to the msi_ops structure declaration
Changes from Resend #2
+ Cleanup the ia64 platform_msi_init macro so it works on non-altix ia64
Changes from initial version
+ Change uintXX_t to uXX + Change _callouts to _ops + Renamed the _generic routines to _apic and moved them to a new file msi-apic.c + Have each msi_arch_init() routine call msi_register() with the desired msi ops for that platform. + Moved msi_address, msi_data, and related defs out of msi.h and into msi-apic.c, replaced by shifts/masks. + Rolled msi-arch-init.patch and msi-callouts.patch into a single msi-ops.patch
Mark
1/3 msi-ops.patch Add an msi_arch_init() hook which can be used to perform platform specific setup prior to msi use.
Define a set of msi ops to implement the platform-specific tasks:
setup - set up plumbing to get a vector directed at a default cpu, and return the corresponding MSI bus address and data. teardown - inverse of msi_setup target - retarget a vector to a given cpu
Define the routine msi_register() called from msi_arch_init() to set the desired ops.
Move a bunch of apic-specific code out of the msi core .h/.c and into a new msi-apic.c file.
2/3 ia64-per-platform-device-vector.patch For the ia64 arch, allow per-platform definitions of IA64_FIRST_DEVICE_VECTOR and IA64_LAST_DEVICE_VECTOR.
3/3 msi-altix.patch Altix specific callouts to implement MSI. - 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/
| |