On Thu, 22 Dec 2022 at 11:47, Nathanial Sloss <nathanialsl...@yahoo.com.au> wrote: > > Hi, > > I've found while working with mac68k that devices that require polled io scsi > transfers would fail with sbc pdma (pseudo dma) would fail when reading and > writing to the respective device. > > I've found that virtual devices for rascsi and the scsi2sd drives would fail > using pdma. For virtual disks they would fail always when writing to the > device, reads were ok. > > For virtual ethernet devices they would fail for reading and writing. > > To address this I've inctrouduced a flag for sbc.4 PDMA_NO_WRITE which would > fallback consistently to polled io when writing to the deivice. > > Also to check the current scsi transfer control flag XS_CTL_POLL and if set it > would not use PDMA for that particular transfer. > > Please see: > > ftp.netbsd.org/pub/NetBSD/misc/nat/sbc_poll_fix.diff > > Any objections?
Might it be possible to detect this at runtime - potentially by trapping a timeout and downgrading to polled io? David