]> git.sur5r.net Git - u-boot/blobdiff - drivers/block/ahci.c
rockchip: Add basic support for kylin board
[u-boot] / drivers / block / ahci.c
index a57f674c52c69971912a8fdce1e85c33535088f5..5efa821dad360ae44a53025a96ea788c872ad126 100644 (file)
@@ -15,6 +15,7 @@
 #include <asm/errno.h>
 #include <asm/io.h>
 #include <malloc.h>
+#include <memalign.h>
 #include <scsi.h>
 #include <libata.h>
 #include <linux/ctype.h>
@@ -299,9 +300,6 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent)
 
                writel(1 << i, mmio + HOST_IRQ_STAT);
 
-               /* set irq mask (enables interrupts) */
-               writel(DEF_PORT_IRQ, port_mmio + PORT_IRQ_MASK);
-
                /* register linkup ports */
                tmp = readl(port_mmio + PORT_SCR_STAT);
                debug("SATA port %d status: 0x%x\n", i, tmp);
@@ -487,36 +485,6 @@ static void ahci_fill_cmd_slot(struct ahci_ioports *pp, u32 opts)
 #endif
 }
 
-
-#ifdef CONFIG_AHCI_SETFEATURES_XFER
-static void ahci_set_feature(u8 port)
-{
-       struct ahci_ioports *pp = &(probe_ent->port[port]);
-       void __iomem *port_mmio = pp->port_mmio;
-       u32 cmd_fis_len = 5;    /* five dwords */
-       u8 fis[20];
-
-       /* set feature */
-       memset(fis, 0, sizeof(fis));
-       fis[0] = 0x27;
-       fis[1] = 1 << 7;
-       fis[2] = ATA_CMD_SET_FEATURES;
-       fis[3] = SETFEATURES_XFER;
-       fis[12] = __ilog2(probe_ent->udma_mask + 1) + 0x40 - 0x01;
-
-       memcpy((unsigned char *)pp->cmd_tbl, fis, sizeof(fis));
-       ahci_fill_cmd_slot(pp, cmd_fis_len);
-       ahci_dcache_flush_sata_cmd(pp);
-       writel(1, port_mmio + PORT_CMD_ISSUE);
-       readl(port_mmio + PORT_CMD_ISSUE);
-
-       if (waiting_for_cmd_completed(port_mmio + PORT_CMD_ISSUE,
-                               WAIT_MS_DATAIO, 0x1)) {
-               printf("set feature error on port %d!\n", port);
-       }
-}
-#endif
-
 static int wait_spinup(void __iomem *port_mmio)
 {
        ulong start;
@@ -850,7 +818,7 @@ static int ata_scsiop_read_capacity10(ccb *pccb)
        if (!ataid[pccb->target]) {
                printf("scsi_ahci: SCSI READ CAPACITY10 command failure. "
                       "\tNo ATA info!\n"
-                      "\tPlease run SCSI commmand INQUIRY firstly!\n");
+                      "\tPlease run SCSI command INQUIRY first!\n");
                return -EPERM;
        }
 
@@ -879,7 +847,7 @@ static int ata_scsiop_read_capacity16(ccb *pccb)
        if (!ataid[pccb->target]) {
                printf("scsi_ahci: SCSI READ CAPACITY16 command failure. "
                       "\tNo ATA info!\n"
-                      "\tPlease run SCSI commmand INQUIRY firstly!\n");
+                      "\tPlease run SCSI command INQUIRY first!\n");
                return -EPERM;
        }
 
@@ -958,9 +926,6 @@ void scsi_low_level_init(int busdevfunc)
                                printf("Can not start port %d\n", i);
                                continue;
                        }
-#ifdef CONFIG_AHCI_SETFEATURES_XFER
-                       ahci_set_feature((u8) i);
-#endif
                }
        }
 }
@@ -1004,9 +969,6 @@ int ahci_init(void __iomem *base)
                                printf("Can not start port %d\n", i);
                                continue;
                        }
-#ifdef CONFIG_AHCI_SETFEATURES_XFER
-                       ahci_set_feature((u8) i);
-#endif
                }
        }
 err_out: