Commit 0b7962a6 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata

Pull libata updates from Tejun Heo:
 "Trivial changes except for special case timeout bumping.

  I have two more libata branches which depend on SCSI and dmaengine
  tree respectively.  I'll send pull requests for them once the
  prerequisite trees are pulled in"

* 'for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
  libata-scsi: use %*ph to dump small buffers
  treewide: Fix typos in libata.xml
  libata-core: Allow longer timeout for drive spinup from PUIS
  libata: Fixup awkward whitespace in warning by removing line continuation.
parents 6f88b5be f8d1a939
...@@ -2550,8 +2550,8 @@ int ahci_host_activate(struct ata_host *host, struct scsi_host_template *sht) ...@@ -2550,8 +2550,8 @@ int ahci_host_activate(struct ata_host *host, struct scsi_host_template *sht)
if (hpriv->flags & (AHCI_HFLAG_MULTI_MSI | AHCI_HFLAG_MULTI_MSIX)) { if (hpriv->flags & (AHCI_HFLAG_MULTI_MSI | AHCI_HFLAG_MULTI_MSIX)) {
if (hpriv->irq_handler) if (hpriv->irq_handler)
dev_warn(host->dev, "both AHCI_HFLAG_MULTI_MSI flag set \ dev_warn(host->dev,
and custom irq handler implemented\n"); "both AHCI_HFLAG_MULTI_MSI flag set and custom irq handler implemented\n");
rc = ahci_host_activate_multi_irqs(host, sht); rc = ahci_host_activate_multi_irqs(host, sht);
} else { } else {
......
...@@ -884,7 +884,7 @@ unsigned long ata_pack_xfermask(unsigned long pio_mask, ...@@ -884,7 +884,7 @@ unsigned long ata_pack_xfermask(unsigned long pio_mask,
* @udma_mask: resulting udma_mask * @udma_mask: resulting udma_mask
* *
* Unpack @xfer_mask into @pio_mask, @mwdma_mask and @udma_mask. * Unpack @xfer_mask into @pio_mask, @mwdma_mask and @udma_mask.
* Any NULL distination masks will be ignored. * Any NULL destination masks will be ignored.
*/ */
void ata_unpack_xfermask(unsigned long xfer_mask, unsigned long *pio_mask, void ata_unpack_xfermask(unsigned long xfer_mask, unsigned long *pio_mask,
unsigned long *mwdma_mask, unsigned long *udma_mask) unsigned long *mwdma_mask, unsigned long *udma_mask)
...@@ -3399,7 +3399,7 @@ int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev) ...@@ -3399,7 +3399,7 @@ int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev)
* EH context. * EH context.
* *
* RETURNS: * RETURNS:
* 0 if @linke is ready before @deadline; otherwise, -errno. * 0 if @link is ready before @deadline; otherwise, -errno.
*/ */
int ata_wait_ready(struct ata_link *link, unsigned long deadline, int ata_wait_ready(struct ata_link *link, unsigned long deadline,
int (*check_ready)(struct ata_link *link)) int (*check_ready)(struct ata_link *link))
...@@ -3480,7 +3480,7 @@ int ata_wait_ready(struct ata_link *link, unsigned long deadline, ...@@ -3480,7 +3480,7 @@ int ata_wait_ready(struct ata_link *link, unsigned long deadline,
* EH context. * EH context.
* *
* RETURNS: * RETURNS:
* 0 if @linke is ready before @deadline; otherwise, -errno. * 0 if @link is ready before @deadline; otherwise, -errno.
*/ */
int ata_wait_after_reset(struct ata_link *link, unsigned long deadline, int ata_wait_after_reset(struct ata_link *link, unsigned long deadline,
int (*check_ready)(struct ata_link *link)) int (*check_ready)(struct ata_link *link))
...@@ -3493,7 +3493,7 @@ int ata_wait_after_reset(struct ata_link *link, unsigned long deadline, ...@@ -3493,7 +3493,7 @@ int ata_wait_after_reset(struct ata_link *link, unsigned long deadline,
/** /**
* sata_link_debounce - debounce SATA phy status * sata_link_debounce - debounce SATA phy status
* @link: ATA link to debounce SATA phy status for * @link: ATA link to debounce SATA phy status for
* @params: timing parameters { interval, duratinon, timeout } in msec * @params: timing parameters { interval, duration, timeout } in msec
* @deadline: deadline jiffies for the operation * @deadline: deadline jiffies for the operation
* *
* Make sure SStatus of @link reaches stable state, determined by * Make sure SStatus of @link reaches stable state, determined by
...@@ -3563,7 +3563,7 @@ int sata_link_debounce(struct ata_link *link, const unsigned long *params, ...@@ -3563,7 +3563,7 @@ int sata_link_debounce(struct ata_link *link, const unsigned long *params,
/** /**
* sata_link_resume - resume SATA link * sata_link_resume - resume SATA link
* @link: ATA link to resume SATA * @link: ATA link to resume SATA
* @params: timing parameters { interval, duratinon, timeout } in msec * @params: timing parameters { interval, duration, timeout } in msec
* @deadline: deadline jiffies for the operation * @deadline: deadline jiffies for the operation
* *
* Resume SATA phy @link and debounce it. * Resume SATA phy @link and debounce it.
...@@ -3746,7 +3746,7 @@ int ata_std_prereset(struct ata_link *link, unsigned long deadline) ...@@ -3746,7 +3746,7 @@ int ata_std_prereset(struct ata_link *link, unsigned long deadline)
/** /**
* sata_link_hardreset - reset link via SATA phy reset * sata_link_hardreset - reset link via SATA phy reset
* @link: link to reset * @link: link to reset
* @timing: timing parameters { interval, duratinon, timeout } in msec * @timing: timing parameters { interval, duration, timeout } in msec
* @deadline: deadline jiffies for the operation * @deadline: deadline jiffies for the operation
* @online: optional out parameter indicating link onlineness * @online: optional out parameter indicating link onlineness
* @check_ready: optional callback to check link readiness * @check_ready: optional callback to check link readiness
...@@ -4528,6 +4528,7 @@ unsigned int ata_dev_set_feature(struct ata_device *dev, u8 enable, u8 feature) ...@@ -4528,6 +4528,7 @@ unsigned int ata_dev_set_feature(struct ata_device *dev, u8 enable, u8 feature)
{ {
struct ata_taskfile tf; struct ata_taskfile tf;
unsigned int err_mask; unsigned int err_mask;
unsigned long timeout = 0;
/* set up set-features taskfile */ /* set up set-features taskfile */
DPRINTK("set features - SATA features\n"); DPRINTK("set features - SATA features\n");
...@@ -4539,7 +4540,10 @@ unsigned int ata_dev_set_feature(struct ata_device *dev, u8 enable, u8 feature) ...@@ -4539,7 +4540,10 @@ unsigned int ata_dev_set_feature(struct ata_device *dev, u8 enable, u8 feature)
tf.protocol = ATA_PROT_NODATA; tf.protocol = ATA_PROT_NODATA;
tf.nsect = feature; tf.nsect = feature;
err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0); if (enable == SETFEATURES_SPINUP)
timeout = ata_probe_timeout ?
ata_probe_timeout * 1000 : SETFEATURES_SPINUP_TIMEOUT;
err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, timeout);
DPRINTK("EXIT, err_mask=%x\n", err_mask); DPRINTK("EXIT, err_mask=%x\n", err_mask);
return err_mask; return err_mask;
...@@ -6208,7 +6212,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht) ...@@ -6208,7 +6212,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht)
* *
* After allocating an ATA host and initializing it, most libata * After allocating an ATA host and initializing it, most libata
* LLDs perform three steps to activate the host - start host, * LLDs perform three steps to activate the host - start host,
* request IRQ and register it. This helper takes necessasry * request IRQ and register it. This helper takes necessary
* arguments and performs the three steps in one go. * arguments and performs the three steps in one go.
* *
* An invalid IRQ skips the IRQ registration and expects the host to * An invalid IRQ skips the IRQ registration and expects the host to
...@@ -6261,7 +6265,7 @@ int ata_host_activate(struct ata_host *host, int irq, ...@@ -6261,7 +6265,7 @@ int ata_host_activate(struct ata_host *host, int irq,
} }
/** /**
* ata_port_detach - Detach ATA port in prepration of device removal * ata_port_detach - Detach ATA port in preparation of device removal
* @ap: ATA port to be detached * @ap: ATA port to be detached
* *
* Detach all ATA devices and the associated SCSI devices of @ap; * Detach all ATA devices and the associated SCSI devices of @ap;
......
...@@ -1109,7 +1109,7 @@ static void ata_scsi_sdev_config(struct scsi_device *sdev) ...@@ -1109,7 +1109,7 @@ static void ata_scsi_sdev_config(struct scsi_device *sdev)
* @rq: request to be checked * @rq: request to be checked
* *
* ATAPI commands which transfer variable length data to host * ATAPI commands which transfer variable length data to host
* might overflow due to application error or hardare bug. This * might overflow due to application error or hardware bug. This
* function checks whether overflow should be drained and ignored * function checks whether overflow should be drained and ignored
* for @request. * for @request.
* *
...@@ -3439,14 +3439,11 @@ static inline void ata_scsi_dump_cdb(struct ata_port *ap, ...@@ -3439,14 +3439,11 @@ static inline void ata_scsi_dump_cdb(struct ata_port *ap,
{ {
#ifdef ATA_DEBUG #ifdef ATA_DEBUG
struct scsi_device *scsidev = cmd->device; struct scsi_device *scsidev = cmd->device;
u8 *scsicmd = cmd->cmnd;
DPRINTK("CDB (%u:%d,%d,%d) %02x %02x %02x %02x %02x %02x %02x %02x %02x\n", DPRINTK("CDB (%u:%d,%d,%d) %9ph\n",
ap->print_id, ap->print_id,
scsidev->channel, scsidev->id, scsidev->lun, scsidev->channel, scsidev->id, scsidev->lun,
scsicmd[0], scsicmd[1], scsicmd[2], scsicmd[3], cmd->cmnd);
scsicmd[4], scsicmd[5], scsicmd[6], scsicmd[7],
scsicmd[8]);
#endif #endif
} }
......
...@@ -372,6 +372,7 @@ enum { ...@@ -372,6 +372,7 @@ enum {
SETFEATURES_AAM_OFF = 0xC2, SETFEATURES_AAM_OFF = 0xC2,
SETFEATURES_SPINUP = 0x07, /* Spin-up drive */ SETFEATURES_SPINUP = 0x07, /* Spin-up drive */
SETFEATURES_SPINUP_TIMEOUT = 30000, /* 30s timeout for drive spin-up from PUIS */
SETFEATURES_SATA_ENABLE = 0x10, /* Enable use of SATA feature */ SETFEATURES_SATA_ENABLE = 0x10, /* Enable use of SATA feature */
SETFEATURES_SATA_DISABLE = 0x90, /* Disable use of SATA feature */ SETFEATURES_SATA_DISABLE = 0x90, /* Disable use of SATA feature */
......
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