Mark our interrupt shareable and don't insist on DMA. This gets us closer
to working with a secondary floppy controller on a PC.
This commit is contained in:
parent
c555963fd1
commit
6fba12f206
@ -770,7 +770,7 @@ fdc_alloc_resources(struct fdc_data *fdc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
fdc->res_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ,
|
fdc->res_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ,
|
||||||
&fdc->rid_irq, RF_ACTIVE);
|
&fdc->rid_irq, RF_ACTIVE | RF_SHAREABLE);
|
||||||
if (fdc->res_irq == 0) {
|
if (fdc->res_irq == 0) {
|
||||||
device_printf(dev, "cannot reserve interrupt line\n");
|
device_printf(dev, "cannot reserve interrupt line\n");
|
||||||
return ENXIO;
|
return ENXIO;
|
||||||
@ -782,9 +782,9 @@ fdc_alloc_resources(struct fdc_data *fdc)
|
|||||||
RF_ACTIVE);
|
RF_ACTIVE);
|
||||||
if (fdc->res_drq == 0) {
|
if (fdc->res_drq == 0) {
|
||||||
device_printf(dev, "cannot reserve DMA request line\n");
|
device_printf(dev, "cannot reserve DMA request line\n");
|
||||||
return ENXIO;
|
fdc->flags |= FDC_NODMA;
|
||||||
}
|
} else
|
||||||
fdc->dmachan = rman_get_start(fdc->res_drq);
|
fdc->dmachan = rman_get_start(fdc->res_drq);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user