From patchwork Mon Jun 29 13:22:36 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kalra Ashish-B00888 X-Patchwork-Id: 29273 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by bilbo.ozlabs.org (Postfix) with ESMTP id CFD68B707C for ; Mon, 29 Jun 2009 23:22:57 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751969AbZF2NWw (ORCPT ); Mon, 29 Jun 2009 09:22:52 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752972AbZF2NWw (ORCPT ); Mon, 29 Jun 2009 09:22:52 -0400 Received: from az33egw02.freescale.net ([192.88.158.103]:50765 "EHLO az33egw02.freescale.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751680AbZF2NWv (ORCPT ); Mon, 29 Jun 2009 09:22:51 -0400 Received: from de01smr02.am.mot.com (de01smr02.freescale.net [10.208.0.151]) by az33egw02.freescale.net (8.14.3/az33egw02) with ESMTP id n5TDMs15012461 for ; Mon, 29 Jun 2009 06:22:55 -0700 (MST) Received: from zin33exm20.fsl.freescale.net (zin33exm20.ap.freescale.net [10.232.192.5]) by de01smr02.am.mot.com (8.13.1/8.13.0) with ESMTP id n5TDMpE4017133 for ; Mon, 29 Jun 2009 08:22:53 -0500 (CDT) Received: from localhost ([10.232.135.111]) by zin33exm20.fsl.freescale.net with Microsoft SMTPSVC(6.0.3790.3959); Mon, 29 Jun 2009 18:52:51 +0530 Date: Mon, 29 Jun 2009 18:52:36 +0530 (India Standard Time) From: ashish kalra To: linux-ide@vger.kernel.org cc: linuxppc-dev@ozlabs.org Subject: [PATCH] sata_fsl: Add asynchronous notification support Message-ID: X-X-Sender: b00888@zin33exm20.fsl.freescale.net MIME-Version: 1.0 X-OriginalArrivalTime: 29 Jun 2009 13:22:51.0277 (UTC) FILETIME=[B3EA0BD0:01C9F8BC] X-Brightmail-Tracker: AAAAAQAAAWE= X-Brightmail-Tracker: AAAAAQAAAWE= Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org Signed-off-by: Ashish Kalra --- drivers/ata/sata_fsl.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index 94eaa43..5751145 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,7 +132,7 @@ enum { INT_ON_SINGL_DEVICE_ERR = (1 << 1), INT_ON_CMD_COMPLETE = 1, - INT_ON_ERROR = INT_ON_FATAL_ERR | + INT_ON_ERROR = INT_ON_FATAL_ERR | INT_ON_SNOTIFY_UPDATE | INT_ON_PHYRDY_CHG | INT_ON_SINGL_DEVICE_ERR, /* @@ -154,6 +154,7 @@ enum { DEFAULT_PORT_IRQ_ENABLE_MASK = IE_ON_FATAL_ERR | IE_ON_PHYRDY_CHG | IE_ON_SIGNATURE_UPDATE | + IE_ON_SNOTIFY_UPDATE | IE_ON_SINGL_DEVICE_ERR | IE_ON_CMD_COMPLETE, EXT_INDIRECT_SEG_PRD_FLAG = (1 << 31), @@ -1003,6 +1004,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");