From: <ham...@us...> - 2004-03-05 01:04:01
|
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; }; } |