mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-08 13:44:01 +08:00
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: jmicron: update quirk for JMB361/3/5/6 libata: add HTS542525K9SA00 to NCQ blacklist libata-core: auditting chk_status v check_status [libata] checkpatch-inspired cleanups
This commit is contained in:
commit
c09b360a2b
@ -650,9 +650,9 @@ static int ich_pata_cable_detect(struct ata_port *ap)
|
|||||||
while (lap->device) {
|
while (lap->device) {
|
||||||
if (lap->device == pdev->device &&
|
if (lap->device == pdev->device &&
|
||||||
lap->subvendor == pdev->subsystem_vendor &&
|
lap->subvendor == pdev->subsystem_vendor &&
|
||||||
lap->subdevice == pdev->subsystem_device) {
|
lap->subdevice == pdev->subsystem_device)
|
||||||
return ATA_CBL_PATA40_SHORT;
|
return ATA_CBL_PATA40_SHORT;
|
||||||
}
|
|
||||||
lap++;
|
lap++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1106,8 +1106,7 @@ static int __devinit piix_check_450nx_errata(struct pci_dev *ata_dev)
|
|||||||
u16 cfg;
|
u16 cfg;
|
||||||
int no_piix_dma = 0;
|
int no_piix_dma = 0;
|
||||||
|
|
||||||
while((pdev = pci_get_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, pdev)) != NULL)
|
while ((pdev = pci_get_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, pdev)) != NULL) {
|
||||||
{
|
|
||||||
/* Look for 450NX PXB. Check for problem configurations
|
/* Look for 450NX PXB. Check for problem configurations
|
||||||
A PCI quirk checks bit 6 already */
|
A PCI quirk checks bit 6 already */
|
||||||
pci_read_config_word(pdev, 0x41, &cfg);
|
pci_read_config_word(pdev, 0x41, &cfg);
|
||||||
|
@ -49,11 +49,11 @@
|
|||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/scatterlist.h>
|
#include <linux/scatterlist.h>
|
||||||
|
#include <linux/io.h>
|
||||||
#include <scsi/scsi.h>
|
#include <scsi/scsi.h>
|
||||||
#include <scsi/scsi_cmnd.h>
|
#include <scsi/scsi_cmnd.h>
|
||||||
#include <scsi/scsi_host.h>
|
#include <scsi/scsi_host.h>
|
||||||
#include <linux/libata.h>
|
#include <linux/libata.h>
|
||||||
#include <asm/io.h>
|
|
||||||
#include <asm/semaphore.h>
|
#include <asm/semaphore.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ int libata_fua = 0;
|
|||||||
module_param_named(fua, libata_fua, int, 0444);
|
module_param_named(fua, libata_fua, int, 0444);
|
||||||
MODULE_PARM_DESC(fua, "FUA support (0=off, 1=on)");
|
MODULE_PARM_DESC(fua, "FUA support (0=off, 1=on)");
|
||||||
|
|
||||||
static int ata_ignore_hpa = 0;
|
static int ata_ignore_hpa;
|
||||||
module_param_named(ignore_hpa, ata_ignore_hpa, int, 0644);
|
module_param_named(ignore_hpa, ata_ignore_hpa, int, 0644);
|
||||||
MODULE_PARM_DESC(ignore_hpa, "Ignore HPA limit (0=keep BIOS limits, 1=ignore limits, using full disk)");
|
MODULE_PARM_DESC(ignore_hpa, "Ignore HPA limit (0=keep BIOS limits, 1=ignore limits, using full disk)");
|
||||||
|
|
||||||
@ -713,7 +713,7 @@ unsigned int ata_dev_classify(const struct ata_taskfile *tf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((tf->lbam == 0x3c) && (tf->lbah == 0xc3)) {
|
if ((tf->lbam == 0x3c) && (tf->lbah == 0xc3)) {
|
||||||
printk("ata: SEMB device ignored\n");
|
printk(KERN_INFO "ata: SEMB device ignored\n");
|
||||||
return ATA_DEV_SEMB_UNSUP; /* not yet */
|
return ATA_DEV_SEMB_UNSUP; /* not yet */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1979,8 +1979,7 @@ int ata_dev_configure(struct ata_device *dev)
|
|||||||
"supports DRM functions and may "
|
"supports DRM functions and may "
|
||||||
"not be fully accessable.\n");
|
"not be fully accessable.\n");
|
||||||
snprintf(revbuf, 7, "CFA");
|
snprintf(revbuf, 7, "CFA");
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
snprintf(revbuf, 7, "ATA-%d", ata_id_major_version(id));
|
snprintf(revbuf, 7, "ATA-%d", ata_id_major_version(id));
|
||||||
|
|
||||||
dev->n_sectors = ata_id_n_sectors(id);
|
dev->n_sectors = ata_id_n_sectors(id);
|
||||||
@ -2876,14 +2875,17 @@ static int ata_dev_set_mode(struct ata_device *dev)
|
|||||||
dev->flags |= ATA_DFLAG_PIO;
|
dev->flags |= ATA_DFLAG_PIO;
|
||||||
|
|
||||||
err_mask = ata_dev_set_xfermode(dev);
|
err_mask = ata_dev_set_xfermode(dev);
|
||||||
|
|
||||||
/* Old CFA may refuse this command, which is just fine */
|
/* Old CFA may refuse this command, which is just fine */
|
||||||
if (dev->xfer_shift == ATA_SHIFT_PIO && ata_id_is_cfa(dev->id))
|
if (dev->xfer_shift == ATA_SHIFT_PIO && ata_id_is_cfa(dev->id))
|
||||||
err_mask &= ~AC_ERR_DEV;
|
err_mask &= ~AC_ERR_DEV;
|
||||||
|
|
||||||
/* Some very old devices and some bad newer ones fail any kind of
|
/* Some very old devices and some bad newer ones fail any kind of
|
||||||
SET_XFERMODE request but support PIO0-2 timings and no IORDY */
|
SET_XFERMODE request but support PIO0-2 timings and no IORDY */
|
||||||
if (dev->xfer_shift == ATA_SHIFT_PIO && !ata_id_has_iordy(dev->id) &&
|
if (dev->xfer_shift == ATA_SHIFT_PIO && !ata_id_has_iordy(dev->id) &&
|
||||||
dev->pio_mode <= XFER_PIO_2)
|
dev->pio_mode <= XFER_PIO_2)
|
||||||
err_mask &= ~AC_ERR_DEV;
|
err_mask &= ~AC_ERR_DEV;
|
||||||
|
|
||||||
if (err_mask) {
|
if (err_mask) {
|
||||||
ata_dev_printk(dev, KERN_ERR, "failed to set xfermode "
|
ata_dev_printk(dev, KERN_ERR, "failed to set xfermode "
|
||||||
"(err_mask=0x%x)\n", err_mask);
|
"(err_mask=0x%x)\n", err_mask);
|
||||||
@ -3265,7 +3267,7 @@ static int ata_bus_softreset(struct ata_port *ap, unsigned int devmask,
|
|||||||
* the bus shows 0xFF because the odd clown forgets the D7
|
* the bus shows 0xFF because the odd clown forgets the D7
|
||||||
* pulldown resistor.
|
* pulldown resistor.
|
||||||
*/
|
*/
|
||||||
if (ata_check_status(ap) == 0xFF)
|
if (ata_chk_status(ap) == 0xFF)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
return ata_bus_post_reset(ap, devmask, deadline);
|
return ata_bus_post_reset(ap, devmask, deadline);
|
||||||
@ -3979,6 +3981,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
|
|||||||
{ "HTS541612J9SA00", "SBDIC7JP", ATA_HORKAGE_NONCQ, },
|
{ "HTS541612J9SA00", "SBDIC7JP", ATA_HORKAGE_NONCQ, },
|
||||||
{ "HDT722516DLA380", "V43OA96A", ATA_HORKAGE_NONCQ, },
|
{ "HDT722516DLA380", "V43OA96A", ATA_HORKAGE_NONCQ, },
|
||||||
{ "Hitachi HTS541616J9SA00", "SB4OC70P", ATA_HORKAGE_NONCQ, },
|
{ "Hitachi HTS541616J9SA00", "SB4OC70P", ATA_HORKAGE_NONCQ, },
|
||||||
|
{ "Hitachi HTS542525K9SA00", "BBFOC31P", ATA_HORKAGE_NONCQ, },
|
||||||
{ "WDC WD740ADFD-00NLR1", NULL, ATA_HORKAGE_NONCQ, },
|
{ "WDC WD740ADFD-00NLR1", NULL, ATA_HORKAGE_NONCQ, },
|
||||||
{ "WDC WD3200AAJS-00RYA0", "12.01B01", ATA_HORKAGE_NONCQ, },
|
{ "WDC WD3200AAJS-00RYA0", "12.01B01", ATA_HORKAGE_NONCQ, },
|
||||||
{ "FUJITSU MHV2080BH", "00840028", ATA_HORKAGE_NONCQ, },
|
{ "FUJITSU MHV2080BH", "00840028", ATA_HORKAGE_NONCQ, },
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
#include <scsi/scsi_transport.h>
|
#include <scsi/scsi_transport.h>
|
||||||
#include <linux/libata.h>
|
#include <linux/libata.h>
|
||||||
#include <linux/hdreg.h>
|
#include <linux/hdreg.h>
|
||||||
#include <asm/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
|
|
||||||
#include "libata.h"
|
#include "libata.h"
|
||||||
|
|
||||||
@ -975,7 +975,7 @@ static unsigned int ata_scsi_start_stop_xlat(struct ata_queued_cmd *qc)
|
|||||||
if ((qc->dev->flags & ATA_DFLAG_SPUNDOWN) &&
|
if ((qc->dev->flags & ATA_DFLAG_SPUNDOWN) &&
|
||||||
(system_state == SYSTEM_HALT ||
|
(system_state == SYSTEM_HALT ||
|
||||||
system_state == SYSTEM_POWER_OFF)) {
|
system_state == SYSTEM_POWER_OFF)) {
|
||||||
static unsigned long warned = 0;
|
static unsigned long warned;
|
||||||
|
|
||||||
if (!test_and_set_bit(0, &warned)) {
|
if (!test_and_set_bit(0, &warned)) {
|
||||||
ata_dev_printk(qc->dev, KERN_WARNING,
|
ata_dev_printk(qc->dev, KERN_WARNING,
|
||||||
|
@ -1983,10 +1983,9 @@ static int mv6_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio,
|
|||||||
for (i = 0; i < 1000; i++) {
|
for (i = 0; i < 1000; i++) {
|
||||||
udelay(1);
|
udelay(1);
|
||||||
t = readl(reg);
|
t = readl(reg);
|
||||||
if (PCI_MASTER_EMPTY & t) {
|
if (PCI_MASTER_EMPTY & t)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (!(PCI_MASTER_EMPTY & t)) {
|
if (!(PCI_MASTER_EMPTY & t)) {
|
||||||
printk(KERN_ERR DRV_NAME ": PCI master won't flush\n");
|
printk(KERN_ERR DRV_NAME ": PCI master won't flush\n");
|
||||||
rc = 1;
|
rc = 1;
|
||||||
@ -2668,7 +2667,7 @@ static void mv_print_info(struct ata_host *host)
|
|||||||
*/
|
*/
|
||||||
static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
{
|
{
|
||||||
static int printed_version = 0;
|
static int printed_version;
|
||||||
unsigned int board_idx = (unsigned int)ent->driver_data;
|
unsigned int board_idx = (unsigned int)ent->driver_data;
|
||||||
const struct ata_port_info *ppi[] = { &mv_port_info[board_idx], NULL };
|
const struct ata_port_info *ppi[] = { &mv_port_info[board_idx], NULL };
|
||||||
struct ata_host *host;
|
struct ata_host *host;
|
||||||
|
@ -747,8 +747,7 @@ static int nv_adma_slave_config(struct scsi_device *sdev)
|
|||||||
on the port. */
|
on the port. */
|
||||||
adma_enable = 0;
|
adma_enable = 0;
|
||||||
nv_adma_register_mode(ap);
|
nv_adma_register_mode(ap);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
bounce_limit = *ap->dev->dma_mask;
|
bounce_limit = *ap->dev->dma_mask;
|
||||||
segment_boundary = NV_ADMA_DMA_BOUNDARY;
|
segment_boundary = NV_ADMA_DMA_BOUNDARY;
|
||||||
sg_tablesize = NV_ADMA_SGTBL_TOTAL_LEN;
|
sg_tablesize = NV_ADMA_SGTBL_TOTAL_LEN;
|
||||||
@ -767,8 +766,7 @@ static int nv_adma_slave_config(struct scsi_device *sdev)
|
|||||||
if (adma_enable) {
|
if (adma_enable) {
|
||||||
new_reg = current_reg | config_mask;
|
new_reg = current_reg | config_mask;
|
||||||
pp->flags &= ~NV_ADMA_ATAPI_SETUP_COMPLETE;
|
pp->flags &= ~NV_ADMA_ATAPI_SETUP_COMPLETE;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
new_reg = current_reg & ~config_mask;
|
new_reg = current_reg & ~config_mask;
|
||||||
pp->flags |= NV_ADMA_ATAPI_SETUP_COMPLETE;
|
pp->flags |= NV_ADMA_ATAPI_SETUP_COMPLETE;
|
||||||
}
|
}
|
||||||
|
@ -1230,7 +1230,7 @@ static void quirk_jmicron_ata(struct pci_dev *pdev)
|
|||||||
case PCI_DEVICE_ID_JMICRON_JMB363:
|
case PCI_DEVICE_ID_JMICRON_JMB363:
|
||||||
/* Enable dual function mode, AHCI on fn 0, IDE fn1 */
|
/* Enable dual function mode, AHCI on fn 0, IDE fn1 */
|
||||||
/* Set the class codes correctly and then direct IDE 0 */
|
/* Set the class codes correctly and then direct IDE 0 */
|
||||||
conf1 |= 0x00C2A102; /* Set 1, 8, 13, 15, 17, 22, 23 */
|
conf1 |= 0x00C2A1B3; /* Set 0, 1, 4, 5, 7, 8, 13, 15, 17, 22, 23 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PCI_DEVICE_ID_JMICRON_JMB368:
|
case PCI_DEVICE_ID_JMICRON_JMB368:
|
||||||
|
Loading…
Reference in New Issue
Block a user