On Mon, Jan 02, 2012 at 04:35:39PM -0500, Loganaden Velvindron wrote: > Attaching any CDROM/DVDRIVE causes this error message > when mouting a disk. > > cd0(pciide0:0:1): timeout > type: atapi > c_bcount : 2048 > c_skip : 0 > > The machine then freezes and a hard reboot is necessary. > > This issue has been reported by 2 users in the past: > http://archives.neohapsis.com/archives/openbsd/2005-11/0782.html > `` > > > cd0(pciide0:0:0): timeout > > > type: atapi > > > c_bcount: 0 > > > c_skip: 0 > > > cd0(pciide0:0:0): timeout > > > type: atapi > > > c_bcount: 32 > > A workaround was to disable pciide: > UKC> disable pciide* > 59 pciide* disabled > UKC> quit > Continuing... > > Looking closely, these problems occur with this variant of the SiS 5513 > EIDE chipset: > pciide0 at pci0 dev 2 function 5 "SiS 5513 EIDE" rev 0x01: 5597/5598: DMA, > chann > el 0 wired to compatibility, channel 1 wired to compatibility > atapiscsi0 at pciide0 channel 0 drive 1 > scsibus0 at atapiscsi0: 2 targets > cd0 at scsibus0 targ 0 lun 0: <ATAPI, CD-ROM 52X, 172A> ATAPI 5/cdrom > removable > cd0(pciide0:0:1): using PIO mode 4, DMA mode 2 > > By disabling dma, the issue goes away. > > Looking at pciide.c shows that there are 2 variants of the 5597/5598: > The one with rev 0xd0 which support UDMA and the previous versions > with no support for UltraDMA. To be more precise UDMA exists but it's > buggy. > > It appears that rev 0x01 has a buggy DMA support. Falling back to PIO > works fine. The diff disables DMA silently but not enabling DMA capabilities > on rev 0x01 of 5597/5598.
Disabling DMA is quite a large hammer, it seems more likely the timings need to be adjusted or some config space io needs to happen. I can't see any revision specific errata in the FreeBSD/Linux code.
