Skip to content

Commit

Permalink
[libata] ahci: minor internal cleanups
Browse files Browse the repository at this point in the history
Minor cleanups, in preparation for merging Marvell PATA AHCI support in
the future.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Jeff Garzik committed Jul 9, 2007
1 parent ab2181c commit dab632e
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions drivers/ata/ahci.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,9 @@ static void ahci_error_handler(struct ata_port *ap);
static void ahci_vt8251_error_handler(struct ata_port *ap);
static void ahci_post_internal_cmd(struct ata_queued_cmd *qc);
static int ahci_port_resume(struct ata_port *ap);
static unsigned int ahci_fill_sg(struct ata_queued_cmd *qc, void *cmd_tbl);
static void ahci_fill_cmd_slot(struct ahci_port_priv *pp, unsigned int tag,
u32 opts);
#ifdef CONFIG_PM
static int ahci_port_suspend(struct ata_port *ap, pm_message_t mesg);
static int ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
Expand Down Expand Up @@ -481,11 +484,17 @@ static inline int ahci_nr_ports(u32 cap)
return (cap & 0x1f) + 1;
}

static inline void __iomem *ahci_port_base(struct ata_port *ap)
static inline void __iomem *__ahci_port_base(struct ata_host *host,
unsigned int port_no)
{
void __iomem *mmio = ap->host->iomap[AHCI_PCI_BAR];
void __iomem *mmio = host->iomap[AHCI_PCI_BAR];

return mmio + 0x100 + (ap->port_no * 0x80);
return mmio + 0x100 + (port_no * 0x80);
}

static inline void __iomem *ahci_port_base(struct ata_port *ap)
{
return __ahci_port_base(ap->host, ap->port_no);
}

/**
Expand Down Expand Up @@ -1750,14 +1759,18 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
host->private_data = hpriv;

for (i = 0; i < host->n_ports; i++) {
if (hpriv->port_map & (1 << i)) {
struct ata_port *ap = host->ports[i];
void __iomem *port_mmio = ahci_port_base(ap);
struct ata_port *ap = host->ports[i];
void __iomem *port_mmio = ahci_port_base(ap);

/* standard SATA port setup */
if (hpriv->port_map & (1 << i)) {
ap->ioaddr.cmd_addr = port_mmio;
ap->ioaddr.scr_addr = port_mmio + PORT_SCR;
} else
host->ports[i]->ops = &ata_dummy_port_ops;
}

/* disabled/not-implemented port */
else
ap->ops = &ata_dummy_port_ops;
}

/* initialize adapter */
Expand Down

0 comments on commit dab632e

Please sign in to comment.