Mailing List archive

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

[linux-dvb] Re: Ideas Wanted: Grundig STB Works, Nova-T Doesn't



From: "Michael Hunold" <hunold@convergence.de>
> As it has been pointed out in other answers, the PCI burst length of the
> saa7146 can be tweaked for every dma channel.
>
> This is explained on page 31 of the data sheet, registers 0x48 and 0x4c.
>
> The DVB driver sets this as follows:
> DVB: av7110.c:
> saa7146_write(saa->mem, PCI_BT_V1, 0x001c0000)
>
> The "dvb-kernel" driver sets this for the budget card like this:
> dvb-kernel: budget-core:
> saa7146_write(dev, PCI_BT_V1, 0x001c0000

Which means:

- DEBI PCI burst length = 1 DWORD (IMHO too short)
- DMA3 PCI burst length = 128 DWORDs (apparently too long for some
chipsets)
- DMA3 FIFO threshold   = 4 DWORDs
- DMA2 PCI burst length = 1 DWORD (not used anyway)
- DMA2 FIFO threshold   = 4 DWORDs
- DMA1 PCI burst length = 1 DWORD (IMHO too short)
- DMA1 FIFO threshold   = 4 DWORDs

> So IMHO there is no difference, the problem must be somewhere else.

You are overlooking one difference: The AV7110 cards use DEBI DMA for
MPEG-2 TS packets, and DMA1 for decoded video, but *NOT* DMA3! Thus, the
PCI burst length of 128 DWORDs is *only* used on "budget" cards.

FWIW, I found that my DVB-Cable budget card works best on my i440BX
motherboard with:

- DMA3 PCI burst length = 32 DWORDs
- DMA3 FIFO threshold = 32 DWORDs

> You could try and use the "event counter" facilities of the saa7146,
> explained on page 52. You could set up one counter to count the number
> of video fifo overflows/underflows or the number of missed dwords. By
> this, you could definately see, if something gets lost.

That's a good idea!

Regards,
--
Robert Schlabbach
e-mail: robert_s@gmx.net
Berlin, Germany



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



Home | Main Index | Thread Index