#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 */