Switch mfii(4) to msi, testing required.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Switch mfii(4) to msi, testing required.

Christiano F. Haesbaert
Hi,

We would like to switch mfii(4) to msi, there is a family of supermicro
X9 motherboards with incorrect ioapic routing, so they only work properly
though msi.

If you have a system with a mfii(4) device, please give this diff a spin
and report back.

So far I was able to test on:

Supermicro X9DRH + Symbios Logic MegaRAID SAS2208
Fujitsu primergy RX300 S7 + Symbios Logic MegaRAID SAS2208

Index: dev/pci/mfii.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/mfii.c,v
retrieving revision 1.12
diff -d -u -p -r1.12 mfii.c
--- dev/pci/mfii.c 25 Aug 2012 07:03:04 -0000 1.12
+++ dev/pci/mfii.c 6 Jun 2013 10:47:23 -0000
@@ -307,7 +307,7 @@ mfii_attach(struct device *parent, struc
  /* disable interrupts */
  mfii_write(sc, MFI_OMSK, 0xffffffff);
 
- if (pci_intr_map(pa, &ih) != 0) {
+ if (pci_intr_map_msi(pa, &ih) != 0 && pci_intr_map(pa, &ih) != 0) {
  printf(": unable to map interrupt\n");
  goto pci_unmap;
  }

Reply | Threaded
Open this post in threaded view
|

Re: Switch mfii(4) to msi, testing required.

Christiano F. Haesbaert-2
On Thu, Jun 06, 2013 at 12:54:31PM +0200, Christiano F. Haesbaert wrote:

> Hi,
>
> We would like to switch mfii(4) to msi, there is a family of supermicro
> X9 motherboards with incorrect ioapic routing, so they only work properly
> though msi.
>
> If you have a system with a mfii(4) device, please give this diff a spin
> and report back.
>
> So far I was able to test on:
>
> Supermicro X9DRH + Symbios Logic MegaRAID SAS2208
> Fujitsu primergy RX300 S7 + Symbios Logic MegaRAID SAS2208
>
> Index: dev/pci/mfii.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/mfii.c,v
> retrieving revision 1.12
> diff -d -u -p -r1.12 mfii.c
> --- dev/pci/mfii.c 25 Aug 2012 07:03:04 -0000 1.12
> +++ dev/pci/mfii.c 6 Jun 2013 10:47:23 -0000
> @@ -307,7 +307,7 @@ mfii_attach(struct device *parent, struc
>   /* disable interrupts */
>   mfii_write(sc, MFI_OMSK, 0xffffffff);
>  
> - if (pci_intr_map(pa, &ih) != 0) {
> + if (pci_intr_map_msi(pa, &ih) != 0 && pci_intr_map(pa, &ih) != 0) {
>   printf(": unable to map interrupt\n");
>   goto pci_unmap;
>   }

So far I've received only one report where this diff makes it possible
to use the Supermicro branded AOC-S2208-H8iR LSI SAS 2208, where the
apic routing is probably busted too.

We're reaching the point where we'll see more machines with wrong apic
routing since most newer chips are only being tested with MSI enabled.
This is one case of it.

I'd like to commit this after release.

Reply | Threaded
Open this post in threaded view
|

Re: Switch mfii(4) to msi, testing required.

David Gwynne-5
ok by me.

On 05/08/2013, at 7:04 PM, Christiano F. Haesbaert <[hidden email]> wrote:

> On Thu, Jun 06, 2013 at 12:54:31PM +0200, Christiano F. Haesbaert wrote:
>> Hi,
>>
>> We would like to switch mfii(4) to msi, there is a family of supermicro
>> X9 motherboards with incorrect ioapic routing, so they only work properly
>> though msi.
>>
>> If you have a system with a mfii(4) device, please give this diff a spin
>> and report back.
>>
>> So far I was able to test on:
>>
>> Supermicro X9DRH + Symbios Logic MegaRAID SAS2208
>> Fujitsu primergy RX300 S7 + Symbios Logic MegaRAID SAS2208
>>
>> Index: dev/pci/mfii.c
>> ===================================================================
>> RCS file: /cvs/src/sys/dev/pci/mfii.c,v
>> retrieving revision 1.12
>> diff -d -u -p -r1.12 mfii.c
>> --- dev/pci/mfii.c 25 Aug 2012 07:03:04 -0000 1.12
>> +++ dev/pci/mfii.c 6 Jun 2013 10:47:23 -0000
>> @@ -307,7 +307,7 @@ mfii_attach(struct device *parent, struc
>> /* disable interrupts */
>> mfii_write(sc, MFI_OMSK, 0xffffffff);
>>
>> - if (pci_intr_map(pa, &ih) != 0) {
>> + if (pci_intr_map_msi(pa, &ih) != 0 && pci_intr_map(pa, &ih) != 0) {
>> printf(": unable to map interrupt\n");
>> goto pci_unmap;
>> }
>
> So far I've received only one report where this diff makes it possible
> to use the Supermicro branded AOC-S2208-H8iR LSI SAS 2208, where the
> apic routing is probably busted too.
>
> We're reaching the point where we'll see more machines with wrong apic
> routing since most newer chips are only being tested with MSI enabled.
> This is one case of it.
>
> I'd like to commit this after release.
>