List Info

Thread: PEX 8111 PCI-Express to PCI Bridge and FreeBSD




PEX 8111 PCI-Express to PCI Bridge and FreeBSD
user name
2007-12-27 07:16:59
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.

i've tried PEX 8111 on vanilla WinXP (i.e. without any
updates), that
is 6-7 years old and thus made 3-4 years before even PEX
8111 existed
and indeed it is transparent and doesn't require special
drivers,
works with the standard WinXP PCI-PCI bridge driver pci.sys
and also
it is possible to read/write from/to the PCI IC behind the
PEX 8111,
then made the same test under latest Debian GNU/Linux and
again it
works as transparent bridge and it is possible to read/write
from/to
the PCI IC behind the PEX 8111, without any special driver
for the
bridge.

here is the real life situation, that i'm talking about:

i am in possession of S010-V PCI-E audio card:

http://www.digitalcowboy.jp/tokyostyle/products/s
010/index.html

actually, S010-V uses PEX 8111 bridge to place Envy24HT PCI
audio
controller on the PCI-E bus.

i'm testing with very simple code, that makes dump of the
Envy24HT EEPROM:

http://xkodi.
svobodno.com/xkodi/xkodi.c
http://xkodi.
svobodno.com/xkodi/xkodi.h
http://xkodi
.svobodno.com/xkodi/Makefile

that code works well and it is tested under FreeBSD with
more than 10
Envy24HT PCI cards, but it doesn't work under FreeBSD with
the S010-V
PCI-E card, the same code ported to Windows, as i mentioned
above,
works with S010-V PCI-E card and same apply to Linux.

so, my kind request is someone to help me to resolve the
issue.

i'm suspecting that something is wrong with the FreeBSD
PCI-PCI bridge
driver, because only under FreeBSD, PEX 8111 doesn't behave
as
transparent bridge, but maybe i'm wrong.

if someone want to look at the problem, i can give remote
access to
the machine with the S010-V PCI-E card.

thank you and best wishes,
konstantin
_______________________________________________
freebsd-driversfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drive
rs
To unsubscribe, send any mail to
"freebsd-drivers-unsubscribefreebsd.org"

Re: PEX 8111 PCI-Express to PCI Bridge and FreeBSD
country flaguser name
United States
2007-12-28 12:04:47
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?

-- 
John Baldwin
_______________________________________________
freebsd-driversfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drive
rs
To unsubscribe, send any mail to
"freebsd-drivers-unsubscribefreebsd.org"

Re: PEX 8111 PCI-Express to PCI Bridge and FreeBSD
country flaguser name
United States
2007-12-28 14:06:11
In message: <200712281304.47922.jhbfreebsd.org>
            John Baldwin <jhbfreebsd.org> writes:
: 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?

Yes.  I believe this may be the 'classic' problem that we've
seen
before: FreeBSD assumes that the BIOS assigned bridge
resources and
none are assigned.  It may also be as simple as bus
numbering.

Warner
_______________________________________________
freebsd-driversfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drive
rs
To unsubscribe, send any mail to
"freebsd-drivers-unsubscribefreebsd.org"

Re: PEX 8111 PCI-Express to PCI Bridge and FreeBSD
user name
2007-12-28 16:39:15
On Dec 28, 2007 8:04 PM, John Baldwin <jhbfreebsd.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
.................
pcib5pci0: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
none1pci0: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
>
_______________________________________________
freebsd-driversfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drive
rs
To unsubscribe, send any mail to
"freebsd-drivers-unsubscribefreebsd.org"

[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )