aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/sysdev/bestcomm/ata.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2008-12-21 02:54:28 -0700
committerGrant Likely <grant.likely@secretlab.ca>2008-12-21 02:54:28 -0700
commitaaab5e83c2c25d94f7409bdc947a5cc383514e15 (patch)
tree929571b5bf2728ac8494b56d0c4965b2aaa47da8 /arch/powerpc/sysdev/bestcomm/ata.c
parente4efe3c271c5498ffe7e167eaff01514be2b9a77 (diff)
powerpc/mpc5200: Disable bestcomm prefetching when ATA DMA enabled
When ATA DMA is enabled, bestcomm prefetching does not work. This patch adds a function to disable bestcomm prefetch when the ATA Bestcomm task is initialized. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'arch/powerpc/sysdev/bestcomm/ata.c')
-rw-r--r--arch/powerpc/sysdev/bestcomm/ata.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/bestcomm/ata.c b/arch/powerpc/sysdev/bestcomm/ata.c
index 1f5258fb38c..901c9f91e5d 100644
--- a/arch/powerpc/sysdev/bestcomm/ata.c
+++ b/arch/powerpc/sysdev/bestcomm/ata.c
@@ -61,6 +61,9 @@ bcom_ata_init(int queue_len, int maxbufsize)
struct bcom_ata_var *var;
struct bcom_ata_inc *inc;
+ /* Prefetch breaks ATA DMA. Turn it off for ATA DMA */
+ bcom_disable_prefetch();
+
tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_ata_bd), 0);
if (!tsk)
return NULL;