| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _ASM_ATARI_ACSI_H | 
 | 2 | #define _ASM_ATARI_ACSI_H | 
 | 3 |  | 
 | 4 | /* Functions exported by drivers/block/acsi.c */ | 
 | 5 |  | 
 | 6 | void acsi_delay_start( void ); | 
 | 7 | void acsi_delay_end( long usec ); | 
 | 8 | int acsi_wait_for_IRQ( unsigned timeout ); | 
 | 9 | int acsi_wait_for_noIRQ( unsigned timeout ); | 
 | 10 | int acsicmd_nodma( const char *cmd, int enable); | 
 | 11 | int acsi_getstatus( void ); | 
 | 12 | int acsi_extstatus( char *buffer, int cnt ); | 
 | 13 | void acsi_end_extstatus( void ); | 
 | 14 | int acsi_extcmd( unsigned char *buffer, int cnt ); | 
 | 15 |  | 
 | 16 | /* The ACSI buffer is guarantueed to reside in ST-RAM and may be used by other | 
 | 17 |  * drivers that work on the ACSI bus, too. It's data are valid only as long as | 
 | 18 |  * the ST-DMA is locked. */ | 
 | 19 | extern char *acsi_buffer; | 
 | 20 | extern unsigned long phys_acsi_buffer; | 
 | 21 |  | 
 | 22 | /* Utility macros */ | 
 | 23 |  | 
 | 24 | /* Send one data byte over the bus and set mode for next operation | 
 | 25 |  * with one move.l -- Atari recommends this... | 
 | 26 |  */ | 
 | 27 |  | 
 | 28 | #define DMA_LONG_WRITE(data,mode)							\ | 
 | 29 |     do {													\ | 
 | 30 | 		*((unsigned long *)&dma_wd.fdc_acces_seccount) =	\ | 
 | 31 | 			((data)<<16) | (mode);							\ | 
 | 32 | 	} while(0) | 
 | 33 |  | 
 | 34 | #define ENABLE_IRQ()	atari_turnon_irq( IRQ_MFP_ACSI ) | 
 | 35 | #define DISABLE_IRQ()	atari_turnoff_irq( IRQ_MFP_ACSI ) | 
 | 36 |  | 
 | 37 | #endif /* _ASM_ATARI_ACSI_H */ |