[PATCH 0/3] msi abstractions and support for altix

Mark Maule maule at sgi.com
Wed Jan 11 04:00:32 EST 2006


On Mon, Jan 02, 2006 at 10:07:19PM -0800, Greg KH wrote:
> On Mon, Jan 02, 2006 at 09:22:49PM -0600, Mark Maule wrote:
> > On Thu, Dec 22, 2005 at 01:50:23PM -0700, Matthew Wilcox wrote:
> > > On Thu, Dec 22, 2005 at 02:38:24PM -0600, Mark Maule wrote:
> > > > Because on ia64 IA64_FIRST_DEVICE_VECTOR and IA64_LAST_DEVICE_VECTOR
> > > > (from which MSI FIRST_DEVICE_VECTOR/LAST_DEVICE_VECTOR are derived) are not
> > > > constants.  The are now global variables (see change to asm-ia64/hw_irq.h)
> > > > to allow the platform to override them.  Altix uses a reduced range of
> > > > vectors for devices, and this change was necessary to make assign_irq_vector()
> > > > to work on altix.
> > > 
> > > To be honest, I think this is just adding a third layer of paper over
> > > the crack in the wall.  The original code assumed x86; the ia64 port
> > > added enough emulation to make it look like x86 and now altix fixes a
> > > couple of assumptions.  I say: bleh.
> > > 
> > > What we actually need is an interface provided by the architecture that
> > > allocates a new irq.  I have a hankering to implement MSI on PA-RISC but
> > > haven't found the time ... 
> > 
> > Matt, Greg, et. al:
> > 
> > Did you guys have something in mind for a vector allocation interface?  It
> > seems to me that assign_irq_vector() more or less does what we want,
> > but what is missing is a way for the platform to prime which vectors
> > are available to choose from.
> > 
> > One possibly better solution would be to call something in the init_IRQ path
> > that would set up the vector pool available to assign_irq_vector().
> > 
> > Any opinions on this?  I would maintain that this effort should be done
> > independently of this patchset.
> 
> Care to write a patch showing how this would work?
> 
> And why would this be independant of your other changes?
> 
> thanks,
> 
> greg k-h

Ok, looks like it's going to be a bit until I have time to work on the
vector allocation stuff.

In the mean time, would folks be recepteive to taking this portion of the
initial patchset:

[PATCH 1/4] msi archetecture init hook
http://lkml.org/lkml/2005/12/21/168

This would at least give us a graceful pci_enable_msi() failure on altix
until I find the time to work on the other stuff.

Mark



More information about the Linuxppc64-dev mailing list