| #ifndef _ASM_ATARI_ACSI_H | 
 | #define _ASM_ATARI_ACSI_H | 
 |  | 
 | /* Functions exported by drivers/block/acsi.c */ | 
 |  | 
 | void acsi_delay_start( void ); | 
 | void acsi_delay_end( long usec ); | 
 | int acsi_wait_for_IRQ( unsigned timeout ); | 
 | int acsi_wait_for_noIRQ( unsigned timeout ); | 
 | int acsicmd_nodma( const char *cmd, int enable); | 
 | int acsi_getstatus( void ); | 
 | int acsi_extstatus( char *buffer, int cnt ); | 
 | void acsi_end_extstatus( void ); | 
 | int acsi_extcmd( unsigned char *buffer, int cnt ); | 
 |  | 
 | /* The ACSI buffer is guarantueed to reside in ST-RAM and may be used by other | 
 |  * drivers that work on the ACSI bus, too. It's data are valid only as long as | 
 |  * the ST-DMA is locked. */ | 
 | extern char *acsi_buffer; | 
 | extern unsigned long phys_acsi_buffer; | 
 |  | 
 | /* Utility macros */ | 
 |  | 
 | /* Send one data byte over the bus and set mode for next operation | 
 |  * with one move.l -- Atari recommends this... | 
 |  */ | 
 |  | 
 | #define DMA_LONG_WRITE(data,mode)							\ | 
 |     do {													\ | 
 | 		*((unsigned long *)&dma_wd.fdc_acces_seccount) =	\ | 
 | 			((data)<<16) | (mode);							\ | 
 | 	} while(0) | 
 |  | 
 | #define ENABLE_IRQ()	atari_turnon_irq( IRQ_MFP_ACSI ) | 
 | #define DISABLE_IRQ()	atari_turnoff_irq( IRQ_MFP_ACSI ) | 
 |  | 
 | #endif /* _ASM_ATARI_ACSI_H */ |