Sfoglia il codice sorgente

mmc: android-goldfish: use sg_copy_{from,to}_buffer

This handles highmem pages, and also cleans up the code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Christoph Hellwig 7 anni fa
parent
commit
53d7e098ba
1 ha cambiato i file con 4 aggiunte e 4 eliminazioni
  1. 4 4
      drivers/mmc/host/android-goldfish.c

+ 4 - 4
drivers/mmc/host/android-goldfish.c

@@ -217,8 +217,8 @@ static void goldfish_mmc_xfer_done(struct goldfish_mmc_host *host,
 			 * We don't really have DMA, so we need
 			 * We don't really have DMA, so we need
 			 * to copy from our platform driver buffer
 			 * to copy from our platform driver buffer
 			 */
 			 */
-			uint8_t *dest = (uint8_t *)sg_virt(data->sg);
-			memcpy(dest, host->virt_base, data->sg->length);
+			sg_copy_to_buffer(data->sg, 1, host->virt_base,
+					data->sg->length);
 		}
 		}
 		host->data->bytes_xfered += data->sg->length;
 		host->data->bytes_xfered += data->sg->length;
 		dma_unmap_sg(mmc_dev(host->mmc), data->sg, host->sg_len,
 		dma_unmap_sg(mmc_dev(host->mmc), data->sg, host->sg_len,
@@ -393,8 +393,8 @@ static void goldfish_mmc_prepare_data(struct goldfish_mmc_host *host,
 		 * We don't really have DMA, so we need to copy to our
 		 * We don't really have DMA, so we need to copy to our
 		 * platform driver buffer
 		 * platform driver buffer
 		 */
 		 */
-		const uint8_t *src = (uint8_t *)sg_virt(data->sg);
-		memcpy(host->virt_base, src, data->sg->length);
+		sg_copy_from_buffer(data->sg, 1, host->virt_base,
+				data->sg->length);
 	}
 	}
 }
 }