Commit 8df8bb4a authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata] sata_svw, sata_vsc: kill iomem warnings
  [PATCH] libata: take scmd->cmd_len into account when translating SCSI commands
  [PATCH] libata: kill @cdb argument from xlat methods
  [PATCH] libata: clean up variable name usage in xlat related functions
  [libata] Move some PCI IDs from sata_nv to ahci
  [libata] pata_via: suspend/resume support fix
  [libata] pata_cs5530: suspend/resume support tweak
parents 28cb5ccd 850a9d8a
......@@ -402,6 +402,14 @@ static const struct pci_device_id ahci_pci_tbl[] = {
{ PCI_VDEVICE(NVIDIA, 0x044d), board_ahci }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x044e), board_ahci }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x044f), board_ahci }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x045c), board_ahci }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x045d), board_ahci }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x045e), board_ahci }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x045f), board_ahci }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x0550), board_ahci }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0551), board_ahci }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0552), board_ahci }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0553), board_ahci }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0554), board_ahci }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0555), board_ahci }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0556), board_ahci }, /* MCP67 */
......
This diff is collapsed.
......@@ -372,7 +372,8 @@ static int cs5530_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
static int cs5530_reinit_one(struct pci_dev *pdev)
{
/* If we fail on resume we are doomed */
BUG_ON(cs5530_init_chip());
if (cs5530_init_chip())
BUG();
return ata_pci_device_resume(pdev);
}
......
......@@ -395,7 +395,7 @@ static void via_config_fifo(struct pci_dev *pdev, unsigned int flags)
enable &= 3;
if (flags & VIA_SET_FIFO) {
u8 fifo_setting[4] = {0x00, 0x60, 0x00, 0x20};
static const u8 fifo_setting[4] = {0x00, 0x60, 0x00, 0x20};
u8 fifo;
pci_read_config_byte(pdev, 0x43, &fifo);
......
......@@ -270,14 +270,6 @@ static const struct pci_device_id nv_pci_tbl[] = {
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA), GENERIC },
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA2), GENERIC },
{ PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA3), GENERIC },
{ PCI_VDEVICE(NVIDIA, 0x045c), GENERIC }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x045d), GENERIC }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x045e), GENERIC }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x045f), GENERIC }, /* MCP65 */
{ PCI_VDEVICE(NVIDIA, 0x0550), GENERIC }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0551), GENERIC }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0552), GENERIC }, /* MCP67 */
{ PCI_VDEVICE(NVIDIA, 0x0553), GENERIC }, /* MCP67 */
{ PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID,
PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_STORAGE_IDE<<8, 0xffff00, GENERIC },
......
......@@ -135,26 +135,31 @@ static void k2_sata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR;
if (tf->ctl != ap->last_ctl) {
writeb(tf->ctl, ioaddr->ctl_addr);
writeb(tf->ctl, (void __iomem *) ioaddr->ctl_addr);
ap->last_ctl = tf->ctl;
ata_wait_idle(ap);
}
if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) {
writew(tf->feature | (((u16)tf->hob_feature) << 8), ioaddr->feature_addr);
writew(tf->nsect | (((u16)tf->hob_nsect) << 8), ioaddr->nsect_addr);
writew(tf->lbal | (((u16)tf->hob_lbal) << 8), ioaddr->lbal_addr);
writew(tf->lbam | (((u16)tf->hob_lbam) << 8), ioaddr->lbam_addr);
writew(tf->lbah | (((u16)tf->hob_lbah) << 8), ioaddr->lbah_addr);
writew(tf->feature | (((u16)tf->hob_feature) << 8),
(void __iomem *) ioaddr->feature_addr);
writew(tf->nsect | (((u16)tf->hob_nsect) << 8),
(void __iomem *) ioaddr->nsect_addr);
writew(tf->lbal | (((u16)tf->hob_lbal) << 8),
(void __iomem *) ioaddr->lbal_addr);
writew(tf->lbam | (((u16)tf->hob_lbam) << 8),
(void __iomem *) ioaddr->lbam_addr);
writew(tf->lbah | (((u16)tf->hob_lbah) << 8),
(void __iomem *) ioaddr->lbah_addr);
} else if (is_addr) {
writew(tf->feature, ioaddr->feature_addr);
writew(tf->nsect, ioaddr->nsect_addr);
writew(tf->lbal, ioaddr->lbal_addr);
writew(tf->lbam, ioaddr->lbam_addr);
writew(tf->lbah, ioaddr->lbah_addr);
writew(tf->feature, (void __iomem *) ioaddr->feature_addr);
writew(tf->nsect, (void __iomem *) ioaddr->nsect_addr);
writew(tf->lbal, (void __iomem *) ioaddr->lbal_addr);
writew(tf->lbam, (void __iomem *) ioaddr->lbam_addr);
writew(tf->lbah, (void __iomem *) ioaddr->lbah_addr);
}
if (tf->flags & ATA_TFLAG_DEVICE)
writeb(tf->device, ioaddr->device_addr);
writeb(tf->device, (void __iomem *) ioaddr->device_addr);
ata_wait_idle(ap);
}
......@@ -166,12 +171,12 @@ static void k2_sata_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
u16 nsect, lbal, lbam, lbah, feature;
tf->command = k2_stat_check_status(ap);
tf->device = readw(ioaddr->device_addr);
feature = readw(ioaddr->error_addr);
nsect = readw(ioaddr->nsect_addr);
lbal = readw(ioaddr->lbal_addr);
lbam = readw(ioaddr->lbam_addr);
lbah = readw(ioaddr->lbah_addr);
tf->device = readw((void __iomem *)ioaddr->device_addr);
feature = readw((void __iomem *)ioaddr->error_addr);
nsect = readw((void __iomem *)ioaddr->nsect_addr);
lbal = readw((void __iomem *)ioaddr->lbal_addr);
lbam = readw((void __iomem *)ioaddr->lbam_addr);
lbah = readw((void __iomem *)ioaddr->lbah_addr);
tf->feature = feature;
tf->nsect = nsect;
......
......@@ -149,21 +149,26 @@ static void vsc_sata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
vsc_intr_mask_update(ap, tf->ctl & ATA_NIEN);
}
if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) {
writew(tf->feature | (((u16)tf->hob_feature) << 8), ioaddr->feature_addr);
writew(tf->nsect | (((u16)tf->hob_nsect) << 8), ioaddr->nsect_addr);
writew(tf->lbal | (((u16)tf->hob_lbal) << 8), ioaddr->lbal_addr);
writew(tf->lbam | (((u16)tf->hob_lbam) << 8), ioaddr->lbam_addr);
writew(tf->lbah | (((u16)tf->hob_lbah) << 8), ioaddr->lbah_addr);
writew(tf->feature | (((u16)tf->hob_feature) << 8),
(void __iomem *) ioaddr->feature_addr);
writew(tf->nsect | (((u16)tf->hob_nsect) << 8),
(void __iomem *) ioaddr->nsect_addr);
writew(tf->lbal | (((u16)tf->hob_lbal) << 8),
(void __iomem *) ioaddr->lbal_addr);
writew(tf->lbam | (((u16)tf->hob_lbam) << 8),
(void __iomem *) ioaddr->lbam_addr);
writew(tf->lbah | (((u16)tf->hob_lbah) << 8),
(void __iomem *) ioaddr->lbah_addr);
} else if (is_addr) {
writew(tf->feature, ioaddr->feature_addr);
writew(tf->nsect, ioaddr->nsect_addr);
writew(tf->lbal, ioaddr->lbal_addr);
writew(tf->lbam, ioaddr->lbam_addr);
writew(tf->lbah, ioaddr->lbah_addr);
writew(tf->feature, (void __iomem *) ioaddr->feature_addr);
writew(tf->nsect, (void __iomem *) ioaddr->nsect_addr);
writew(tf->lbal, (void __iomem *) ioaddr->lbal_addr);
writew(tf->lbam, (void __iomem *) ioaddr->lbam_addr);
writew(tf->lbah, (void __iomem *) ioaddr->lbah_addr);
}
if (tf->flags & ATA_TFLAG_DEVICE)
writeb(tf->device, ioaddr->device_addr);
writeb(tf->device, (void __iomem *) ioaddr->device_addr);
ata_wait_idle(ap);
}
......@@ -175,12 +180,12 @@ static void vsc_sata_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
u16 nsect, lbal, lbam, lbah, feature;
tf->command = ata_check_status(ap);
tf->device = readw(ioaddr->device_addr);
feature = readw(ioaddr->error_addr);
nsect = readw(ioaddr->nsect_addr);
lbal = readw(ioaddr->lbal_addr);
lbam = readw(ioaddr->lbam_addr);
lbah = readw(ioaddr->lbah_addr);
tf->device = readw((void __iomem *) ioaddr->device_addr);
feature = readw((void __iomem *) ioaddr->error_addr);
nsect = readw((void __iomem *) ioaddr->nsect_addr);
lbal = readw((void __iomem *) ioaddr->lbal_addr);
lbam = readw((void __iomem *) ioaddr->lbam_addr);
lbah = readw((void __iomem *) ioaddr->lbah_addr);
tf->feature = feature;
tf->nsect = nsect;
......@@ -327,8 +332,8 @@ static void __devinit vsc_sata_setup_port(struct ata_ioports *port, unsigned lon
port->ctl_addr = base + VSC_SATA_TF_CTL_OFFSET;
port->bmdma_addr = base + VSC_SATA_DMA_CMD_OFFSET;
port->scr_addr = base + VSC_SATA_SCR_STATUS_OFFSET;
writel(0, base + VSC_SATA_UP_DESCRIPTOR_OFFSET);
writel(0, base + VSC_SATA_UP_DATA_BUFFER_OFFSET);
writel(0, (void __iomem *) base + VSC_SATA_UP_DESCRIPTOR_OFFSET);
writel(0, (void __iomem *) base + VSC_SATA_UP_DATA_BUFFER_OFFSET);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment