Re: bttv driver questions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Hi Daniel, hi Trent,

Le samedi 30 août 2008, Daniel Glöckner a écrit :
> On Fri, Aug 29, 2008 at 03:23:16PM -0700, Trent Piepho wrote:
> > You'd need to get a chipset with multiple busses and put the capture card
> > on its own bus.
> >
> > Or get something like viewcast's multi-bttv cards that use a PCI to PCI-E
> > bridge.
> The DVC-5215 card Jean mentioned in his first post is a PCIe card.

Correct. But I have always wondered if and how this had to be taken
into account as far as bandwidth and latency computations are
concerned. I am no PCI expert and this is all relatively new to me,
so adding PCI bridges and PCI Express into the mix isn't easy.

My assumption was that the capture card itself was using PCI Express
x1 (250 MB/s) to talk to the host, while each of the 8 BT878 chips
was using PCI (133 MB/s) to talk to the capture card bridge. For me,
this meant that all the 8 BT878 chips where on the same PCI bus
(internal to the capture card) so the constraints that applied were
the PCI ones and not the PCI Express x1 ones. Is this correct?

> The bridge visible on the card must be a TI XIO2000A with external
> PCI arbiter. It allows to tweak some QoS parameters for PCIe traffic
> that might be helpful.

I can confirm that. lspci shows the following device:
PCI bridge: Texas Instruments XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge (rev 02)

But I'm not too sure how to take this into account in my
computations. As written above, my feeling is that the main
bottleneck is the "internal" PCI bus on the capture board. The PCI
Express x1 bandwidth being higher than those of PCI, pushing the data
down to the host once it has reached the bridge shouldn't be an issue,
as there's still lot of bandwidth available for the other devices
(250 - 133 = 117 MB/s).

But I have to admit that I'm not really sure how the different PCI
Express slots relate to each other. Does each slot have its own bus
and thus bandwidth? Or is the same PCI Express bus shared by all
slots as is usually the case for PCI? And what about the motherboards
which have both PCI and PCI Express slots/on-board devices?

I see no reference to the XIO2000 in the kernel source tree. If I am
supposed to tweak QoS parameters, how would I do that? 

> Btw., for cards with PCI-PCI bridge the latency counter of the bridge
> on the main bus should be set to a high value to give it an advantage
> to flush its buffers.

According to "lspci -vv" the latency timer of the bridge is set to 0.
As far as I remember, all PCI-PCI bridges I've ever seen always had
their latency timer set to 0.

Jean Delvare
Suse L3

v4l-dvb-maintainer mailing list

[Linux Media]     [Older V4L]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [SSH]     [Linux USB]

Add to Google Powered by Linux

Google PageRank Checking tool