.. | .. |
---|
63 | 63 | } |
---|
64 | 64 | |
---|
65 | 65 | |
---|
66 | | -static __inline__ unsigned char fd_inb(int port) |
---|
| 66 | +static __inline__ unsigned char fd_inb(int base, int reg) |
---|
67 | 67 | { |
---|
68 | 68 | if(MACH_IS_Q40) |
---|
69 | | - return inb_p(port); |
---|
| 69 | + return inb_p(base + reg); |
---|
70 | 70 | else if(MACH_IS_SUN3X) |
---|
71 | | - return sun3x_82072_fd_inb(port); |
---|
| 71 | + return sun3x_82072_fd_inb(base + reg); |
---|
72 | 72 | return 0; |
---|
73 | 73 | } |
---|
74 | 74 | |
---|
75 | | -static __inline__ void fd_outb(unsigned char value, int port) |
---|
| 75 | +static __inline__ void fd_outb(unsigned char value, int base, int reg) |
---|
76 | 76 | { |
---|
77 | 77 | if(MACH_IS_Q40) |
---|
78 | | - outb_p(value, port); |
---|
| 78 | + outb_p(value, base + reg); |
---|
79 | 79 | else if(MACH_IS_SUN3X) |
---|
80 | | - sun3x_82072_fd_outb(value, port); |
---|
| 80 | + sun3x_82072_fd_outb(value, base + reg); |
---|
81 | 81 | } |
---|
82 | 82 | |
---|
83 | 83 | |
---|
.. | .. |
---|
211 | 211 | st=1; |
---|
212 | 212 | for(lcount=virtual_dma_count, lptr=virtual_dma_addr; |
---|
213 | 213 | lcount; lcount--, lptr++) { |
---|
214 | | - st=inb(virtual_dma_port+4) & 0xa0 ; |
---|
215 | | - if(st != 0xa0) |
---|
| 214 | + st = inb(virtual_dma_port + FD_STATUS); |
---|
| 215 | + st &= STATUS_DMA | STATUS_READY; |
---|
| 216 | + if (st != (STATUS_DMA | STATUS_READY)) |
---|
216 | 217 | break; |
---|
217 | 218 | if(virtual_dma_mode) |
---|
218 | | - outb_p(*lptr, virtual_dma_port+5); |
---|
| 219 | + outb_p(*lptr, virtual_dma_port + FD_DATA); |
---|
219 | 220 | else |
---|
220 | | - *lptr = inb_p(virtual_dma_port+5); |
---|
| 221 | + *lptr = inb_p(virtual_dma_port + FD_DATA); |
---|
221 | 222 | } |
---|
222 | 223 | |
---|
223 | 224 | virtual_dma_count = lcount; |
---|
224 | 225 | virtual_dma_addr = lptr; |
---|
225 | | - st = inb(virtual_dma_port+4); |
---|
| 226 | + st = inb(virtual_dma_port + FD_STATUS); |
---|
226 | 227 | } |
---|
227 | 228 | |
---|
228 | 229 | #ifdef TRACE_FLPY_INT |
---|
229 | 230 | calls++; |
---|
230 | 231 | #endif |
---|
231 | | - if(st == 0x20) |
---|
| 232 | + if (st == STATUS_DMA) |
---|
232 | 233 | return IRQ_HANDLED; |
---|
233 | | - if(!(st & 0x20)) { |
---|
| 234 | + if (!(st & STATUS_DMA)) { |
---|
234 | 235 | virtual_dma_residue += virtual_dma_count; |
---|
235 | 236 | virtual_dma_count=0; |
---|
236 | 237 | #ifdef TRACE_FLPY_INT |
---|