ahci: add defines for PORT_SCR_STAT register bits
authorRob Herring <rob.herring@calxeda.com>
Sat, 24 Aug 2013 15:10:50 +0000 (10:10 -0500)
committerTom Rini <trini@ti.com>
Fri, 6 Sep 2013 17:09:07 +0000 (13:09 -0400)
Replace hard-coded register values with proper defines for PORT_SCR_STAT
register.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
drivers/block/ahci.c
include/ahci.h

index f08806348b06af5e006e30d593b768c8dc022040..ad7e95fe08a56814043e35dad124f6cf48683238 100644 (file)
@@ -207,7 +207,8 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent)
                j = 0;
                while (j < WAIT_MS_LINKUP) {
                        tmp = readl(port_mmio + PORT_SCR_STAT);
-                       if ((tmp & 0xf) == 0x3)
+                       tmp &= PORT_SCR_STAT_DET_MASK;
+                       if (tmp == PORT_SCR_STAT_DET_PHYRDY)
                                break;
                        udelay(1000);
                        j++;
@@ -258,7 +259,7 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent)
                /* register linkup ports */
                tmp = readl(port_mmio + PORT_SCR_STAT);
                debug("SATA port %d status: 0x%x\n", i, tmp);
-               if ((tmp & 0xf) == 0x03)
+               if ((tmp & PORT_SCR_STAT_DET_MASK) == PORT_SCR_STAT_DET_PHYRDY)
                        probe_ent->link_port_map |= (0x01 << i);
        }
 
index 78a8c55f7ba736355e425b28a3adf5f14d563534..d76993ca2a2880e02aeb8f4e0c86a9cc08b63b0e 100644 (file)
                                | PORT_IRQ_DMAS_FIS | PORT_IRQ_PIOS_FIS \
                                | PORT_IRQ_D2H_REG_FIS
 
+/* PORT_SCR_STAT bits */
+#define PORT_SCR_STAT_DET_MASK 0x3
+#define PORT_SCR_STAT_DET_COMINIT 0x1
+#define PORT_SCR_STAT_DET_PHYRDY 0x3
+
 /* PORT_CMD bits */
 #define PORT_CMD_ATAPI         (1 << 24) /* Device is ATAPI */
 #define PORT_CMD_LIST_ON       (1 << 15) /* cmd list DMA engine running */