mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-21 20:13:58 +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
@ -227,7 +227,7 @@ struct ahci_port_priv {
|
||||
|
||||
static int ahci_scr_read(struct ata_port *ap, unsigned int sc_reg, u32 *val);
|
||||
static int ahci_scr_write(struct ata_port *ap, unsigned int sc_reg, u32 val);
|
||||
static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
|
||||
static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent);
|
||||
static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc);
|
||||
static void ahci_irq_clear(struct ata_port *ap);
|
||||
static int ahci_port_start(struct ata_port *ap);
|
||||
|
@ -157,12 +157,12 @@ struct piix_host_priv {
|
||||
const int *map;
|
||||
};
|
||||
|
||||
static int piix_init_one (struct pci_dev *pdev,
|
||||
static int piix_init_one(struct pci_dev *pdev,
|
||||
const struct pci_device_id *ent);
|
||||
static void piix_pata_error_handler(struct ata_port *ap);
|
||||
static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev);
|
||||
static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev);
|
||||
static void ich_set_dmamode (struct ata_port *ap, struct ata_device *adev);
|
||||
static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev);
|
||||
static void piix_set_dmamode(struct ata_port *ap, struct ata_device *adev);
|
||||
static void ich_set_dmamode(struct ata_port *ap, struct ata_device *adev);
|
||||
static int ich_pata_cable_detect(struct ata_port *ap);
|
||||
#ifdef CONFIG_PM
|
||||
static int piix_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
|
||||
@ -650,9 +650,9 @@ static int ich_pata_cable_detect(struct ata_port *ap)
|
||||
while (lap->device) {
|
||||
if (lap->device == pdev->device &&
|
||||
lap->subvendor == pdev->subsystem_vendor &&
|
||||
lap->subdevice == pdev->subsystem_device) {
|
||||
lap->subdevice == pdev->subsystem_device)
|
||||
return ATA_CBL_PATA40_SHORT;
|
||||
}
|
||||
|
||||
lap++;
|
||||
}
|
||||
|
||||
@ -699,7 +699,7 @@ static void piix_pata_error_handler(struct ata_port *ap)
|
||||
* None (inherited from caller).
|
||||
*/
|
||||
|
||||
static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev)
|
||||
static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev)
|
||||
{
|
||||
unsigned int pio = adev->pio_mode - XFER_PIO_0;
|
||||
struct pci_dev *dev = to_pci_dev(ap->host->dev);
|
||||
@ -786,7 +786,7 @@ static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev)
|
||||
* None (inherited from caller).
|
||||
*/
|
||||
|
||||
static void do_pata_set_dmamode (struct ata_port *ap, struct ata_device *adev, int isich)
|
||||
static void do_pata_set_dmamode(struct ata_port *ap, struct ata_device *adev, int isich)
|
||||
{
|
||||
struct pci_dev *dev = to_pci_dev(ap->host->dev);
|
||||
u8 master_port = ap->port_no ? 0x42 : 0x40;
|
||||
@ -905,7 +905,7 @@ static void do_pata_set_dmamode (struct ata_port *ap, struct ata_device *adev, i
|
||||
* None (inherited from caller).
|
||||
*/
|
||||
|
||||
static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev)
|
||||
static void piix_set_dmamode(struct ata_port *ap, struct ata_device *adev)
|
||||
{
|
||||
do_pata_set_dmamode(ap, adev, 0);
|
||||
}
|
||||
@ -921,7 +921,7 @@ static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev)
|
||||
* None (inherited from caller).
|
||||
*/
|
||||
|
||||
static void ich_set_dmamode (struct ata_port *ap, struct ata_device *adev)
|
||||
static void ich_set_dmamode(struct ata_port *ap, struct ata_device *adev)
|
||||
{
|
||||
do_pata_set_dmamode(ap, adev, 1);
|
||||
}
|
||||
@ -1106,8 +1106,7 @@ static int __devinit piix_check_450nx_errata(struct pci_dev *ata_dev)
|
||||
u16 cfg;
|
||||
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
|
||||
A PCI quirk checks bit 6 already */
|
||||
pci_read_config_word(pdev, 0x41, &cfg);
|
||||
@ -1241,7 +1240,7 @@ static void piix_iocfg_bit18_quirk(struct pci_dev *pdev)
|
||||
* Zero on success, or -ERRNO value.
|
||||
*/
|
||||
|
||||
static int piix_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
static int piix_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
static int printed_version;
|
||||
struct device *dev = &pdev->dev;
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include <acpi/actypes.h>
|
||||
|
||||
#define NO_PORT_MULT 0xffff
|
||||
#define SATA_ADR(root,pmp) (((root) << 16) | (pmp))
|
||||
#define SATA_ADR(root, pmp) (((root) << 16) | (pmp))
|
||||
|
||||
#define REGS_PER_GTF 7
|
||||
struct ata_acpi_gtf {
|
||||
@ -96,7 +96,7 @@ static void ata_acpi_associate_ide_port(struct ata_port *ap)
|
||||
}
|
||||
}
|
||||
|
||||
static void ata_acpi_handle_hotplug (struct ata_port *ap, struct kobject *kobj,
|
||||
static void ata_acpi_handle_hotplug(struct ata_port *ap, struct kobject *kobj,
|
||||
u32 event)
|
||||
{
|
||||
char event_string[12];
|
||||
@ -127,14 +127,14 @@ static void ata_acpi_dev_notify(acpi_handle handle, u32 event, void *data)
|
||||
if (dev->sdev)
|
||||
kobj = &dev->sdev->sdev_gendev.kobj;
|
||||
|
||||
ata_acpi_handle_hotplug (dev->link->ap, kobj, event);
|
||||
ata_acpi_handle_hotplug(dev->link->ap, kobj, event);
|
||||
}
|
||||
|
||||
static void ata_acpi_ap_notify(acpi_handle handle, u32 event, void *data)
|
||||
{
|
||||
struct ata_port *ap = data;
|
||||
|
||||
ata_acpi_handle_hotplug (ap, &ap->dev->kobj, event);
|
||||
ata_acpi_handle_hotplug(ap, &ap->dev->kobj, event);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -49,11 +49,11 @@
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/scatterlist.h>
|
||||
#include <linux/io.h>
|
||||
#include <scsi/scsi.h>
|
||||
#include <scsi/scsi_cmnd.h>
|
||||
#include <scsi/scsi_host.h>
|
||||
#include <linux/libata.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/semaphore.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
@ -93,7 +93,7 @@ int libata_fua = 0;
|
||||
module_param_named(fua, libata_fua, int, 0444);
|
||||
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_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)) {
|
||||
printk("ata: SEMB device ignored\n");
|
||||
printk(KERN_INFO "ata: SEMB device ignored\n");
|
||||
return ATA_DEV_SEMB_UNSUP; /* not yet */
|
||||
}
|
||||
|
||||
@ -1151,7 +1151,7 @@ void ata_id_to_dma_mode(struct ata_device *dev, u8 unknown)
|
||||
* LOCKING:
|
||||
* caller.
|
||||
*/
|
||||
void ata_noop_dev_select (struct ata_port *ap, unsigned int device)
|
||||
void ata_noop_dev_select(struct ata_port *ap, unsigned int device)
|
||||
{
|
||||
}
|
||||
|
||||
@ -1171,7 +1171,7 @@ void ata_noop_dev_select (struct ata_port *ap, unsigned int device)
|
||||
* caller.
|
||||
*/
|
||||
|
||||
void ata_std_dev_select (struct ata_port *ap, unsigned int device)
|
||||
void ata_std_dev_select(struct ata_port *ap, unsigned int device)
|
||||
{
|
||||
u8 tmp;
|
||||
|
||||
@ -1979,8 +1979,7 @@ int ata_dev_configure(struct ata_device *dev)
|
||||
"supports DRM functions and may "
|
||||
"not be fully accessable.\n");
|
||||
snprintf(revbuf, 7, "CFA");
|
||||
}
|
||||
else
|
||||
} else
|
||||
snprintf(revbuf, 7, "ATA-%d", ata_id_major_version(id));
|
||||
|
||||
dev->n_sectors = ata_id_n_sectors(id);
|
||||
@ -2667,8 +2666,8 @@ static const struct ata_timing ata_timing[] = {
|
||||
{ 0xFF }
|
||||
};
|
||||
|
||||
#define ENOUGH(v,unit) (((v)-1)/(unit)+1)
|
||||
#define EZ(v,unit) ((v)?ENOUGH(v,unit):0)
|
||||
#define ENOUGH(v, unit) (((v)-1)/(unit)+1)
|
||||
#define EZ(v, unit) ((v)?ENOUGH(v, unit):0)
|
||||
|
||||
static void ata_timing_quantize(const struct ata_timing *t, struct ata_timing *q, int T, int UT)
|
||||
{
|
||||
@ -2695,7 +2694,7 @@ void ata_timing_merge(const struct ata_timing *a, const struct ata_timing *b,
|
||||
if (what & ATA_TIMING_UDMA ) m->udma = max(a->udma, b->udma);
|
||||
}
|
||||
|
||||
static const struct ata_timing* ata_timing_find_mode(unsigned short speed)
|
||||
static const struct ata_timing *ata_timing_find_mode(unsigned short speed)
|
||||
{
|
||||
const struct ata_timing *t;
|
||||
|
||||
@ -2727,10 +2726,10 @@ int ata_timing_compute(struct ata_device *adev, unsigned short speed,
|
||||
|
||||
if (adev->id[ATA_ID_FIELD_VALID] & 2) { /* EIDE drive */
|
||||
memset(&p, 0, sizeof(p));
|
||||
if(speed >= XFER_PIO_0 && speed <= XFER_SW_DMA_0) {
|
||||
if (speed >= XFER_PIO_0 && speed <= XFER_SW_DMA_0) {
|
||||
if (speed <= XFER_PIO_2) p.cycle = p.cyc8b = adev->id[ATA_ID_EIDE_PIO];
|
||||
else p.cycle = p.cyc8b = adev->id[ATA_ID_EIDE_PIO_IORDY];
|
||||
} else if(speed >= XFER_MW_DMA_0 && speed <= XFER_MW_DMA_2) {
|
||||
} else if (speed >= XFER_MW_DMA_0 && speed <= XFER_MW_DMA_2) {
|
||||
p.cycle = adev->id[ATA_ID_EIDE_DMA_MIN];
|
||||
}
|
||||
ata_timing_merge(&p, t, t, ATA_TIMING_CYCLE | ATA_TIMING_CYC8B);
|
||||
@ -2876,14 +2875,17 @@ static int ata_dev_set_mode(struct ata_device *dev)
|
||||
dev->flags |= ATA_DFLAG_PIO;
|
||||
|
||||
err_mask = ata_dev_set_xfermode(dev);
|
||||
|
||||
/* Old CFA may refuse this command, which is just fine */
|
||||
if (dev->xfer_shift == ATA_SHIFT_PIO && ata_id_is_cfa(dev->id))
|
||||
err_mask &= ~AC_ERR_DEV;
|
||||
|
||||
/* Some very old devices and some bad newer ones fail any kind of
|
||||
SET_XFERMODE request but support PIO0-2 timings and no IORDY */
|
||||
if (dev->xfer_shift == ATA_SHIFT_PIO && !ata_id_has_iordy(dev->id) &&
|
||||
dev->pio_mode <= XFER_PIO_2)
|
||||
err_mask &= ~AC_ERR_DEV;
|
||||
|
||||
if (err_mask) {
|
||||
ata_dev_printk(dev, KERN_ERR, "failed to set xfermode "
|
||||
"(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
|
||||
* pulldown resistor.
|
||||
*/
|
||||
if (ata_check_status(ap) == 0xFF)
|
||||
if (ata_chk_status(ap) == 0xFF)
|
||||
return -ENODEV;
|
||||
|
||||
return ata_bus_post_reset(ap, devmask, deadline);
|
||||
@ -3943,7 +3945,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
|
||||
{ "SAMSUNG CD-ROM SC", NULL, ATA_HORKAGE_NODMA },
|
||||
{ "ATAPI CD-ROM DRIVE 40X MAXIMUM",NULL,ATA_HORKAGE_NODMA },
|
||||
{ "_NEC DV5800A", NULL, ATA_HORKAGE_NODMA },
|
||||
{ "SAMSUNG CD-ROM SN-124","N001", ATA_HORKAGE_NODMA },
|
||||
{ "SAMSUNG CD-ROM SN-124", "N001", ATA_HORKAGE_NODMA },
|
||||
{ "Seagate STT20000A", NULL, ATA_HORKAGE_NODMA },
|
||||
{ "IOMEGA ZIP 250 ATAPI", NULL, ATA_HORKAGE_NODMA }, /* temporary fix */
|
||||
{ "IOMEGA ZIP 250 ATAPI Floppy",
|
||||
@ -3979,6 +3981,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
|
||||
{ "HTS541612J9SA00", "SBDIC7JP", ATA_HORKAGE_NONCQ, },
|
||||
{ "HDT722516DLA380", "V43OA96A", ATA_HORKAGE_NONCQ, },
|
||||
{ "Hitachi HTS541616J9SA00", "SB4OC70P", ATA_HORKAGE_NONCQ, },
|
||||
{ "Hitachi HTS542525K9SA00", "BBFOC31P", ATA_HORKAGE_NONCQ, },
|
||||
{ "WDC WD740ADFD-00NLR1", NULL, ATA_HORKAGE_NONCQ, },
|
||||
{ "WDC WD3200AAJS-00RYA0", "12.01B01", ATA_HORKAGE_NONCQ, },
|
||||
{ "FUJITSU MHV2080BH", "00840028", ATA_HORKAGE_NONCQ, },
|
||||
@ -4128,7 +4131,7 @@ static void ata_dev_xfermask(struct ata_device *dev)
|
||||
*/
|
||||
if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA))
|
||||
/* UDMA/44 or higher would be available */
|
||||
if((ap->cbl == ATA_CBL_PATA40) ||
|
||||
if ((ap->cbl == ATA_CBL_PATA40) ||
|
||||
(ata_drive_40wire(dev->id) &&
|
||||
(ap->cbl == ATA_CBL_PATA_UNK ||
|
||||
ap->cbl == ATA_CBL_PATA80))) {
|
||||
@ -4980,7 +4983,7 @@ next_sg:
|
||||
"%u bytes trailing data\n", bytes);
|
||||
|
||||
for (i = 0; i < words; i++)
|
||||
ap->ops->data_xfer(qc->dev, (unsigned char*)pad_buf, 2, do_write);
|
||||
ap->ops->data_xfer(qc->dev, (unsigned char *)pad_buf, 2, do_write);
|
||||
|
||||
ap->hsm_task_state = HSM_ST_LAST;
|
||||
return;
|
||||
@ -5908,7 +5911,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)
|
||||
* One if interrupt was handled, zero if not (shared irq).
|
||||
*/
|
||||
|
||||
inline unsigned int ata_host_intr (struct ata_port *ap,
|
||||
inline unsigned int ata_host_intr(struct ata_port *ap,
|
||||
struct ata_queued_cmd *qc)
|
||||
{
|
||||
struct ata_eh_info *ehi = &ap->link.eh_info;
|
||||
@ -6009,7 +6012,7 @@ idle_irq:
|
||||
* IRQ_NONE or IRQ_HANDLED.
|
||||
*/
|
||||
|
||||
irqreturn_t ata_interrupt (int irq, void *dev_instance)
|
||||
irqreturn_t ata_interrupt(int irq, void *dev_instance)
|
||||
{
|
||||
struct ata_host *host = dev_instance;
|
||||
unsigned int i;
|
||||
|
@ -1197,7 +1197,7 @@ void ata_eh_done(struct ata_link *link, struct ata_device *dev,
|
||||
* RETURNS:
|
||||
* Descriptive string for @err_mask
|
||||
*/
|
||||
static const char * ata_err_string(unsigned int err_mask)
|
||||
static const char *ata_err_string(unsigned int err_mask)
|
||||
{
|
||||
if (err_mask & AC_ERR_HOST_BUS)
|
||||
return "host bus error";
|
||||
@ -1934,7 +1934,7 @@ static void ata_eh_link_report(struct ata_link *link)
|
||||
ehc->i.serror & SERR_LINK_SEQ_ERR ? "LinkSeq " : "",
|
||||
ehc->i.serror & SERR_TRANS_ST_ERROR ? "TrStaTrns " : "",
|
||||
ehc->i.serror & SERR_UNRECOG_FIS ? "UnrecFIS " : "",
|
||||
ehc->i.serror & SERR_DEV_XCHG ? "DevExch " : "" );
|
||||
ehc->i.serror & SERR_DEV_XCHG ? "DevExch " : "");
|
||||
|
||||
for (tag = 0; tag < ATA_MAX_QUEUE; tag++) {
|
||||
static const char *dma_str[] = {
|
||||
@ -1969,17 +1969,17 @@ static void ata_eh_link_report(struct ata_link *link)
|
||||
qc->err_mask & AC_ERR_NCQ ? " <F>" : "");
|
||||
|
||||
if (res->command & (ATA_BUSY | ATA_DRDY | ATA_DF | ATA_DRQ |
|
||||
ATA_ERR) ) {
|
||||
ATA_ERR)) {
|
||||
if (res->command & ATA_BUSY)
|
||||
ata_dev_printk(qc->dev, KERN_ERR,
|
||||
"status: { Busy }\n" );
|
||||
"status: { Busy }\n");
|
||||
else
|
||||
ata_dev_printk(qc->dev, KERN_ERR,
|
||||
"status: { %s%s%s%s}\n",
|
||||
res->command & ATA_DRDY ? "DRDY " : "",
|
||||
res->command & ATA_DF ? "DF " : "",
|
||||
res->command & ATA_DRQ ? "DRQ " : "",
|
||||
res->command & ATA_ERR ? "ERR " : "" );
|
||||
res->command & ATA_ERR ? "ERR " : "");
|
||||
}
|
||||
|
||||
if (cmd->command != ATA_CMD_PACKET &&
|
||||
@ -1990,7 +1990,7 @@ static void ata_eh_link_report(struct ata_link *link)
|
||||
res->feature & ATA_ICRC ? "ICRC " : "",
|
||||
res->feature & ATA_UNC ? "UNC " : "",
|
||||
res->feature & ATA_IDNF ? "IDNF " : "",
|
||||
res->feature & ATA_ABORTED ? "ABRT " : "" );
|
||||
res->feature & ATA_ABORTED ? "ABRT " : "");
|
||||
}
|
||||
}
|
||||
|
||||
@ -2611,7 +2611,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
|
||||
ehc->i.flags = 0;
|
||||
continue;
|
||||
|
||||
dev_fail:
|
||||
dev_fail:
|
||||
nr_failed_devs++;
|
||||
if (ata_eh_handle_dev_fail(dev, rc))
|
||||
nr_disabled_devs++;
|
||||
|
@ -45,7 +45,7 @@
|
||||
#include <scsi/scsi_transport.h>
|
||||
#include <linux/libata.h>
|
||||
#include <linux/hdreg.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
#include "libata.h"
|
||||
|
||||
@ -53,9 +53,9 @@
|
||||
|
||||
typedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *qc);
|
||||
|
||||
static struct ata_device * __ata_scsi_find_dev(struct ata_port *ap,
|
||||
static struct ata_device *__ata_scsi_find_dev(struct ata_port *ap,
|
||||
const struct scsi_device *scsidev);
|
||||
static struct ata_device * ata_scsi_find_dev(struct ata_port *ap,
|
||||
static struct ata_device *ata_scsi_find_dev(struct ata_port *ap,
|
||||
const struct scsi_device *scsidev);
|
||||
static int ata_scsi_user_scan(struct Scsi_Host *shost, unsigned int channel,
|
||||
unsigned int id, unsigned int lun);
|
||||
@ -264,14 +264,14 @@ int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg)
|
||||
struct scsi_sense_hdr sshdr;
|
||||
scsi_normalize_sense(sensebuf, SCSI_SENSE_BUFFERSIZE,
|
||||
&sshdr);
|
||||
if (sshdr.sense_key==0 &&
|
||||
sshdr.asc==0 && sshdr.ascq==0)
|
||||
if (sshdr.sense_key == 0 &&
|
||||
sshdr.asc == 0 && sshdr.ascq == 0)
|
||||
cmd_result &= ~SAM_STAT_CHECK_CONDITION;
|
||||
}
|
||||
|
||||
/* Send userspace a few ATA registers (same as drivers/ide) */
|
||||
if (sensebuf[0] == 0x72 && /* format is "descriptor" */
|
||||
desc[0] == 0x09 ) { /* code is "ATA Descriptor" */
|
||||
desc[0] == 0x09) { /* code is "ATA Descriptor" */
|
||||
args[0] = desc[13]; /* status */
|
||||
args[1] = desc[3]; /* error */
|
||||
args[2] = desc[5]; /* sector count (0:7) */
|
||||
@ -350,8 +350,8 @@ int ata_task_ioctl(struct scsi_device *scsidev, void __user *arg)
|
||||
struct scsi_sense_hdr sshdr;
|
||||
scsi_normalize_sense(sensebuf, SCSI_SENSE_BUFFERSIZE,
|
||||
&sshdr);
|
||||
if (sshdr.sense_key==0 &&
|
||||
sshdr.asc==0 && sshdr.ascq==0)
|
||||
if (sshdr.sense_key == 0 &&
|
||||
sshdr.asc == 0 && sshdr.ascq == 0)
|
||||
cmd_result &= ~SAM_STAT_CHECK_CONDITION;
|
||||
}
|
||||
|
||||
@ -975,7 +975,7 @@ static unsigned int ata_scsi_start_stop_xlat(struct ata_queued_cmd *qc)
|
||||
if ((qc->dev->flags & ATA_DFLAG_SPUNDOWN) &&
|
||||
(system_state == SYSTEM_HALT ||
|
||||
system_state == SYSTEM_POWER_OFF)) {
|
||||
static unsigned long warned = 0;
|
||||
static unsigned long warned;
|
||||
|
||||
if (!test_and_set_bit(0, &warned)) {
|
||||
ata_dev_printk(qc->dev, KERN_WARNING,
|
||||
@ -2464,7 +2464,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ata_device * ata_find_dev(struct ata_port *ap, int devno)
|
||||
static struct ata_device *ata_find_dev(struct ata_port *ap, int devno)
|
||||
{
|
||||
if (ap->nr_pmp_links == 0) {
|
||||
if (likely(devno < ata_link_max_devices(&ap->link)))
|
||||
@ -2477,7 +2477,7 @@ static struct ata_device * ata_find_dev(struct ata_port *ap, int devno)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct ata_device * __ata_scsi_find_dev(struct ata_port *ap,
|
||||
static struct ata_device *__ata_scsi_find_dev(struct ata_port *ap,
|
||||
const struct scsi_device *scsidev)
|
||||
{
|
||||
int devno;
|
||||
|
@ -248,7 +248,7 @@ void ata_bmdma_setup(struct ata_queued_cmd *qc)
|
||||
* LOCKING:
|
||||
* spin_lock_irqsave(host lock)
|
||||
*/
|
||||
void ata_bmdma_start (struct ata_queued_cmd *qc)
|
||||
void ata_bmdma_start(struct ata_queued_cmd *qc)
|
||||
{
|
||||
struct ata_port *ap = qc->ap;
|
||||
u8 dmactl;
|
||||
|
@ -883,7 +883,7 @@ static void mv_dump_mem(void __iomem *start, unsigned bytes)
|
||||
for (b = 0; b < bytes; ) {
|
||||
DPRINTK("%p: ", start + b);
|
||||
for (w = 0; b < bytes && w < 4; w++) {
|
||||
printk("%08x ",readl(start + b));
|
||||
printk("%08x ", readl(start + b));
|
||||
b += sizeof(u32);
|
||||
}
|
||||
printk("\n");
|
||||
@ -899,8 +899,8 @@ static void mv_dump_pci_cfg(struct pci_dev *pdev, unsigned bytes)
|
||||
for (b = 0; b < bytes; ) {
|
||||
DPRINTK("%02x: ", b);
|
||||
for (w = 0; b < bytes && w < 4; w++) {
|
||||
(void) pci_read_config_dword(pdev,b,&dw);
|
||||
printk("%08x ",dw);
|
||||
(void) pci_read_config_dword(pdev, b, &dw);
|
||||
printk("%08x ", dw);
|
||||
b += sizeof(u32);
|
||||
}
|
||||
printk("\n");
|
||||
@ -944,9 +944,9 @@ static void mv_dump_all_regs(void __iomem *mmio_base, int port,
|
||||
}
|
||||
for (p = start_port; p < start_port + num_ports; p++) {
|
||||
port_base = mv_port_base(mmio_base, p);
|
||||
DPRINTK("EDMA regs (port %i):\n",p);
|
||||
DPRINTK("EDMA regs (port %i):\n", p);
|
||||
mv_dump_mem(port_base, 0x54);
|
||||
DPRINTK("SATA regs (port %i):\n",p);
|
||||
DPRINTK("SATA regs (port %i):\n", p);
|
||||
mv_dump_mem(port_base+0x300, 0x60);
|
||||
}
|
||||
#endif
|
||||
@ -1606,7 +1606,7 @@ static void mv_host_intr(struct ata_host *host, u32 relevant, unsigned int hc)
|
||||
writelfl(~hc_irq_cause, hc_mmio + HC_IRQ_CAUSE_OFS);
|
||||
|
||||
VPRINTK("ENTER, hc%u relevant=0x%08x HC IRQ cause=0x%08x\n",
|
||||
hc,relevant,hc_irq_cause);
|
||||
hc, relevant, hc_irq_cause);
|
||||
|
||||
for (port = port0; port < port0 + MV_PORTS_PER_HC; port++) {
|
||||
struct ata_port *ap = host->ports[port];
|
||||
@ -1983,10 +1983,9 @@ static int mv6_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio,
|
||||
for (i = 0; i < 1000; i++) {
|
||||
udelay(1);
|
||||
t = readl(reg);
|
||||
if (PCI_MASTER_EMPTY & t) {
|
||||
if (PCI_MASTER_EMPTY & t)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!(PCI_MASTER_EMPTY & t)) {
|
||||
printk(KERN_ERR DRV_NAME ": PCI master won't flush\n");
|
||||
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 printed_version = 0;
|
||||
static int printed_version;
|
||||
unsigned int board_idx = (unsigned int)ent->driver_data;
|
||||
const struct ata_port_info *ppi[] = { &mv_port_info[board_idx], NULL };
|
||||
struct ata_host *host;
|
||||
|
@ -244,9 +244,9 @@ struct nv_adma_port_priv {
|
||||
dma_addr_t cpb_dma;
|
||||
struct nv_adma_prd *aprd;
|
||||
dma_addr_t aprd_dma;
|
||||
void __iomem * ctl_block;
|
||||
void __iomem * gen_block;
|
||||
void __iomem * notifier_clear_block;
|
||||
void __iomem *ctl_block;
|
||||
void __iomem *gen_block;
|
||||
void __iomem *notifier_clear_block;
|
||||
u8 flags;
|
||||
int last_issue_ncq;
|
||||
};
|
||||
@ -293,7 +293,7 @@ struct nv_swncq_port_priv {
|
||||
|
||||
#define NV_ADMA_CHECK_INTR(GCTL, PORT) ((GCTL) & ( 1 << (19 + (12 * (PORT)))))
|
||||
|
||||
static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
|
||||
static int nv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent);
|
||||
#ifdef CONFIG_PM
|
||||
static int nv_pci_device_resume(struct pci_dev *pdev);
|
||||
#endif
|
||||
@ -301,8 +301,8 @@ static void nv_ck804_host_stop(struct ata_host *host);
|
||||
static irqreturn_t nv_generic_interrupt(int irq, void *dev_instance);
|
||||
static irqreturn_t nv_nf2_interrupt(int irq, void *dev_instance);
|
||||
static irqreturn_t nv_ck804_interrupt(int irq, void *dev_instance);
|
||||
static int nv_scr_read (struct ata_port *ap, unsigned int sc_reg, u32 *val);
|
||||
static int nv_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
|
||||
static int nv_scr_read(struct ata_port *ap, unsigned int sc_reg, u32 *val);
|
||||
static int nv_scr_write(struct ata_port *ap, unsigned int sc_reg, u32 val);
|
||||
|
||||
static void nv_nf2_freeze(struct ata_port *ap);
|
||||
static void nv_nf2_thaw(struct ata_port *ap);
|
||||
@ -653,12 +653,12 @@ static void nv_adma_register_mode(struct ata_port *ap)
|
||||
return;
|
||||
|
||||
status = readw(mmio + NV_ADMA_STAT);
|
||||
while(!(status & NV_ADMA_STAT_IDLE) && count < 20) {
|
||||
while (!(status & NV_ADMA_STAT_IDLE) && count < 20) {
|
||||
ndelay(50);
|
||||
status = readw(mmio + NV_ADMA_STAT);
|
||||
count++;
|
||||
}
|
||||
if(count == 20)
|
||||
if (count == 20)
|
||||
ata_port_printk(ap, KERN_WARNING,
|
||||
"timeout waiting for ADMA IDLE, stat=0x%hx\n",
|
||||
status);
|
||||
@ -668,12 +668,12 @@ static void nv_adma_register_mode(struct ata_port *ap)
|
||||
|
||||
count = 0;
|
||||
status = readw(mmio + NV_ADMA_STAT);
|
||||
while(!(status & NV_ADMA_STAT_LEGACY) && count < 20) {
|
||||
while (!(status & NV_ADMA_STAT_LEGACY) && count < 20) {
|
||||
ndelay(50);
|
||||
status = readw(mmio + NV_ADMA_STAT);
|
||||
count++;
|
||||
}
|
||||
if(count == 20)
|
||||
if (count == 20)
|
||||
ata_port_printk(ap, KERN_WARNING,
|
||||
"timeout waiting for ADMA LEGACY, stat=0x%hx\n",
|
||||
status);
|
||||
@ -697,13 +697,13 @@ static void nv_adma_mode(struct ata_port *ap)
|
||||
writew(tmp | NV_ADMA_CTL_GO, mmio + NV_ADMA_CTL);
|
||||
|
||||
status = readw(mmio + NV_ADMA_STAT);
|
||||
while(((status & NV_ADMA_STAT_LEGACY) ||
|
||||
while (((status & NV_ADMA_STAT_LEGACY) ||
|
||||
!(status & NV_ADMA_STAT_IDLE)) && count < 20) {
|
||||
ndelay(50);
|
||||
status = readw(mmio + NV_ADMA_STAT);
|
||||
count++;
|
||||
}
|
||||
if(count == 20)
|
||||
if (count == 20)
|
||||
ata_port_printk(ap, KERN_WARNING,
|
||||
"timeout waiting for ADMA LEGACY clear and IDLE, stat=0x%hx\n",
|
||||
status);
|
||||
@ -747,8 +747,7 @@ static int nv_adma_slave_config(struct scsi_device *sdev)
|
||||
on the port. */
|
||||
adma_enable = 0;
|
||||
nv_adma_register_mode(ap);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
bounce_limit = *ap->dev->dma_mask;
|
||||
segment_boundary = NV_ADMA_DMA_BOUNDARY;
|
||||
sg_tablesize = NV_ADMA_SGTBL_TOTAL_LEN;
|
||||
@ -757,23 +756,22 @@ static int nv_adma_slave_config(struct scsi_device *sdev)
|
||||
|
||||
pci_read_config_dword(pdev, NV_MCP_SATA_CFG_20, ¤t_reg);
|
||||
|
||||
if(ap->port_no == 1)
|
||||
if (ap->port_no == 1)
|
||||
config_mask = NV_MCP_SATA_CFG_20_PORT1_EN |
|
||||
NV_MCP_SATA_CFG_20_PORT1_PWB_EN;
|
||||
else
|
||||
config_mask = NV_MCP_SATA_CFG_20_PORT0_EN |
|
||||
NV_MCP_SATA_CFG_20_PORT0_PWB_EN;
|
||||
|
||||
if(adma_enable) {
|
||||
if (adma_enable) {
|
||||
new_reg = current_reg | config_mask;
|
||||
pp->flags &= ~NV_ADMA_ATAPI_SETUP_COMPLETE;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
new_reg = current_reg & ~config_mask;
|
||||
pp->flags |= NV_ADMA_ATAPI_SETUP_COMPLETE;
|
||||
}
|
||||
|
||||
if(current_reg != new_reg)
|
||||
if (current_reg != new_reg)
|
||||
pci_write_config_dword(pdev, NV_MCP_SATA_CFG_20, new_reg);
|
||||
|
||||
blk_queue_bounce_limit(sdev->request_queue, bounce_limit);
|
||||
@ -807,7 +805,7 @@ static unsigned int nv_adma_tf_to_cpb(struct ata_taskfile *tf, __le16 *cpb)
|
||||
{
|
||||
unsigned int idx = 0;
|
||||
|
||||
if(tf->flags & ATA_TFLAG_ISADDR) {
|
||||
if (tf->flags & ATA_TFLAG_ISADDR) {
|
||||
if (tf->flags & ATA_TFLAG_LBA48) {
|
||||
cpb[idx++] = cpu_to_le16((ATA_REG_ERR << 8) | tf->hob_feature | WNB);
|
||||
cpb[idx++] = cpu_to_le16((ATA_REG_NSECT << 8) | tf->hob_nsect);
|
||||
@ -824,12 +822,12 @@ static unsigned int nv_adma_tf_to_cpb(struct ata_taskfile *tf, __le16 *cpb)
|
||||
cpb[idx++] = cpu_to_le16((ATA_REG_LBAH << 8) | tf->lbah);
|
||||
}
|
||||
|
||||
if(tf->flags & ATA_TFLAG_DEVICE)
|
||||
if (tf->flags & ATA_TFLAG_DEVICE)
|
||||
cpb[idx++] = cpu_to_le16((ATA_REG_DEVICE << 8) | tf->device);
|
||||
|
||||
cpb[idx++] = cpu_to_le16((ATA_REG_CMD << 8) | tf->command | CMDEND);
|
||||
|
||||
while(idx < 12)
|
||||
while (idx < 12)
|
||||
cpb[idx++] = cpu_to_le16(IGN);
|
||||
|
||||
return idx;
|
||||
@ -850,7 +848,7 @@ static int nv_adma_check_cpb(struct ata_port *ap, int cpb_num, int force_err)
|
||||
int freeze = 0;
|
||||
|
||||
ata_ehi_clear_desc(ehi);
|
||||
__ata_ehi_push_desc(ehi, "CPB resp_flags 0x%x: ", flags );
|
||||
__ata_ehi_push_desc(ehi, "CPB resp_flags 0x%x: ", flags);
|
||||
if (flags & NV_CPB_RESP_ATA_ERR) {
|
||||
ata_ehi_push_desc(ehi, "ATA error");
|
||||
ehi->err_mask |= AC_ERR_DEV;
|
||||
@ -879,7 +877,7 @@ static int nv_adma_check_cpb(struct ata_port *ap, int cpb_num, int force_err)
|
||||
struct ata_queued_cmd *qc = ata_qc_from_tag(ap, cpb_num);
|
||||
VPRINTK("CPB flags done, flags=0x%x\n", flags);
|
||||
if (likely(qc)) {
|
||||
DPRINTK("Completing qc from tag %d\n",cpb_num);
|
||||
DPRINTK("Completing qc from tag %d\n", cpb_num);
|
||||
ata_qc_complete(qc);
|
||||
} else {
|
||||
struct ata_eh_info *ehi = &ap->link.eh_info;
|
||||
@ -952,7 +950,7 @@ static irqreturn_t nv_adma_interrupt(int irq, void *dev_instance)
|
||||
if (pp->flags & NV_ADMA_PORT_REGISTER_MODE) {
|
||||
u8 irq_stat = readb(host->iomap[NV_MMIO_BAR] + NV_INT_STATUS_CK804)
|
||||
>> (NV_INT_PORT_SHIFT * i);
|
||||
if(ata_tag_valid(ap->link.active_tag))
|
||||
if (ata_tag_valid(ap->link.active_tag))
|
||||
/** NV_INT_DEV indication seems unreliable at times
|
||||
at least in ADMA mode. Force it on always when a
|
||||
command is active, to prevent losing interrupts. */
|
||||
@ -966,7 +964,7 @@ static irqreturn_t nv_adma_interrupt(int irq, void *dev_instance)
|
||||
|
||||
gen_ctl = readl(pp->gen_block + NV_ADMA_GEN_CTL);
|
||||
|
||||
if( !NV_ADMA_CHECK_INTR(gen_ctl, ap->port_no) && !notifier &&
|
||||
if (!NV_ADMA_CHECK_INTR(gen_ctl, ap->port_no) && !notifier &&
|
||||
!notifier_error)
|
||||
/* Nothing to do */
|
||||
continue;
|
||||
@ -990,7 +988,7 @@ static irqreturn_t nv_adma_interrupt(int irq, void *dev_instance)
|
||||
struct ata_eh_info *ehi = &ap->link.eh_info;
|
||||
|
||||
ata_ehi_clear_desc(ehi);
|
||||
__ata_ehi_push_desc(ehi, "ADMA status 0x%08x: ", status );
|
||||
__ata_ehi_push_desc(ehi, "ADMA status 0x%08x: ", status);
|
||||
if (status & NV_ADMA_STAT_TIMEOUT) {
|
||||
ehi->err_mask |= AC_ERR_SYSTEM;
|
||||
ata_ehi_push_desc(ehi, "timeout");
|
||||
@ -1056,14 +1054,14 @@ static void nv_adma_freeze(struct ata_port *ap)
|
||||
return;
|
||||
|
||||
/* clear any outstanding CK804 notifications */
|
||||
writeb( NV_INT_ALL << (ap->port_no * NV_INT_PORT_SHIFT),
|
||||
writeb(NV_INT_ALL << (ap->port_no * NV_INT_PORT_SHIFT),
|
||||
ap->host->iomap[NV_MMIO_BAR] + NV_INT_STATUS_CK804);
|
||||
|
||||
/* Disable interrupt */
|
||||
tmp = readw(mmio + NV_ADMA_CTL);
|
||||
writew( tmp & ~(NV_ADMA_CTL_AIEN | NV_ADMA_CTL_HOTPLUG_IEN),
|
||||
writew(tmp & ~(NV_ADMA_CTL_AIEN | NV_ADMA_CTL_HOTPLUG_IEN),
|
||||
mmio + NV_ADMA_CTL);
|
||||
readw( mmio + NV_ADMA_CTL ); /* flush posted write */
|
||||
readw(mmio + NV_ADMA_CTL ); /* flush posted write */
|
||||
}
|
||||
|
||||
static void nv_adma_thaw(struct ata_port *ap)
|
||||
@ -1079,9 +1077,9 @@ static void nv_adma_thaw(struct ata_port *ap)
|
||||
|
||||
/* Enable interrupt */
|
||||
tmp = readw(mmio + NV_ADMA_CTL);
|
||||
writew( tmp | (NV_ADMA_CTL_AIEN | NV_ADMA_CTL_HOTPLUG_IEN),
|
||||
writew(tmp | (NV_ADMA_CTL_AIEN | NV_ADMA_CTL_HOTPLUG_IEN),
|
||||
mmio + NV_ADMA_CTL);
|
||||
readw( mmio + NV_ADMA_CTL ); /* flush posted write */
|
||||
readw(mmio + NV_ADMA_CTL ); /* flush posted write */
|
||||
}
|
||||
|
||||
static void nv_adma_irq_clear(struct ata_port *ap)
|
||||
@ -1096,7 +1094,7 @@ static void nv_adma_irq_clear(struct ata_port *ap)
|
||||
}
|
||||
|
||||
/* clear any outstanding CK804 notifications */
|
||||
writeb( NV_INT_ALL << (ap->port_no * NV_INT_PORT_SHIFT),
|
||||
writeb(NV_INT_ALL << (ap->port_no * NV_INT_PORT_SHIFT),
|
||||
ap->host->iomap[NV_MMIO_BAR] + NV_INT_STATUS_CK804);
|
||||
|
||||
/* clear ADMA status */
|
||||
|
@ -1230,7 +1230,7 @@ static void quirk_jmicron_ata(struct pci_dev *pdev)
|
||||
case PCI_DEVICE_ID_JMICRON_JMB363:
|
||||
/* Enable dual function mode, AHCI on fn 0, IDE fn1 */
|
||||
/* 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;
|
||||
|
||||
case PCI_DEVICE_ID_JMICRON_JMB368:
|
||||
|
@ -717,7 +717,7 @@ struct ata_timing {
|
||||
unsigned short udma; /* t2CYCTYP/2 */
|
||||
};
|
||||
|
||||
#define FIT(v,vmin,vmax) max_t(short,min_t(short,v,vmax),vmin)
|
||||
#define FIT(v, vmin, vmax) max_t(short, min_t(short, v, vmax), vmin)
|
||||
|
||||
extern const unsigned long sata_deb_timing_normal[];
|
||||
extern const unsigned long sata_deb_timing_hotplug[];
|
||||
@ -816,14 +816,14 @@ extern void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf);
|
||||
extern void ata_tf_to_fis(const struct ata_taskfile *tf,
|
||||
u8 pmp, int is_cmd, u8 *fis);
|
||||
extern void ata_tf_from_fis(const u8 *fis, struct ata_taskfile *tf);
|
||||
extern void ata_noop_dev_select (struct ata_port *ap, unsigned int device);
|
||||
extern void ata_std_dev_select (struct ata_port *ap, unsigned int device);
|
||||
extern void ata_noop_dev_select(struct ata_port *ap, unsigned int device);
|
||||
extern void ata_std_dev_select(struct ata_port *ap, unsigned int device);
|
||||
extern u8 ata_check_status(struct ata_port *ap);
|
||||
extern u8 ata_altstatus(struct ata_port *ap);
|
||||
extern void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf);
|
||||
extern int ata_port_start (struct ata_port *ap);
|
||||
extern int ata_sff_port_start (struct ata_port *ap);
|
||||
extern irqreturn_t ata_interrupt (int irq, void *dev_instance);
|
||||
extern int ata_port_start(struct ata_port *ap);
|
||||
extern int ata_sff_port_start(struct ata_port *ap);
|
||||
extern irqreturn_t ata_interrupt(int irq, void *dev_instance);
|
||||
extern void ata_data_xfer(struct ata_device *adev, unsigned char *buf,
|
||||
unsigned int buflen, int write_data);
|
||||
extern void ata_data_xfer_noirq(struct ata_device *adev, unsigned char *buf,
|
||||
@ -844,8 +844,8 @@ extern void ata_id_string(const u16 *id, unsigned char *s,
|
||||
extern void ata_id_c_string(const u16 *id, unsigned char *s,
|
||||
unsigned int ofs, unsigned int len);
|
||||
extern void ata_id_to_dma_mode(struct ata_device *dev, u8 unknown);
|
||||
extern void ata_bmdma_setup (struct ata_queued_cmd *qc);
|
||||
extern void ata_bmdma_start (struct ata_queued_cmd *qc);
|
||||
extern void ata_bmdma_setup(struct ata_queued_cmd *qc);
|
||||
extern void ata_bmdma_start(struct ata_queued_cmd *qc);
|
||||
extern void ata_bmdma_stop(struct ata_queued_cmd *qc);
|
||||
extern u8 ata_bmdma_status(struct ata_port *ap);
|
||||
extern void ata_bmdma_irq_clear(struct ata_port *ap);
|
||||
@ -920,9 +920,9 @@ static inline int ata_acpi_cbl_80wire(struct ata_port *ap) { return 0; }
|
||||
#ifdef CONFIG_PCI
|
||||
struct pci_dev;
|
||||
|
||||
extern int ata_pci_init_one (struct pci_dev *pdev,
|
||||
extern int ata_pci_init_one(struct pci_dev *pdev,
|
||||
const struct ata_port_info * const * ppi);
|
||||
extern void ata_pci_remove_one (struct pci_dev *pdev);
|
||||
extern void ata_pci_remove_one(struct pci_dev *pdev);
|
||||
#ifdef CONFIG_PM
|
||||
extern void ata_pci_device_do_suspend(struct pci_dev *pdev, pm_message_t mesg);
|
||||
extern int __must_check ata_pci_device_do_resume(struct pci_dev *pdev);
|
||||
|
Loading…
Reference in New Issue
Block a user