Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Jan 2002 13:31:18 -0700 (MST)
From:      "M. Warner Losh" <imp@village.org>
To:        root@nihil.plaut.de
Cc:        current@FreeBSD.ORG, winter@jurai.net
Subject:   Re: Why does bus_alloc_resource fail for sound and PCIC?
Message-ID:  <20020106.133118.118973030.imp@village.org>
In-Reply-To: <20020105232557.S706-100000@nihil>
References:  <20020105232557.S706-100000@nihil>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020105232557.S706-100000@nihil>
            Michael Reifenberger <root@nihil.plaut.de> writes:
: But why?
: Where is PCI_ENABLE_IO_MODES different from:
: 
:     pci_enable_busmaster(dev);
:     pci_enable_io(dev, SYS_RES_IOPORT);
:     pci_enable_io(dev, SYS_RES_MEMORY);
: 
: or
: 
:     data = pci_read_config(dev, PCIR_COMMAND, 2);
:     data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN);
:     pci_write_config(dev, PCIR_COMMAND, data, 2);
: 
: which allready existed in snd_ich ?!?

I think it has to do with the caching of these values in the pci
layer.  The option turns them on and updates the values in the cache,
while the other options do not appear to do so.

: BTW: In the case of the PCIC I still get:
: pcib2: <PCI-PCI bridge> at device 30.0 on pci0
: pci2: <PCI bus> on pcib2
: pccbb0: <RF5C478 PCI-CardBus Bridge> mem 0x50000000-0x50000fff irq 11 at device
: 0.0 on pci2
: pcib2: device pccbb0 requested unsupported memory range 0x50000000-0x50000fff
: (decoding 0xc0200000-0xcfffffff, 0xe8000000-0xefffffff)
: pccbb0: Could not map register memory
: device_probe_and_attach: pccbb0 attach returned 12
: pccbb0: <RF5C478 PCI-CardBus Bridge> mem 0x50100000-0x50100fff irq 11 at device
: 0.1 on pci2
: pcib2: device pccbb0 requested unsupported memory range 0x50100000-0x50100fff
: (decoding 0xc0200000-0xcfffffff, 0xe8000000-0xefffffff)
: pccbb0: Could not map register memory
: device_probe_and_attach: pccbb0 attach returned 12

Maybe you need some patches to the pci bridge code to map the range
requested, or to just allow it (since it just works anyway).  There's
another kludge option: PCI_ALLOW_UNSUPPORTED_IO_RANGE.

Warner

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020106.133118.118973030.imp>