Mailing List archive

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

[linux-dvb] Re: System load caused by I2C (was: Re: Re: Announcement:new saa7146 driver core for the av7110 dvb driver)



Roberto Deza wrote:
> Hi Michael, Holger and all,
> 
> At 00:14 21/12/2002 +0100, Michael Hunold wrote:
> 
> 
>>In my current design, RPS0 is used for video capture, RPS1 is used for 
>>vbi capture.
>>
>>If you can tell me for sure, that you never ever want to capture vbi (is 
>>it re-inserted at all?) with a dvb card, then I can add a "use RPS1 for 
>>DVB I2C access" mode.
> 
> 
> @Michael:
> A conditional compilation about the use of a RPS for I2C comunication 
> would be great, to save this precious resource!, for other applications.
> 
> @Holger:
> Would not be wise to implement some "poolling relaxation mechanism" on this
> process that can repeat endlessly, if something goes wrong, 
> progressively decreasing the fecuency at which its are retried?.

This code is there, see the update_delay() function. Unfortunally there 
was a lot of black voodoo which we did not understood completely which 
caused problems with some old revisiions of the BSRV2 tuner when we 
tried to optimize this code too hard.

After all the entire frontend thread is only a workaround for broken 
hardware, if all frontends would work perfectly (and if we had all the 
docu to program it correctly - ) we would not need it.


> @all:
> On past months, I've worked on a hardware & software patch to get access
> to the full TS stream in Technotrend DVB "Premium" cards, without pass by
> the AV711x restrictions and "boottleneck". Basically my approach is to 
> connect the MPEG2 Demodulator outputs in the tuner, to the free Digital 
> Video port in the SAA7146 (D1B), as is done on TT "budget" cards. On this
> cards, two IC's are used to generate a pseudo VSYNC signal for the "frame
> adquisition" of the TS packet(s) "lines"; my approach to avoid this IC's 
> is to use the RPS1 to generate the pseudo VSYNC on the GPIO3 line (also 
> free on all cards that I know, but maybe not on old Siemens DVB-C with the 
> Analog module), which is then connected to D1B_VSYNC input. To make the 12 
> connections need, I'm using a small PCB (5mm) wich is inserted between the 
> tunner and the SAA7146 pins, so the soldering is more easy that using
> discrete wires (the SAA7146 pins are at 0.65mm raster!). On the software
> side, my patch do the setup of the RPS1 to generate the VSYNC and force
> the driver to do all of the packet adquisition and filtering as it's done
> on the budget cards, but preserving the other functions of the premium 
> card.
> 
> My proyect is working on some degree and I wanted to publish it, for the
> use by the interested, but there is some problem with "heavy use" :-(.
> I can get the full TS without problems or selected PIDs, but when I start
> VDR with my patched drivers, I get a Kernel Oops (Killing interrupt
> handler...) inmediatelly :-(.
> 
> I don't have managed to find the reason or the cure and lattely I don't 
> have the time to continue on it :-(. Ralph already had a first look at my 
> patch, without find any "big error"; other member of the list also tries
> to get it working. If someone is really interested on have a look at it
> and don't fear to make hardware mods to the card! (if well done, the mods 
> don't affect the behaviour of the card :-), I'm open to send the full 
> documentation that I did.
> 

don't you want to publish it somwhere on the web?

Holger



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



Home | Main Index | Thread Index