22 May 2013 00:44
[PATCH 1/7] ahci: use ports implemented map instead of num_ports
Rob Herring <robherring2 <at> gmail.com>
2013-05-21 22:44:30 GMT
2013-05-21 22:44:30 GMT
From: Richard Gibbs <richard.gibbs <at> calxeda.com>
The AHCI driver was incorrectly using the Capabilities register NP (number
of ports) field to determine which ports to activate. This commit changes
it to correctly use the PORTS_IMPL register as a port map.
Signed-off-by: Richard Gibbs <richard.gibbs <at> calxeda.com>
---
drivers/block/ahci.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c
index cab7f8c..b89be06 100644
--- a/drivers/block/ahci.c
+++ b/drivers/block/ahci.c
<at> <at> -136,6 +136,7 <at> <at> static int ahci_host_init(struct ahci_probe_ent *probe_ent)
u32 tmp, cap_save, cmd;
int i, j;
volatile u8 *port_mmio;
+ u32 port_map;
debug("ahci_host_init: start\n");
<at> <at> -177,6 +178,7 <at> <at> static int ahci_host_init(struct ahci_probe_ent *probe_ent)
#endif
probe_ent->cap = readl(mmio + HOST_CAP);
probe_ent->port_map = readl(mmio + HOST_PORTS_IMPL);
+ port_map = probe_ent->port_map;
probe_ent->n_ports = (probe_ent->cap & 0x1f) + 1;
(Continue reading)
RSS Feed