Add support for the Promise PDC4071[89] chips used on fx the Fasttrak TX4300.

Docs kindly provided by Promise.
This commit is contained in:
Søren Schmidt 2005-08-12 16:54:11 +00:00
parent 29fa91a2e4
commit c7dc7718f6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=148992
3 changed files with 7 additions and 1 deletions

View File

@ -769,6 +769,7 @@ ata_mode2str(int mode)
case ATA_UDMA5: return "UDMA100";
case ATA_UDMA6: return "UDMA133";
case ATA_SA150: return "SATA150";
case ATA_SA300: return "SATA300";
default:
if (mode & ATA_DMA_MASK)
return "BIOSDMA";

View File

@ -208,6 +208,7 @@ ata_generic_setmode(device_t dev, int mode)
static void
ata_sata_setmode(device_t dev, int mode)
{
struct ata_pci_controller *ctlr = device_get_softc(GRANDPARENT(dev));
struct ata_device *atadev = device_get_softc(dev);
/*
@ -220,7 +221,7 @@ ata_sata_setmode(device_t dev, int mode)
atadev->param.satacapabilities != 0xffff) {
if (!ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0,
ata_limit_mode(dev, mode, ATA_UDMA6)))
atadev->mode = ATA_SA150;
atadev->mode = ctlr->chip->max_dma;
}
else {
mode = ata_limit_mode(dev, mode, ATA_UDMA5);
@ -2233,6 +2234,8 @@ ata_promise_ident(device_t dev)
{ ATA_PDC20622, 0, PRMIO, PRSX4X, ATA_SA150, "Promise PDC20622" },
{ ATA_PDC40518, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40518" },
{ ATA_PDC40519, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40519" },
{ ATA_PDC40718, 0, PRMIO, PRSATA2, ATA_SA300, "Promise PDC40718" },
{ ATA_PDC40719, 0, PRMIO, PRSATA2, ATA_SA300, "Promise PDC40719" },
{ 0, 0, 0, 0, 0, 0}};
char buffer[64];
uintptr_t devid = 0;

View File

@ -203,6 +203,8 @@ struct ata_connect_task {
#define ATA_PDC20580 0x3570105a
#define ATA_PDC40518 0x3d18105a
#define ATA_PDC40519 0x3519105a
#define ATA_PDC40718 0x3d17105a
#define ATA_PDC40719 0x3515105a
#define ATA_PDC20617 0x6617105a
#define ATA_PDC20618 0x6626105a
#define ATA_PDC20619 0x6629105a