On Sat, 22 Jan 2005, Dmitry Morozovsky wrote:

DM> DA> There is:
DM> DA>         http://www.ambrisko.com/doug/ata/ata_stable_sata_7.patch
DM> DA> for 4.10.  That deals with Intel and Promise SATA stuff and 
DM> DA> ata-raid fixes/enhancements.  It deals with legacy and enhanced modes
DM> DA> for Intel SATA.
DM> DA> 
DM> DA> A bunch of people have installed it and are using this.  A bunch of 
DM> DA> our customers use it via our appliance.
DM> 
DM> Wow, thanks! BTW, it seems some sio patches are slipped in by accident?

BTW2: here is small patch to support Promise SATA PDC20376 controller found on 
our Albatron MB

Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- [EMAIL PROTECTED] ***
------------------------------------------------------------------------
diff -r -u sys/dev/ata/ata-all.c /FreeBSD/src/sys/dev/ata/ata-all.c
--- sys/dev/ata/ata-all.c       Sun Jan 23 17:46:00 2005
+++ /FreeBSD/src/sys/dev/ata/ata-all.c  Sat Jan 22 15:49:15 2005
@@ -189,6 +189,7 @@
     case 0x3319105a:  /* Promise SATA */
     case 0x3371105a:  /* Promise SATA */
     case 0x3373105a:  /* Promise SATA */
+    case 0x3376105a:  /* Promise SATA */
        promise_init(ch);
        break;
 
@@ -282,6 +283,7 @@
     case 0x3319105a: /* Promise SATA */
     case 0x3371105a: /* Promise SATA */
     case 0x3373105a: /* Promise SATA */
+    case 0x3376105a: /* Promise SATA */
      {
        struct ata_pci_controller *ctlr;
        ctlr = device_get_softc(device_get_parent(ch->dev));
@@ -1002,6 +1004,7 @@
     case 0x3319105a: /* Promise SATA */
     case 0x3371105a: /* Promise SATA */
     case 0x3373105a: /* Promise SATA */
+    case 0x3376105a:  /* Promise SATA */
        promise_init(ch);
        if(ch->devices & ATA_ATA_MASTER)
            ata_dmadone(&ch->device[MASTER]);
diff -r -u sys/dev/ata/ata-dma.c /FreeBSD/src/sys/dev/ata/ata-dma.c
--- sys/dev/ata/ata-dma.c       Sun Jan 23 17:46:00 2005
+++ /FreeBSD/src/sys/dev/ata/ata-dma.c  Sat Jan 22 15:53:48 2005
@@ -205,6 +205,7 @@
     case 0x3319105a:    /* Promise SATA */
     case 0x3371105a:    /* Promise SATA */
     case 0x3373105a:    /* Promise SATA */
+    case 0x3376105a:    /* Promise SATA */
        if ((device == 0 && atadev->channel->sata_master_idx)
            || (device == 1 && atadev->channel->sata_slave_idx)){
            atadev->param->hwres_cblid = 1;
@@ -1349,6 +1350,7 @@
     case 0x3319105a:   /* Promise SATA */
     case 0x3371105a:   /* Promise SATA */
     case 0x3373105a:   /* Promise SATA */
+    case 0x3376105a:    /* Promise SATA */
        error = ata_command(atadev, ATA_C_SETFEATURES, 0,
                ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY);
         ata_dmacreate(atadev, apiomode, ATA_UDMA5);
@@ -1476,6 +1478,7 @@
     case 0x3319105a:  /* Promise SATA */
     case 0x3371105a:  /* Promise SATA */
     case 0x3373105a:  /* Promise SATA */
+    case 0x3376105a:  /* Promise SATA */
        s = splbio();
        ATA_OUTL(ch->r_bmio, ATA_BMDTP_PORT, ds->mdmatab);
        ATA_OUTL(ch->r_bmio, ATA_BMCTL_PORT,
@@ -1515,6 +1518,7 @@
     case 0x3319105a:  /* Promise SATA */
     case 0x3371105a:  /* Promise SATA */
     case 0x3373105a:  /* Promise SATA */
+    case 0x3376105a:  /* Promise SATA */
        ch->flags &= ~ATA_DMA_ACTIVE;
        ds->flags = 0;
        return 0;
diff -r -u sys/dev/ata/ata-pci.c /FreeBSD/src/sys/dev/ata/ata-pci.c
--- sys/dev/ata/ata-pci.c       Sun Jan 23 17:46:00 2005
+++ /FreeBSD/src/sys/dev/ata/ata-pci.c  Sat Jan 22 15:55:01 2005
@@ -340,6 +340,7 @@
 
     case 0x3371105a:
     case 0x3373105a:   /* Promise SATA */
+    case 0x3376105a:   /* Promise SATA */
        return "Promise SATA150 TX2 controller";
 
     case 0x3318105a:   
@@ -556,6 +557,7 @@
     case 0x3319105a: /* Promise SATA150 TX4 */  
     case 0x3371105a: /* Promise SATA150 TX4 */
     case 0x3373105a: /* Promise SATA */
+    case 0x3376105a: /* Promise SATA */
         /* is there a valid port range to connect to ? */
         rid = 0x1c;
        controller->bmio[ATA_IDX_DATA].res = bus_alloc_resource(dev,
@@ -849,6 +851,7 @@
     case 0x3319105a:   /* Promise SATA */
     case 0x3371105a:   /* Promise SATA */
     case 0x3373105a:   /* Promise SATA */
+    case 0x3376105a:   /* Promise SATA */
        parent = device_get_parent(ch->dev);  
        ctlr = device_get_softc(parent);
        ata_promise_plug_scan_intr(ch, 1);
diff -r -u sys/dev/ata/ata-raid.c /FreeBSD/src/sys/dev/ata/ata-raid.c
--- sys/dev/ata/ata-raid.c      Sun Jan 23 17:46:00 2005
+++ /FreeBSD/src/sys/dev/ata/ata-raid.c Sat Jan 22 15:55:30 2005
@@ -159,6 +159,7 @@
     case 0x4d69105a: case 0x5275105a: case 0x6269105a:
     case 0x7275105a:
     case 0x3318105a: case 0x3319105a: case 0x3371105a: case 0x3373105a:
+    case 0x3376105a:
        /* test RAID bit in PCI reg XXX */
        return (ar_promise_read_conf(adp, ar_table, 0));
 
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to