Re: [PATCH] adaptec 1210sa

From: Jeff Garzik
Date: Tue Dec 30 2003 - 18:54:07 EST


Mickael Marchand wrote:
--- /usr/src/linux-2.6.0/drivers/scsi/sata_sil.c 2003-12-21 13:30:58.000000000 +0100
+++ linux-2.6.0/drivers/scsi/sata_sil.c 2003-12-22 02:46:32.000000000 +0100
@@ -276,6 +276,16 @@
goto err_out_regions;
}
+ //let's have fun
+ u8 v; + pci_read_config_byte(pdev, 0x8a, &v);
+ int mask = 0x3f; //clear 6 and 7 bits
+ if (v & ~mask) {
+ printk("Reenabling interrupts because Adaptec's BIOS disables them\n" );
+ v &= mask;
+ pci_write_config_byte(pdev, 0x8a, v);
+ }
+
memset(probe_ent, 0, sizeof(*probe_ent));
INIT_LIST_HEAD(&probe_ent->node);
probe_ent->pdev = pdev;


Actually, ignore that last question. The SII docs indicate these bits are present in the standard SII 3112 chip, so the driver should just make sure to do this unconditionally.

Bart, the above applies to siimage.c as well. The following are equal:
* PCI config reg 0x8a (byte), bits 6/7
* PCI config reg 0x88 (dword), bits 22/23
* MMIO offset 0x48 (dword), bits 22/23

The lower bit masks IDE0 interrupts, and the higher bit masks IDE1 interrupts.

Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/