Mailing List archive

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

[linux-dvb] [drv] noncoherent io




Hi,

I have a non-PC board that has non-coherent IO, i.e. the PCI bus-master
controller does not handle CPU cache coherency. Most Linux driver are
portable tough, but it looks like the dvb driver isn't.
The trick to handle this issue seamlessly is to use the 
pci_map_single/pci_unmap_single calls. I've done it for the version 0.8.2,
and it works fine (OSD, PES playback with cat foo.mpg>/dev/video, etc.). 
Please find the patch in attachement.

Now, I'd like to contribute it, and if possible to have it accepted in next 
versions. Unfortunately (for me), many things changed in 0.9.4, and I'm
not sure where the bus-master transfers take place.
I saw couple of ioremap, which make me think vanilla 0.9.4 improved over 0.8.2,
esp. because here 0.9.4 is able to load firmware and display OSD without any 
glitches. However, I'm unable to play back PES streams. Using play_file_video 
in test_video.c, it shows the first couple seconds of my MPEG file, and then
it stops. 

It looks like a FAQ, but how am I supposed to playback simple PES streams?
(no, mplayer is dog, there must be something simpler). Can some SAA7146
dude help me pinpoint where BM tranfers are done? I would sure appreciate it.

The card is DVB-s 1.3, kernel is 2.4.17-mips patched for my platform.


Cheers
Stephane


PS: please Cc: since I'm not subscribed to the list

-- No attachments (even text) are allowed --
-- Type: application/x-gzip-compressed
-- File: DVB-0.8.2-diff.gz



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


Home | Main Index | Thread Index