Update of /cvsroot/gc-linux/linux/drivers/block
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29610/linux/drivers/block
Modified Files:
gc_aram.c
Log Message:
thx. to costis, the aram driver is now fixed up and should work stabile, good luck guys
Index: gc_aram.c
===================================================================
RCS file: /cvsroot/gc-linux/linux/drivers/block/gc_aram.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- gc_aram.c 4 Mar 2004 09:58:20 -0000 1.5
+++ gc_aram.c 5 Mar 2004 00:50:16 -0000 1.6
@@ -42,7 +42,7 @@
unsigned char *RAMDISKBuffer;
#define ARAM_BUFFERSIZE 10*1024
#else
- #define ARAM_BUFFERSIZE 14*1024*1024
+ #define ARAM_BUFFERSIZE 15*1024*1024
//#define ARAM_BUFFERSIZE 10*1024
#define ARAM_SOUNDMEMORYOFFSET 1024*1024
#endif
@@ -51,9 +51,6 @@
-#define ARAM_CHUNKMASK 0xff
-
-
static int current_device = -1;
static spinlock_t aram_lock = SPIN_LOCK_UNLOCKED;
extern void flush_cache(void *start, unsigned int len);
@@ -67,7 +64,7 @@
#define AR_DMA_ARADDR_L *(unsigned short*)0xCC005026
#define AR_DMA_CNT_H *(unsigned short*)0xCC005028
#define AR_DMA_CNT_L *(unsigned short*)0xCC00502A
-#define AI_DSP_STATUS *(unsigned short*)0xCC00500A
+#define AI_DSP_STATUS *(volatile unsigned short*)0xCC00500A
#define ARAM_READ 1
#define ARAM_WRITE 0
@@ -87,10 +84,7 @@
AR_DMA_CNT_L = length & 0xFFFF;
// Without the Break, the While loop loops endless
- int counter=0;
while (AI_DSP_STATUS & 0x200) {
- counter++;
- if (counter>0xfffff) break;
};
}
|