sata_mv: move the PCI bar description initialization code
The mv_init_host will be used to initialize the host hw on resume. The PCI bar description need to be initialized only once when the device probed. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
6481f2b52c
commit
c4bc7d7310
|
@ -3910,14 +3910,6 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
|
|||
void __iomem *port_mmio = mv_port_base(mmio, port);
|
||||
|
||||
mv_port_init(&ap->ioaddr, port_mmio);
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
if (!IS_SOC(hpriv)) {
|
||||
unsigned int offset = port_mmio - mmio;
|
||||
ata_port_pbar_desc(ap, MV_PRIMARY_BAR, -1, "mmio");
|
||||
ata_port_pbar_desc(ap, MV_PRIMARY_BAR, offset, "port");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
for (hc = 0; hc < n_hc; hc++) {
|
||||
|
@ -4268,7 +4260,7 @@ static int mv_pci_init_one(struct pci_dev *pdev,
|
|||
const struct ata_port_info *ppi[] = { &mv_port_info[board_idx], NULL };
|
||||
struct ata_host *host;
|
||||
struct mv_host_priv *hpriv;
|
||||
int n_ports, rc;
|
||||
int n_ports, port, rc;
|
||||
|
||||
if (!printed_version++)
|
||||
dev_printk(KERN_INFO, &pdev->dev, "version " DRV_VERSION "\n");
|
||||
|
@ -4304,6 +4296,15 @@ static int mv_pci_init_one(struct pci_dev *pdev,
|
|||
if (rc)
|
||||
return rc;
|
||||
|
||||
for (port = 0; port < host->n_ports; port++) {
|
||||
struct ata_port *ap = host->ports[port];
|
||||
void __iomem *port_mmio = mv_port_base(hpriv->base, port);
|
||||
unsigned int offset = port_mmio - hpriv->base;
|
||||
|
||||
ata_port_pbar_desc(ap, MV_PRIMARY_BAR, -1, "mmio");
|
||||
ata_port_pbar_desc(ap, MV_PRIMARY_BAR, offset, "port");
|
||||
}
|
||||
|
||||
/* initialize adapter */
|
||||
rc = mv_init_host(host, board_idx);
|
||||
if (rc)
|
||||
|
|
Loading…
Reference in a new issue