summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Bukat <marcin.bukat@gmail.com>2013-02-12 08:48:43 +0100
committerMarcin Bukat <marcin.bukat@gmail.com>2013-02-12 08:48:43 +0100
commitc66a66728c855456a465a57504344038b3224dd9 (patch)
tree1580956414e049970c2455aefaa806356d490607
parent6c5bc31ff799da8cd93c6896d302bd9cf6299e7d (diff)
downloadrockbox-c66a66728c855456a465a57504344038b3224dd9.zip
rockbox-c66a66728c855456a465a57504344038b3224dd9.tar.gz
rockbox-c66a66728c855456a465a57504344038b3224dd9.tar.bz2
rockbox-c66a66728c855456a465a57504344038b3224dd9.tar.xz
rk27xx: do not disable irq in commit_discard_dcache_range()
commit_discard_dcache_range() is used in sd, lcd and pcm drivers to handle transfers form/to data buffers so this should not introduce any problems. It is reported to fix pop noise observed on some hifimans. We apparently don't fully understand cache handling on this platform. Change-Id: I436d291509f91d16a13d10965a28171fb27574ab
-rw-r--r--firmware/target/arm/rk27xx/system-rk27xx.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/firmware/target/arm/rk27xx/system-rk27xx.c b/firmware/target/arm/rk27xx/system-rk27xx.c
index 712c7d6..9f089e8 100644
--- a/firmware/target/arm/rk27xx/system-rk27xx.c
+++ b/firmware/target/arm/rk27xx/system-rk27xx.c
@@ -222,8 +222,6 @@ void commit_discard_dcache_range (const void *base, unsigned int size)
uint32_t end_opcode = (uint32_t)((uintptr_t)base + size) | 0x01;
uint32_t opcode = (uint32_t)((uintptr_t)base & 0xffffffe0) | 0x01;
- int old_irq = disable_irq_save();
-
while (opcode <= end_opcode)
{
while (CACHEOP & 0x03);
@@ -231,8 +229,6 @@ void commit_discard_dcache_range (const void *base, unsigned int size)
CACHEOP = opcode;
opcode += 32;
}
-
- restore_irq(old_irq);
}
#ifdef HAVE_ADJUSTABLE_CPU_FREQ