[PATCH][v3] Add asynchronous notification support

ashish kalra ashish.kalra at freescale.com
Thu Jul 2 01:29:43 EST 2009


Enable device hot-plug support on Port multiplier fan-out ports
v3 fixes whitespace/identation issues

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

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");
-- 
1.6.0




More information about the Linuxppc-dev mailing list