Skip to contentSkip to conversation

Generic IDE support for more Toshiba Piccolo PCI IDE chips

PATCH New Daniel Drake 1 participant 1 message Apr 22, 2004

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Generic IDE support for more Toshiba Piccolo PCI IDE chips

Adds more Toshiba IDE chips to the list supported by the generic IDE driver, for chips with product ID 0x0103 and 0x0105
This then allows DMA to be enabled on disks.

For more info, see:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0401.1/0150.html
http://www.uwsg.iu.edu/hypermail/linux/kernel/0402.0/0129.html
(it appears that Ben's patch never appeared, and Jerome's got lost)

Against 2.4.27-pre1

Please apply,

Daniel

Generic IDE support for more Toshiba Piccolo PCI IDE chips (2.4)

drivers/ide/pci/generic.c +2 -0
diff -uprN linux-2.4.27-pre1/drivers/ide/pci/generic.c linux-dsd/drivers/ide/pci/generic.c
@@ -141,6 +141,8 @@ static struct pci_device_id generic_pci_
 	{ PCI_VENDOR_ID_VIA,    PCI_DEVICE_ID_VIA_82C561,          PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7},
 	{ PCI_VENDOR_ID_OPTI,   PCI_DEVICE_ID_OPTI_82C558,         PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8},
 	{ PCI_VENDOR_ID_TOSHIBA, PCI_DEVICE_ID_TOSHIBA_PICCOLO,	   PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9},
+	{ PCI_VENDOR_ID_TOSHIBA, PCI_DEVICE_ID_TOSHIBA_PICCOLO_1,  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10},
+	{ PCI_VENDOR_ID_TOSHIBA, PCI_DEVICE_ID_TOSHIBA_PICCOLO_2,  PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11},
 	{ 0, },
 };
 
drivers/ide/pci/generic.h +27 -1
diff -uprN linux-2.4.27-pre1/drivers/ide/pci/generic.h linux-dsd/drivers/ide/pci/generic.h
@@ -130,7 +130,33 @@ static ide_pci_device_t generic_chipsets
 	},{	/* 9 */
 		.vendor		= PCI_VENDOR_ID_TOSHIBA,
 		.device		= PCI_DEVICE_ID_TOSHIBA_PICCOLO,
-		.name		= "Piccolo",
+		.name		= "Piccolo0102",
+		.init_chipset	= init_chipset_generic,
+		.init_iops	= NULL,
+		.init_hwif	= init_hwif_generic,
+		.init_dma	= init_dma_generic,
+		.channels	= 2,
+		.autodma	= NOAUTODMA,
+		.enablebits	= {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
+		.bootable	= ON_BOARD,
+		.extra		= 0,
+	},{	/* 10 */
+		.vendor		= PCI_VENDOR_ID_TOSHIBA,
+		.device		= PCI_DEVICE_ID_TOSHIBA_PICCOLO_1,
+		.name		= "Piccolo0103",
+		.init_chipset	= init_chipset_generic,
+		.init_iops	= NULL,
+		.init_hwif	= init_hwif_generic,
+		.init_dma	= init_dma_generic,
+		.channels	= 2,
+		.autodma	= NOAUTODMA,
+		.enablebits	= {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
+		.bootable	= ON_BOARD,
+		.extra		= 0,
+	},{	/* 11 */
+		.vendor		= PCI_VENDOR_ID_TOSHIBA,
+		.device		= PCI_DEVICE_ID_TOSHIBA_PICCOLO_2,
+		.name		= "Piccolo0105",
 		.init_chipset	= init_chipset_generic,
 		.init_iops	= NULL,
 		.init_hwif	= init_hwif_generic,
include/linux/pci_ids.h +2 -0
diff -uprN linux-2.4.27-pre1/include/linux/pci_ids.h linux-dsd/include/linux/pci_ids.h
@@ -1269,6 +1269,8 @@
 
 #define PCI_VENDOR_ID_TOSHIBA		0x1179
 #define PCI_DEVICE_ID_TOSHIBA_PICCOLO	0x0102
+#define PCI_DEVICE_ID_TOSHIBA_PICCOLO_1	0x0103
+#define PCI_DEVICE_ID_TOSHIBA_PICCOLO_2	0x0105
 #define PCI_DEVICE_ID_TOSHIBA_601	0x0601
 #define PCI_DEVICE_ID_TOSHIBA_TOPIC95	0x060a
 #define PCI_DEVICE_ID_TOSHIBA_TOPIC97	0x060f