diff mbox

[v3] Add asynchronous notification support

Message ID Pine.WNT.4.64.0907012055100.868@B00888-02.fsl.freescale.net (mailing list archive)
State Accepted, archived
Delegated to: Kumar Gala
Headers show

Commit Message

Kalra Ashish-B00888 July 1, 2009, 3:29 p.m. UTC
Enable device hot-plug support on Port multiplier fan-out ports
v3 fixes whitespace/identation issues

Signed-off-by: Ashish Kalra <Ashish.Kalra@freescale.com>
---
  drivers/ata/sata_fsl.c |   15 ++++++++++-----
  1 files changed, 10 insertions(+), 5 deletions(-)

Comments

Jeff Garzik Nov. 19, 2009, 11:35 p.m. UTC | #1
On 07/01/2009 11:29 AM, ashish kalra wrote:
> Enable device hot-plug support on Port multiplier fan-out ports
> v3 fixes whitespace/identation issues
>
> Signed-off-by: Ashish Kalra <Ashish.Kalra@freescale.com>
> ---
> drivers/ata/sata_fsl.c | 15 ++++++++++-----
> 1 files changed, 10 insertions(+), 5 deletions(-)

applied #upstream
diff mbox

Patch

diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index 94eaa43..5a88b44 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -34,7 +34,7 @@  enum {

  	SATA_FSL_HOST_FLAGS	= (ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
  				ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
-				ATA_FLAG_PMP | ATA_FLAG_NCQ),
+				ATA_FLAG_PMP | ATA_FLAG_NCQ | ATA_FLAG_AN),

  	SATA_FSL_MAX_CMDS	= SATA_FSL_QUEUE_DEPTH,
  	SATA_FSL_CMD_HDR_SIZE	= 16,	/* 4 DWORDS */
@@ -132,8 +132,8 @@  enum {
  	INT_ON_SINGL_DEVICE_ERR = (1 << 1),
  	INT_ON_CMD_COMPLETE = 1,

-	INT_ON_ERROR = INT_ON_FATAL_ERR |
-	    INT_ON_PHYRDY_CHG | INT_ON_SINGL_DEVICE_ERR,
+	INT_ON_ERROR = INT_ON_FATAL_ERR | INT_ON_SNOTIFY_UPDATE |
+		INT_ON_PHYRDY_CHG | INT_ON_SINGL_DEVICE_ERR,

  	/*
  	 * Host Control Register (HControl) bitdefs
@@ -153,8 +153,8 @@  enum {
  	IE_ON_CMD_COMPLETE = 1,

  	DEFAULT_PORT_IRQ_ENABLE_MASK = IE_ON_FATAL_ERR | IE_ON_PHYRDY_CHG |
-	    IE_ON_SIGNATURE_UPDATE |
-	    IE_ON_SINGL_DEVICE_ERR | IE_ON_CMD_COMPLETE,
+		IE_ON_SIGNATURE_UPDATE | IE_ON_SNOTIFY_UPDATE |
+		IE_ON_SINGL_DEVICE_ERR | IE_ON_CMD_COMPLETE,

  	EXT_INDIRECT_SEG_PRD_FLAG = (1 << 31),
  	DATA_SNOOP_ENABLE = (1 << 22),
@@ -1003,6 +1003,11 @@  static void sata_fsl_error_intr(struct ata_port *ap)
  		freeze = 1;
  	}

+	/* Handle SDB FIS receive & notify update */
+	if (hstatus & INT_ON_SNOTIFY_UPDATE) {
+		sata_async_notification(ap);
+	}
+
  	/* Handle PHYRDY change notification */
  	if (hstatus & INT_ON_PHYRDY_CHG) {
  		DPRINTK("SATA FSL: PHYRDY change indication\n");