Subject: Re: "bus-master DMA support present, but unused (couldn't map registers)"
To: None <port-i386@netbsd.org>
From: Henry Nelson <henry@irm.nara.kindai.ac.jp>
List: port-i386
Date: 07/19/2001 11:45:51
> Here is a patch against 1.5.1's sys/dev/pci/pciide.c ...
[...]
> +	if (PCI_REVISION(pa->pa_class) <= 0x12) {
> +		printf(" but disabled due to chip rev. <= 0x12");
> +		sc->sc_dma_ok = 0;
> +		sc->sc_wdcdev.cap = 0;
> +	} else {
> +		sc->sc_wdcdev.cap = WDC_CAPABILITY_DATA32;
> +		pciide_mapreg_dma(sc, pa);
> +	}

Hmmm.  Are you saying here that the chipset is a basketcase?  IBM Japan
in their 1996 revision of the BIOS (original was 1995) seems to think
they have addressed the issue.  Windows95 with updated drivers appears to
be using bus-master DMA (32 bit?) on an exact twin (PC750, Type 6683-JOP)
of the machine I have installed NetBSD1.5.1 on.

I haven't given up yet, and may be doing a bit of tweaking myself.  First,
could I get some advice as to whether the following kernel options might
be of help in this situation (or are these only for pci cards):
# Configure PCI using BIOS information
#options        PCIBIOS                 # PCI BIOS support
#options        PCIBIOSVERBOSE          # PCI BIOS verbose info
#options        PCIBIOS_ADDR_FIXUP      # fixup PCI I/O addresses
#options        PCIBIOS_BUS_FIXUP       # fixup PCI bus numbering
#options        PCIBIOS_INTR_FIXUP      # fixup PCI interrupt routing
#options        PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
#options        PCIBIOS_INTR_GUESS      # see pcibios(4)
#options        PCIINTR_DEBUG           # super-verbose PCI interrupt fixup

TIA

henry nelson