diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2008-12-21 12:54:28 +0300 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2008-12-21 12:54:28 +0300 |
commit | aaab5e83c2c25d94f7409bdc947a5cc383514e15 (patch) | |
tree | 929571b5bf2728ac8494b56d0c4965b2aaa47da8 /arch/powerpc/sysdev/bestcomm/bestcomm.c | |
parent | e4efe3c271c5498ffe7e167eaff01514be2b9a77 (diff) | |
download | linux-aaab5e83c2c25d94f7409bdc947a5cc383514e15.tar.xz |
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/bestcomm.c')
-rw-r--r-- | arch/powerpc/sysdev/bestcomm/bestcomm.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/powerpc/sysdev/bestcomm/bestcomm.c b/arch/powerpc/sysdev/bestcomm/bestcomm.c index 446c9ea85b30..378ebd9aac18 100644 --- a/arch/powerpc/sysdev/bestcomm/bestcomm.c +++ b/arch/powerpc/sysdev/bestcomm/bestcomm.c @@ -279,7 +279,6 @@ bcom_engine_init(void) int task; phys_addr_t tdt_pa, ctx_pa, var_pa, fdt_pa; unsigned int tdt_size, ctx_size, var_size, fdt_size; - u16 regval; /* Allocate & clear SRAM zones for FDT, TDTs, contexts and vars/incs */ tdt_size = BCOM_MAX_TASKS * sizeof(struct bcom_tdt); @@ -331,10 +330,8 @@ bcom_engine_init(void) out_8(&bcom_eng->regs->ipr[BCOM_INITIATOR_ALWAYS], BCOM_IPR_ALWAYS); /* Disable COMM Bus Prefetch on the original 5200; it's broken */ - if ((mfspr(SPRN_SVR) & MPC5200_SVR_MASK) == MPC5200_SVR) { - regval = in_be16(&bcom_eng->regs->PtdCntrl); - out_be16(&bcom_eng->regs->PtdCntrl, regval | 1); - } + if ((mfspr(SPRN_SVR) & MPC5200_SVR_MASK) == MPC5200_SVR) + bcom_disable_prefetch(); /* Init lock */ spin_lock_init(&bcom_eng->lock); |