1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

[ar71xx] update to 2.6.26

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11968 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg
2008-07-28 09:48:29 +00:00
parent 0bad7a057a
commit 2e588d167a
15 changed files with 787 additions and 1 deletions

View File

@@ -0,0 +1,45 @@
--- a/include/asm-mips/hazards.h
+++ b/include/asm-mips/hazards.h
@@ -64,7 +64,7 @@
_ehb
)
ASMMACRO(back_to_back_c0_hazard,
- _ehb
+ _ssnop; _ssnop; _ssnop; _ehb
)
/*
* gcc has a tradition of misscompiling the previous construct using the
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
@@ -187,7 +187,7 @@
*/
if (c0_compare_int_pending()) {
write_c0_compare(read_c0_count());
- irq_disable_hazard();
+ back_to_back_c0_hazard();
if (c0_compare_int_pending())
return 0;
}
@@ -196,7 +196,7 @@
cnt = read_c0_count();
cnt += delta;
write_c0_compare(cnt);
- irq_disable_hazard();
+ back_to_back_c0_hazard();
if ((int)(read_c0_count() - cnt) < 0)
break;
/* increase delta if the timer was already expired */
@@ -205,11 +205,12 @@
while ((int)(read_c0_count() - cnt) <= 0)
; /* Wait for expiry */
+ back_to_back_c0_hazard();
if (!c0_compare_int_pending())
return 0;
write_c0_compare(read_c0_count());
- irq_disable_hazard();
+ back_to_back_c0_hazard();
if (c0_compare_int_pending())
return 0;