From: "Daniel Glöckner" <daniel-gl@gmx.net>
To: Jean Delvare <jdelvare@suse.de>
Cc: video4linux-list@redhat.com, v4l-dvb-maintainer@linuxtv.org
Subject: Re: bttv driver questions
Date: Sat, 30 Aug 2008 17:12:33 +0200 [thread overview]
Message-ID: <20080830151233.GA221@daniel.bse> (raw)
In-Reply-To: <200808301201.47561.jdelvare@suse.de>
On Sat, Aug 30, 2008 at 12:01:47PM +0200, Jean Delvare wrote:
> My assumption that there was a
> VBI interrupt was wrong, probably because my video source is a VCR
> and it doesn't send any information during VBI?
When there is an application requesting VBI capture, there will be a
VBI interrupt, regardless of the content in those lines.
> > There is only one program with jumps that are patched at runtime to
> > point to the program fragments for capture.
>
> And this all happens magically inside the BT878 without the bttv
> driver having to care? Wow! Tricky.
No, this is how bttv does it.
Other implementations may use a single loop without jumps.
> In my case there's a PCI Express-to-PCI bridge on the path, so I
> presume that this acts as the target. I suppose that the board was
> designed that way precisely to make sure that no extra latency would
> happen on the PCI bus due to the host being slow/busy. If the bridge
> has large enough buffers, it should be easy for it to send the data
> down to the host bridge, given that PCI Express x1 is much faster
> than PCI.
It's not that much faster. Of the 250MB/s a lot is lost to overhead,
especially when there are mostly short packets. And there may be other
bottlenecks before the data reaches the RAM.
> > I think for competing Bt878s the smallest trigger point in combination
> > with a high latency counter should perform best.
>
> I don't quite follow you here. Care to explain how you reached this
> conclusion?
A smaller trigger point will make the PCI bus less idle but the average
FIFO fill will be lower.
Yesterday I wrote a small program that simulates a number of PCI masters
with constant data rate filling their FIFOs. There is a simple round
robin arbiter and neither the target nor the master needs wait cycles.
For 5 masters with 24.2MB/s each (peak data rate of YUY2 640x480 NTSC),
a latency counter of 254, and a FIFO trigger of 4, the bus is never idle.
The maximum FIFO fill is 16 DWords. With a latency counter below 20,
the FIFO fill rises infinitely.
With a FIFO trigger of 32 and a latency counter of 254, the maximum fill
is 33 DWords and the bus is 4.5% idle.
Those 17 less FIFO entries in the 4-entry-trigger case can buffer for 93
PCI cycles. The 4.5% idle cycles in the 32-entry-trigger case are wasted
if there is no other master on the bus, as is the case when the Bt878s are
behind a bridge.
In reality there are always idle phases during syncs and additional
traffic will be generated to fetch RISC instructions and to access
registers.
Daniel
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list
next prev parent reply other threads:[~2008-08-30 15:13 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200808251445.22005.jdelvare@suse.de>
2008-08-26 0:40 ` [v4l-dvb-maintainer] bttv driver questions Andy Walls
2008-08-26 23:29 ` Daniel Glöckner
2008-08-27 2:20 ` Trent Piepho
2008-08-27 2:59 ` Robert William Fuller
2008-08-28 19:43 ` Trent Piepho
2008-08-27 3:45 ` Andy Walls
2008-08-28 19:48 ` Trent Piepho
[not found] ` <200808281611.38241.jdelvare@suse.de>
2008-08-28 20:20 ` Daniel Glöckner
2008-08-28 21:42 ` hermann pitton
[not found] ` <200808301201.47561.jdelvare@suse.de>
2008-08-30 15:12 ` Daniel Glöckner [this message]
2008-08-31 16:37 ` Andy Walls
[not found] ` <200809011144.54233.jdelvare@suse.de>
2008-09-01 12:35 ` Daniel Glöckner
[not found] ` <200809012126.06532.jdelvare@suse.de>
2008-09-01 22:54 ` Daniel Glöckner
[not found] ` <200809021109.31007.jdelvare@suse.de>
[not found] ` <200809021305.12318.jdelvare@suse.de>
2008-09-03 22:29 ` Daniel Glöckner
[not found] ` <200809051436.18549.jdelvare@suse.de>
2008-09-05 15:51 ` Daniel Glöckner
2008-09-05 19:16 ` [v4l-dvb-maintainer] " Trent Piepho
[not found] ` <200808281658.28151.jdelvare@suse.de>
2008-08-29 12:09 ` Andy Walls
2008-08-29 22:23 ` Trent Piepho
2008-08-30 0:10 ` Daniel Glöckner
[not found] ` <200808300954.19361.jdelvare@suse.de>
2008-08-30 16:44 ` Daniel Glöckner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080830151233.GA221@daniel.bse \
--to=daniel-gl@gmx.net \
--cc=jdelvare@suse.de \
--cc=v4l-dvb-maintainer@linuxtv.org \
--cc=video4linux-list@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.