Wednesday, January 21, 2009

Linuxstamp and s5h1409

The ARM based Linuxstamp embedded board a user mailed me showed up today, along with the "DVD Maker USB 2.0" and Kworld USB 2800D he was trying to make work with it. Spent a good portion of the evening getting an ARM crosscompile environment, tftp server, and nfsroot setup so I could boot the board. Will have to work more on it tomorrow. I'll probably just get the tuners working under x86 first, and separately debug the embedded issue (it's probably some sort of DMA problem).

Robert tried out my s5h1409 patch today, and his results were completely consistent with my expectations. To give some perspective regarding the difference:

Before the change:
Tuning delay: 2661 ms
Tuning delay: 474 ms
Tuning delay: 472 ms
Tuning lock fail after 5000ms
Tuning delay: 2000 ms
Tuning delay: 2685 ms
Tuning delay: 475 ms

After the change:
Tuning delay: 594 ms
Tuning delay: 570 ms
Tuning delay: 574 ms
Tuning delay: 671 ms
Tuning delay: 570 ms
Tuning delay: 673 ms

Given the number of products that use the s5h1409, I sent an email to linux-media soliciting testers, so I can shake out any bugs before it gets committed.

There is probably additional room for improvement (for example, the lgdt3303/xc3028 combination typically locks in 350ms), but the change as-is at least provides a good consistent lock in a time only slightly less then the best case without the patch.