]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 */ |