r1695 - in trunk

dslinux_amadeus at dslinux.in-berlin.de dslinux_amadeus at dslinux.in-berlin.de
Tue Mar 20 23:02:29 CET 2007


Author: amadeus
Date: 2007-03-20 23:02:24 +0100 (Tue, 20 Mar 2007)
New Revision: 1695

Log:
DLDI improvements

Modified: trunk/linux-2.6.x/drivers/block/dldi_s.S
===================================================================
--- trunk/linux-2.6.x/drivers/block/dldi_s.S	2007-03-18 11:43:10 UTC (rev 1694)
+++ trunk/linux-2.6.x/drivers/block/dldi_s.S	2007-03-20 22:02:24 UTC (rev 1695)
@@ -86,6 +86,11 @@
 	ldr	r3, =NDS_IME		@ interrupt mask register
 	mov	ip, #0			@ 0 = disable
 	strh	ip, [r3]
+	mcr	p15, 0, ip, c7, c10, 4	@ drain write buffer for IME to take effect.
+	@ Disable Write Buffer for all except main RAM
+	@	      gGViWDMI
+	ldr	r0,=0b00000010
+	mcr	p15, 0, r0, c3, c0, 0
 	ldr	ip,=_param_dldi		@ ip = IO parameter block
 	str	sp,[ip]			@ store old stack pointer
 	str	lr,[ip,#4]		@ store old link register
@@ -98,6 +103,10 @@
 	ldr	ip,=_param_dldi		@ ip = IO parameter block
 	ldr	sp,[ip]			@ restore stack
 	ldr	lr,[ip,#4]		@ restore link register
+	@ Restore Write Buffer
+	@	      gGViWDMI
+	ldr	r0,=0b11111010
+	mcr	p15, 0, r0, c3, c0, 0
 	@ enable interrupts
 	ldr	r3, =NDS_IME		@ interrupt mask register
 	mov	ip, #1			@ 1 = enable
@@ -106,7 +115,7 @@
 
 	.pool
 	.align
-	.space	1024			@ allows for allocating 1 sector on stack
+	.space	4096	
 _stack_dldi:
 	.space	4			@ for safety
 _buf_dldi:

Modified: trunk/vendors/Nintendo/DLDI/config.linux-2.6.x
===================================================================
--- trunk/vendors/Nintendo/DLDI/config.linux-2.6.x	2007-03-18 11:43:10 UTC (rev 1694)
+++ trunk/vendors/Nintendo/DLDI/config.linux-2.6.x	2007-03-20 22:02:24 UTC (rev 1695)
@@ -86,7 +86,7 @@
 # CONFIG_ARCH_ESPD_4510B is not set
 # CONFIG_ARCH_S3C44B0 is not set
 # CONFIG_ARCH_P2001 is not set
-# CONFIG_SET_MEM_PARAM is not set
+CONFIG_SET_MEM_PARAM=y
 CONFIG_DRAM_BASE=0x02000000
 CONFIG_DRAM_SIZE=0x00400000
 CONFIG_FLASH_MEM_BASE=0x09000000




More information about the dslinux-commit mailing list