Thread (3 messages) 3 messages, 1 author, 2004-08-01

Re: [BUG] OPTi 621, chipset revision 18, hangs with enabled DMA

From: Ognyan Kulev <hidden>
Date: 2004-08-01 05:50:18

Ognyan Kulev wrote:
Alexander Atanasov replied to me privately and said it seems that 
OPTi621 doesn't support DMA.  But after searching in Google, it looks 
that there is some OPTi621 that supports DMA, although not 100% confirmed:
I've found the following code in NetBSD's src/sys/dev/pci/optiide.c:

	aprint_normal("%s: bus-master DMA support present",
	    sc->sc_wdcdev.sc_dev.dv_xname);

	/*
	 * XXXSCW:
	 * There seem to be a couple of buggy revisions/implementations
	 * of the OPTi pciide chipset. This kludge seems to fix one of
	 * the reported problems (PR/11644) but still fails for the
	 * other (PR/13151), although the latter may be due to other
	 * issues too...
	 */
	if (PCI_REVISION(pa->pa_class) <= 0x12) {
		aprint_normal(" but disabled due to chip rev. <= 0x12");
		sc->sc_dma_ok = 0;
	} else
		pciide_mapreg_dma(sc, pa);

The relevant PRs are:

http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=11644
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=13151

Notice that revision of my OPTi is 18 (0x12, which is <= 0x12).  As 
scw@netbsd says in PR/13151, he developed the driver on revision 0x30, 
so I guess this "revision <= 0x12" check is the best we've got for now.

FreeBSD doesn't have anything special for this IDE: 
http://www.freebsd.org/releases/5.2.1R/hardware-i386.html#AEN65

Regards,
ogi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help