[linux-dvb] FYI: CinergyT2 and embeded enviroment
rjkm at metzlerbros.de
Mon Mar 21 01:44:13 CET 2005
Petr Nejedly writes:
> I was trying to make CinergyT2 working on on two embeded boxes,
> LinkSys NSLU2 and Asus WL500gx (both have USB2.0 HCD, one from
> VIA, other one from NEC), but it oopsed kernel on both of them as soon
> as it started transfer of the TS data.
Is this on a 2.6 or a 2.4 kernel?
Or my question rather is, is there a 2.6 port for those devices yet?
> After several sleepless nights, I've hacked together a simplified driver
> (mimicking the original one) that doesn't oops and is able to provide
> full TS stream
> on these devices. The only important difference is that I allocate the
> URB buffers
> using kmalloc, while the original driver does pci_alloc_consistent.
> If I use pci_alloc_consistent, my driver starts to oops the kernel as well,
> although the memory region seems to be allocated right.
Hmm, is this somehow broken on MIPS? Which kernel?
> Does the original driver really need to allocate the buffers this way? I
> haven't seen
> any other USB driver doing so (except ttusb-budget from the same author,
> fails in such embeded enviroment as well, although w/o crash, just
> getting zeroed
> buffers from ISOC instead of real data).
> I haven't tried using kmalloc instead of pci_alloc_consistent on my x86
> yet but should it work, wouldn't it be better to rewrite the driver to
> use kmalloc?
No, it should use usb_buffer_alloc, which does the right thing for
each platform and controller (either kmalloc or dma_alloc_coherent).
I think if you use kmalloc for all platforms you might run into
trouble with cache inconsistencies on some of them.
More information about the linux-dvb