spport multiple MSI for pci device on Nehalem architecture
I'm implementing a driver for a costum pci-device which supports 32 message signaled interrupts(MSIs) (the configuration space shows this). The device will be used on platform with a intel E5540 and tylersburg chipset. Kernel 2.6.30.5 is used at the moment.
To enable multiple msi i use pci_enable_msi_block(device,32); to try to enable 32 MSIs. This function returns 1, meaning i could only register one, and indeed when i try to register one interrupt it succeeds. Trying to find the error i came accros the following piece of code in the kernel. Code:
drivers/pci/msi.c: This states, it will always return 1, if the number of vectors is greater then 1? And an architecture should override this function to support multiple MSI? I can't realy find were and if this function is overwritten for my architecture (Intel Nehalem). So my question is, how can multiple MSIs be aquired for my device. NOTE: my device does not support MSI-X so this can't be used. Kind Regards, Rob |
Quote:
The x86-specific code looks like this: Code:
/* x86 doesn't support multiple MSI yet */ |
Is it possible to adjust this code to support multiple MSI on the Nehalem architecture?
If so, how should i proceed? Kind regards, robvoo |
Quote:
Quote:
|
Hi,
I have face the same problem now that add the code for support multiple MSI for X86 architecture. Please Give some help for how to proceed. Thanks in advance. |
All times are GMT -5. The time now is 06:07 AM. |