Re: [PATCH] drivers/ata: Add the SW NCQ support to sata_nv forMCP51/MCP55/MCP61

From: Robert Hancock
Date: Thu May 17 2007 - 21:59:16 EST


Zoltan Boszormenyi wrote:
Hi,

thanks for publishing this.

Add the Software NCQ support to sata_nv.c for MCP51/MCP55/MCP61 SATA
controller.

This patch base on sata_nv.c file from kernel 2.6.22-rc1

See attachment for the patch.

Signed-off-by: Kuan Luo <kluo@xxxxxxxxxx>
Signed-off-by: Peer Chen <pchen@xxxxxxxxxx>
==================================
See attached file.
==================================

However, I saw this in the patch:

+ /* determine if physical DMA addr spans 64K boundary.
+ * Note h/w doesn't support 64-bit, so we unconditionally
+ * truncate dma_addr_t to u32.
+ */
+ addr = (u32) sg_dma_address(sg);

Does it mean that I can't upgrade my machine to 4 GB or more
without losing NCQ or risking data corruption?
Can the code be made IOMMU-aware?

That shouldn't be a problem, libata default DMA mask is 32 bits (which isn't overridden with this controller) and so the block layer will bounce any data being read/written above that point with IOMMU or swiotlb. The comment is a bit unnecessarily scary.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/