Date: Wed, 4 Jun 2003 00:29:07 -0700 From: "David P. Reese Jr." <daver@gomerbud.com> To: Nicolas Souchu <nsouch@free.fr> Cc: current@freebsd.org Subject: Re: viapropm doesnt like sys/dev/pci.c rev 1.214 Message-ID: <20030604072907.GA10742@tombstone.localnet.gomerbud.com> In-Reply-To: <20030604072931.E33869@armor.free.fr> References: <20030602222009.A16160@armor.free.fr> <XFMail.20030603015436.conrads@cox.net> <20030603175430.GA4039@tombstone.localnet.gomerbud.com> <20030604072931.E33869@armor.free.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 04, 2003 at 07:29:31AM +0000, Nicolas Souchu wrote: > On Tue, Jun 03, 2003 at 10:54:30AM -0700, David P. Reese Jr. wrote: > > [...] > > : The datasheet states that the command bits are RW but "fixed at 0". > > > > A snip of code from sys/dev/pci/pci.c:pci_enable_io_method(): > > > > pci_set_command_bit(dev, child, bit); > > command = PCI_READ_CONFIG(dev, child, PCIR_COMMAND, 2); > > if (command & bit) > > return (0); > > device_printf(child, "failed to enable %s mapping!\n", error); > > return (ENXIO); > > > > Because the viapropm's command register bits will always read as zero, > > this code will always fail when trying to enable port mapping. > > > > Whatever problems viapropm may have, it is the new pci code that prevents it > > from attaching. It is not the fault of anything in sys/pci/viapm.c. > > And I personally don't know how to fix it except by an option with an > ifdef to workaround it. How about adding another flag to bus_alloc_resource() which would signal that we are not to check the value of the command register after calling pci_set_command_bit(). RF_WILLFAIL? After pci_enable_io_method() gets swallowed into pci_alloc_resource(), this would be pretty easy because the flag would be in scope when we check the value of the command register. I can do so this weekend if anyone thinks this is worthwhile. -- David P. Reese Jr. daver@gomerbud.com -------------------------------------------------------------------------- It can be argued that returning a NULL pointer when asked to allocate zero bytes is a silly response to a silly question. -- FreeBSD manual page for malloc(3)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030604072907.GA10742>