Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: [PATCH] fix for stream corruption on budget / Nova-T cards
- To: <linux-dvb@linuxtv.org>
- Subject: [linux-dvb] Re: [PATCH] fix for stream corruption on budget / Nova-T cards
- From: Stefan Betermieux <Stefan.Betermieux@FernUni-Hagen.de>
- Date: Mon, 1 Sep 2003 11:15:04 +0200
- Content-description: clearsigned data
- Content-disposition: inline
- Content-transfer-encoding: quoted-printable
- Content-type: Text/Plain; charset="iso-8859-1"
- In-reply-to: <3F520439.1040701@jburgess.uklinux.net>
- References: <200308302028.57539.Stefan.Betermieux@FernUni-Hagen.de> <3F520439.1040701@jburgess.uklinux.net>
- Reply-to: Stefan.Betermieux@FernUni-Hagen.de
- Sender: linux-dvb-bounce@linuxtv.org
- User-agent: KMail/1.5.2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Am Sunday 31 August 2003 16:20 schrieb Jon Burgess:
> I see that you've recently written this patch on the subject:
>
> * stream. By changing this parameter, the PCI burst mode for DMA 3 can be
> * optimised. The 3 least significant bits of "budget_burst" equal bursts
> * of 1,2,4,8,16,32,64 and 128 Dwords. The fourth and fifth bit are assigned
> * to the FIFO threshold: 4,8,16 or 32 Dwords. The default is 0x1c: 16 DW
> * burst and 32 DW FIFO.
> ***************************************************************************
>*/ int budget_burst = 0x1c;
>
> I think what you've written is wrong, my interpretation of the datasheet
> is as follows:
> - bits 0,1 control the threshold.
> - bits 2,3,4 control the burst size.
> This makes the 0x1c == 0001 1100 is
> Threshold(00) == 4 Dwords
> Burst(111) == 128Dwords
>
> I think the default FIFO threshold seems too aggressive. I think this
> basically makes the SAA7146 request access to the PCI bus almost
> continuously which I think it leads to the transfers on the bus being
> unneccessarily small which drops the efficiency and therefore overall
> bandwidth on the PCI bus.
>
> Your recommended setting of 0x03 == 0000 0011
> Threshold(11) = 32 Dwords
> Burst(000) = 1 Dword
>
> My impression is that a high threshold helps. Could you try increasing
> the burst size as well? The only thing this should do is improve the
> efficiency of the bus.
>
> Given that anecdotal evidence that higher speed CPU's have more problems
> than slow CPU's, perhaps what is happening is that by reducing the bus
> efficiency you've efectively slowed the accesses by the CPU and this
> only indirectly avoids the problem and doesn't actually fix it.
Oh my god, you are right, I should read the docs more carefully ;-)
But it doesn't matter, because I have tested all combinations and when I
interpret them now, I see optimal results for high threshold and 1 Dword
burst. When I increase to 2 Dwords burst I get immediatly a bad stream.
Decreasing the threshold also decreases the stream quality, but with less
noticable effects until I reach 4 Dwords threshold and a bad stream.
Regarding the PCI bus, I have also a 845 chipset, but without integrated
graphics. My slots are filled with a normal AGP card, a Nova-S, an em8300 and
a wireless network card. I have already pulled out em8300 and WiFi card, but
it changed nothing. I don't know what internal PCI devices can load the bus,
USB 2.0 gets into my mind, but there are only USB 1.0 devices plugged in. The
hard drive is also idle. I am running out of ideas...
I will investigate the IRQ issue this evening. I am pretty sure that your
patch is executed half of time, because I inserted a syslog message inside
your if statement and in a newly created else statement another message. They
alternated in the log most of the time, I am just not sure about the absolute
IRQ/s.
bye,
Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/Uw4b/bI7T1LKTh8RAm7xAKCPZ391bSdLmDsFlOHNB1YXTSssLACfTzIk
oRHZlvKs9IJHob9zf4SEdLM=
=zXmz
-----END PGP SIGNATURE-----
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index