[<prev] [next>] [day] [month] [year] [list]
Message-id: <45BD4BE6.3010109@shaw.ca>
Date: Sun, 28 Jan 2007 19:20:38 -0600
From: Robert Hancock <hancockr@...w.ca>
To: linux-kernel <linux-kernel@...r.kernel.org>,
linux-ide@...r.kernel.org, Jeff Garzik <jeff@...zik.org>,
Andrew Morton <akpm@...l.org>
Subject: [PATCH -mm] sata_nv: use ADMA for NODATA commands
Patch is against 2.6.20-rc6-mm1, though will also apply to 2.6.20-rc6 if
sata_nv-cleanup-adma-error-handling-v2.patch and
sata_nv-cleanup-adma-error-handling-v2-cleanup.patch from -mm are
applied first. Testing from those who experienced the previous cache
flush timeout problem, in particular, would be appreciated.
---
Some problems showed up recently with cache flush commands timing out on
sata_nv. Previously these commands were always handled by transitioning
to legacy mode from ADMA mode first. The timeout problem was worked
around already by a change to the interrupt handling code for legacy
mode, but for non-data commands like these it appears we can handle them
in ADMA mode, so the switch to legacy mode is not needed.
This patch changes the behavior so that we use ADMA mode to submit
interrupt-driven commands with ATA_PROT_NODATA protocol. In addition to
avoiding the problem mentioned above entirely, this avoids the overhead
of switching to legacy mode and back to ADMA mode for handling cache
flushes. When handling non-DMA-mapped commands, we leave the APRD blank
and clear the NV_CPB_CTL_APRD_VALID field in the CPB so the controller
does not attempt to read it.
Signed-off-by: Robert Hancock <hancockr@...w.ca>
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@...pamshaw.ca
Home Page: http://www.roberthancock.com/
View attachment "sata_nv-use-adma-for-nodata-commands.patch" of type "text/plain" (2184 bytes)
Powered by blists - more mailing lists