All of lore.kernel.org
 help / color / mirror / Atom feed
* msi_free_irqs #2
@ 2007-05-24 16:07 Mike Miller (OS Dev)
  2007-05-24 17:27 ` Andrew Morton
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Miller (OS Dev) @ 2007-05-24 16:07 UTC (permalink / raw)
  To: linux-kernel, tom.l.nguyen; +Cc: iss_storagedev, akpm, jens.axboe

So I guess I found the answer to my own question. msi_free_irqs was apparently added
in 2.6.22-something. I don't find it in 2.6.21.2 or anywhere else. So somebody broke a
couple of things.
The most noticable is cciss hangs after turning on interrupts. The reason for that is
the kernel now looks at my array of MSI-X vectors in reverse order. We have 4 ways of
generating an interrupt on Smart Array hw. They are:

#       define DOORBELL_INT     0
#       define PERF_MODE_INT    1
#       define SIMPLE_MODE_INT  2
#       define MEMQ_MODE_INT    3

For INTx these four lines are OR'ed together and run to one interrupt pin. MSI-X
breaks this hardware OR'ing so we must register either all 4 or at the least the
correct interrupt. When I first submitted the MSI/X support I was registering all 4.
Someone changed that to only register a single MSI-X vector. That worked fine until
2.6.22-something. 
Now it appears that the kernel is looking at the array in reverse order. IOW, I must
register PERF_MODE_INT in order for cciss to work. That's messed up. Anybody want to
`fess up to making these changes? :)
I'll keep working this, but I'm going to undo someones change when I figure out where
it's broke.

mikem

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2007-05-25  3:21 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-24 16:07 msi_free_irqs #2 Mike Miller (OS Dev)
2007-05-24 17:27 ` Andrew Morton
2007-05-24 19:42   ` Eric W. Biederman
2007-05-24 20:59     ` Mike Miller (OS Dev)
2007-05-24 21:08       ` [PATCH] msi: Fix the ordering of msix irqs Eric W. Biederman
2007-05-24 21:17         ` Andrew Morton
2007-05-24 21:36           ` Eric W. Biederman
2007-05-25  2:32         ` Michael Ellerman
2007-05-25  3:04           ` kernel crash in timer interrupt handler gshan
2007-05-24 20:07   ` msi_free_irqs #2 Mike Miller (OS Dev)
2007-05-24 20:53     ` Eric W. Biederman
2007-05-24 21:01       ` Mike Miller (OS Dev)
2007-05-24 21:11       ` Mike Miller (OS Dev)
2007-05-25  3:16         ` [PATCH] msi: mask the msix vector before we unmap it Eric W. Biederman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.