hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/m68k/include/asm/floppy.h
....@@ -63,21 +63,21 @@
6363 }
6464
6565
66
-static __inline__ unsigned char fd_inb(int port)
66
+static __inline__ unsigned char fd_inb(int base, int reg)
6767 {
6868 if(MACH_IS_Q40)
69
- return inb_p(port);
69
+ return inb_p(base + reg);
7070 else if(MACH_IS_SUN3X)
71
- return sun3x_82072_fd_inb(port);
71
+ return sun3x_82072_fd_inb(base + reg);
7272 return 0;
7373 }
7474
75
-static __inline__ void fd_outb(unsigned char value, int port)
75
+static __inline__ void fd_outb(unsigned char value, int base, int reg)
7676 {
7777 if(MACH_IS_Q40)
78
- outb_p(value, port);
78
+ outb_p(value, base + reg);
7979 else if(MACH_IS_SUN3X)
80
- sun3x_82072_fd_outb(value, port);
80
+ sun3x_82072_fd_outb(value, base + reg);
8181 }
8282
8383
....@@ -211,26 +211,27 @@
211211 st=1;
212212 for(lcount=virtual_dma_count, lptr=virtual_dma_addr;
213213 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))
216217 break;
217218 if(virtual_dma_mode)
218
- outb_p(*lptr, virtual_dma_port+5);
219
+ outb_p(*lptr, virtual_dma_port + FD_DATA);
219220 else
220
- *lptr = inb_p(virtual_dma_port+5);
221
+ *lptr = inb_p(virtual_dma_port + FD_DATA);
221222 }
222223
223224 virtual_dma_count = lcount;
224225 virtual_dma_addr = lptr;
225
- st = inb(virtual_dma_port+4);
226
+ st = inb(virtual_dma_port + FD_STATUS);
226227 }
227228
228229 #ifdef TRACE_FLPY_INT
229230 calls++;
230231 #endif
231
- if(st == 0x20)
232
+ if (st == STATUS_DMA)
232233 return IRQ_HANDLED;
233
- if(!(st & 0x20)) {
234
+ if (!(st & STATUS_DMA)) {
234235 virtual_dma_residue += virtual_dma_count;
235236 virtual_dma_count=0;
236237 #ifdef TRACE_FLPY_INT