Date: Sun, 13 Mar 2011 17:12:59 +0100 From: Henrik Brix Andersen <brix@FreeBSD.org> To: freebsd-drivers@freebsd.org Subject: Re: Allocating resources to isab children Message-ID: <A5AEBC94-8E50-49E0-A72E-9B9E8A73E7F6@FreeBSD.org> In-Reply-To: <0A707516-C7D1-4441-B17B-1273B6C256B0@FreeBSD.org> References: <3550EA55-ADDE-40AC-9C22-1FAC441A0BC8@freebsd.org> <0A707516-C7D1-4441-B17B-1273B6C256B0@FreeBSD.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On Mar 12, 2011, at 20:47, Henrik Brix Andersen wrote: > On Mar 12, 2011, at 19:49, Henrik Brix Andersen wrote: >> I am writing a driver for the GPIO part of the AMD CS5536 south bridge (isab0), but have encountered a problem with resource allocation. >> The GPIO address (0x6100-0x61FF) is available through PCI BAR 1 as seen in the output from pciconf(8): >> >> isab0@pci0:0:15:0: class=0x060100 card=0x20901022 chip=0x20901022 rev=0x03 hdr=0x00 >> vendor = 'Advanced Micro Devices (AMD)' >> device = 'CS5536 [Geode companion] ISA' >> class = bridge >> subclass = PCI-ISA >> bar [10] = type I/O Port, range 32, base 0x6000, size 8, enabled >> bar [14] = type I/O Port, range 32, base 0x6100, size 256, enabled >> bar [18] = type I/O Port, range 32, base 0x6200, size 64, enabled >> bar [20] = type I/O Port, range 32, base 0x9d00, size 128, enabled >> bar [24] = type I/O Port, range 32, base 0x9c00, size 64, enabled >> >> However, when I try to allocate the I/O port resource in the minimalistic example below, I always get 0x1100-0x1100, not 0x6100-0x61FF? >> >> I have modelled the code after recommendation from John Baldwin in http://lists.freebsd.org/pipermail/freebsd-acpi/2007-August/003964.html but I must be doing something wrong... > > Ahh, I just re-read Johns recommendation and realized that isab does not support proxying resource allocations (yet). I will try adding that functionality and report back. I have a patch ready for allowing the PCI-ISA bridge to proxy SYS_RES_MEMORY and SYS_RES_IOPORT resource allocations from direct children to the parent PCI bus. The patch is available from here: http://people.freebsd.org/~brix/src-patches/isa_pci.c.diff Comments are more than welcome. I am still trying to figure out how to allow children to allocate and setup interrupts through isab; any pointers to what needs to be done in that regard are also very welcome since I'm not having much luck with it so far... Regards, Brix -- Henrik Brix Andersen <brix@FreeBSD.org> [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iEUEARECAAYFAk187QsACgkQv+Q4flTiePit6QCfUEqNuN7j7WaBUy/sto7F+m1e jqgAmOD1fyvOaSNZrOFaFY3qAzz5nd4= =Bfi8 -----END PGP SIGNATURE-----help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A5AEBC94-8E50-49E0-A72E-9B9E8A73E7F6>
