Mailing List archive

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

[linux-dvb] Re: distortions on P4 systems (12V hungry?)



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Thursday 28 August 2003 18:44 schrieben Sie:
> I might be talking cross purposes, but I had a full featured DVB-T card
> which I could never get stable in a variety of systems.
>
> However, In my P4 system I have had a lot of corrupt and distorted data
> transfers (which I don't get in my P3 system) with a budget Nova-T card.
> In *my* case the Nova-T driver was trying to use quite aggressive PCI burst
> settings and it appeared the motherboard could just not cope.  I had to
> completely back down the bursting to single dwords before I got something
> which was stable.

Hi,

I have similar problems like Andreas and we discussed them on a thread on the
vdr mailing-list. I supposed these to be a problem with PCI transfers on
intel 845 chipsets and the Nova-S cards, seems like this can be confirmed.

My first attempt was a look into the specs,
http://www.semiconductors.philips.com/acrobat/datasheets/SAA7146A_1.pdf
Page 31 describes transfer mode settings.

I have taken a look in the dvb kernel sources (2.6.0-test4) and found some
commands regarding PCI transfers (drivers/media/dvb/ttpci/budget-core.c):

start_ts_capture() {
        saa7146_write(dev, PCI_BT_V1, 0x001c0000 |
            (saa7146_read(dev, PCI_BT_V1) & ~0x001f0000));
}

ttpci_budget_init() {
        saa7146_write(dev, PCI_BT_V1, 0x001c0000);
}

I suppose that the latter is executed first. I don't know why it is written
again during capture, but if nothing else changes the value, it should stay
at 0x001c0000.

In a resent posting I have found following snippet:
(http://www.linuxtv.org/mailinglists/linux-dvb/2003/08-2003/msg00248.html)
- ------------------------------------------------------------------------------------------
FWIW, these are exactly the symptoms I had on a SIS chipset with a budget
card. These cards appear to be very timing sensitive. The parameters to
play with are the SAA7146A "FIFO threshold" and "PCI burst length"
settings. Settings I found to work well:

1. PCI burst = 32 DWORDs, FIFO threshold = 32 DWORDs - This one handles
even a 40Mbps DVB-Cable stream on both i440BX as well as i850E chipsets
(don't have others to try).

2. PCI burst = 16 DWORDs, FIFO threshold = 16 DWORDs - seems to work
equally well.

3. PCI burst = 16 DWORDs, FIFO threshold = 32 DWORDs - The only setting
which allowed me to make a DVB-T budget card work on a SIS 651 chipset.
- ------------------------------------------------------------------------------------------

At last, I have some questions left:

- - What DMA channel is used on a budget card? It seems to be channel 3, but I
  have no proof for this.

- - Why are the recommended values for channel 3  32 Dwords Threshold and 16
  Dwords burst?

- - Is anyone using different values?

I will try some combinations this evening and post the results.

bye,
Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/Tzk//bI7T1LKTh8RAtSHAJ4vQ+o9WsDfVlGNVKaonpISYwtlSQCfbGcu
R/aI2s+CQoC+bIeTkkNXr0w=
=pXhV
-----END PGP SIGNATURE-----



-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index