This should be fine, as cd->sfis is allocated in host memory using a _coherent allocator and the SATA-2 controller is DMA'ing the D2H FIS into it. Ashish -----Original Message----- From: Alan Cox [mailto:alan@xxxxxxxxxxxxxxxxxxx] Sent: Friday, October 12, 2007 7:25 PM To: Li Yang-r58472 Cc: jgarzik@xxxxxxxxx; linux-ide@xxxxxxxxxxxxxxx; linuxppc-dev@xxxxxxxxxx; Kalra Ashish-B00888; Li Yang-r58472 Subject: Re: [PATCH v2] drivers/ata: add support to Freescale 3.0Gbps SATA Controller > + cd = pp->cmdentry + tag; > + > + memcpy(fis, &cd->sfis, 6 * 4); /* should we use memcpy_from_io() */ If cd->sfis points at memory over the PCI bus (eg mmio or memory on the controller card) then you need to use ioread/_io type functions. If cd->sfis points into host memory where the FIS is delivered by DMA from the card you will be fine if it was allocated with an _coherent allocator Alan - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html