Date: Sat, 29 Dec 2007 00:39:15 +0200 From: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com> To: "John Baldwin" <jhb@freebsd.org> Cc: freebsd-drivers@freebsd.org Subject: Re: PEX 8111 PCI-Express to PCI Bridge and FreeBSD Message-ID: <8103ad500712281439h513c288cke761a0ee45c42f18@mail.gmail.com> In-Reply-To: <200712281304.47922.jhb@freebsd.org> References: <8103ad500712270516l5db13e1ao388835d01fd19fc3@mail.gmail.com> <200712281304.47922.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 28, 2007 8:04 PM, John Baldwin <jhb@freebsd.org> wrote: > On Thursday 27 December 2007 08:16:59 am Konstantin Dimitrov wrote: > > hello All, > > > > as far as i understand the documentation of the PEX 8111 PCI > > Express-to-PCI Bridge, which is freely available here: > > > > http://www.plxtech.com/products/expresslane/pex8111.asp > > > > it is "Fully Transparent PCI Express to PCI Bridge", but under FreeBSD > > it doesn't seem to behave as transparent, i.e. it doesn't seem to work > > well with the standard FreeBSD PCI-PCI bridge driver, because it's not > > possible to read/write from/to the PCI IC behind PEX 8111. > > Can you provide more detail on what you mean by read/write? Can you not do > config space transactions to child devices of the bridge or can you not > access mapped BARs of child devices or what exactly? i can access the PCI configuration registers of the child device (Envy24HT) connected to the bridge (PEX 8111): # pciconf -lv ................. pcib5@pci0:4:0:0: class=0x060400 card=0x00000000 chip=0x811110b5 rev=0x21 hdr=0x01 vendor = 'PLX Technology Inc.' device = 'PEX 8111 PCI Express-to-PCI Bridge' class = bridge subclass = PCI-PCI none1@pci0:5:4:0: class=0x040100 card=0x41543138 chip=0x17241412 rev=0x01 hdr=0x00 vendor = 'VIA Technologies Inc (Was: IC Ensemble Inc)' device = 'VT1720/24 Envy24PT/HT PCI Multi-Channel Audio Controller' class = multimedia subclass = audio and i can read them: # pciconf -r pci0:5:4:0: 0:31 17241412 02100005 04010001 00002000 0000a001 0000a401 00000000 00000000 and write to them: # pciconf -w pci0:5:4:0 0x04 0x04 # pciconf -r pci0:5:4:0: 0:31 17241412 02100004 04010001 00002000 0000a001 0000a401 00000000 00000000 and all those values are the correct values for the child device, but i can't access mapped BARs of the child device, the code that i'm testing with is very simple: http://xkodi.svobodno.com/xkodi/xkodi.c http://xkodi.svobodno.com/xkodi/xkodi.h http://xkodi.svobodno.com/xkodi/Makefile and works if the child (Envy24HT) is connected directly (without the PEX 8111 bridge) to the PCI bus. > > -- > John Baldwin >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8103ad500712281439h513c288cke761a0ee45c42f18>