ata: pata_atiixp allow maximum UDMA speed
PATCH 1/1 ata: pata_atiixp allow maximum UDMA speed
Enable UDMA 6 for compatible IDE hosts, tested on SB600 & SB700 using ATA133 HDDs & SSDs. SSDs can exceed now 100MB/s
--- drivers/ata/pata_atiixp.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-)
drivers/ata/pata_atiixp.c +19 -1
@@ -279,8 +279,26 @@ static int atiixp_init_one(struct pci_dev *pdev, const struct pci_device_id *id) .udma_mask = ATA_UDMA5, .port_ops = &atiixp_port_ops }; +static const struct ata_port_info info_ata133 = { + .flags =ATA_FLAG_SLAVE_POSS , + .pio_mask =ATA_PIO4 , + .mwdma_mask =ATA_MWDMA12_ONLY , + .udma_mask =ATA_UDMA6 , + .port_ops = &atiixp_port_ops + };const struct ata_port_info *ppi[] = { &info, &info }; +/* SB300 and newer: UDMA6 */ +switch (pdev->device) { +case PCI_DEVICE_ID_ATI_IXP300_IDE : +case PCI_DEVICE_ID_ATI_IXP400_IDE : +case PCI_DEVICE_ID_ATI_IXP600_IDE : +case PCI_DEVICE_ID_ATI_IXP700_IDE : +case PCI_DEVICE_ID_AMD_HUDSON2_IDE : + ppi[0 ] = ppi[1 ] = &info_ata133; +break ; + } +/* SB600 doesn't have secondary port wired */ if (pdev->device ==PCI_DEVICE_ID_ATI_IXP600_IDE ) ppi[1 ] = &ata_dummy_port_info;
@@ -314,7 +332,7 @@ static struct pci_driver atiixp_pci_driver = {module_pci_driver (atiixp_pci_driver);MODULE_AUTHOR ("Alan Cox" ); -MODULE_DESCRIPTION ("low-level driver for ATI IXP200/300/400" ); +MODULE_DESCRIPTION ("low-level driver for ATI IXP200/300/400, AMD SB600/700 series and Hudson-2" );MODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, atiixp);MODULE_VERSION (DRV_VERSION );
Signature · 1 line
2.53.0
Niklas Cassel
maintainerQuoted 2 lines · Ioannis Barkas
Enable UDMA 6 for compatible IDE hosts, tested on SB600 & SB700 using ATA133 HDDs & SSDs. SSDs can exceed now 100MB/s
This commit log is a bit short. Please provide some more information.
You commit log mentions SB600 & SB700, but the code comment mentions SB300.
Quoted 3 lines
Signed-off-by Ioannis Barkas [email protected]Signed-off-by Nick Barkas [email protected]
The email addresses in this patch, and in all your other patches, are missing corrupt. The format is:
i.e. you are missing <> around the email address.
Quoted 36 lines
--- drivers/ata/pata_atiixp.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-)drivers/ata/pata_atiixp.c +18
-0@@ -279,8 +279,26 @@ static int atiixp_init_one(struct pci_dev *pdev, const struct pci_device_id *id) .udma_mask = ATA_UDMA5, .port_ops = &atiixp_port_ops }; +static const struct ata_port_info info_ata133 = { + .flags =ATA_FLAG_SLAVE_POSS , + .pio_mask =ATA_PIO4 , + .mwdma_mask =ATA_MWDMA12_ONLY , + .udma_mask =ATA_UDMA6 , + .port_ops = &atiixp_port_ops + };const struct ata_port_info *ppi[] = { &info, &info }; +/* SB300 and newer: UDMA6 */ +switch (pdev->device) { +case PCI_DEVICE_ID_ATI_IXP300_IDE : +case PCI_DEVICE_ID_ATI_IXP400_IDE : +case PCI_DEVICE_ID_ATI_IXP600_IDE : +case PCI_DEVICE_ID_ATI_IXP700_IDE : +case PCI_DEVICE_ID_AMD_HUDSON2_IDE : + ppi[0 ] = ppi[1 ] = &info_ata133; +break ; + } +/* SB600 doesn't have secondary port wired */ if (pdev->device ==PCI_DEVICE_ID_ATI_IXP600_IDE ) ppi[1 ] = &ata_dummy_port_info;
drivers/ata/pata_atiixp.c static struct pci_driver atiixp_pci_driver = { · line 335
Quoted 5 lines
drivers/ata/pata_atiixp.c +1
-1@@ -314,7 +332,7 @@ static struct pci_driver atiixp_pci_driver = {module_pci_driver (atiixp_pci_driver);MODULE_AUTHOR ("Alan Cox" ); -MODULE_DESCRIPTION ("low-level driver for ATI IXP200/300/400" ); +MODULE_DESCRIPTION ("low-level driver for ATI IXP200/300/400, AMD SB600/700 series and Hudson-2" );
This is a separate logical change, please drop it.
As we can see from the context above:
/* SB600 doesn't have secondary port wired */
The driver already supports SB600 in PATA mode, even though it was not explicitly mentioned in the module description.
I don't see why we would need to change it now.
Kind regards,
Niklas