From: Christian G. <chr...@gm...> - 2009-10-15 09:11:48
|
2009/10/5 Nicolas Boullis <nbo...@de...>: > Hi Christian, > > On Mon, Oct 05, 2009 at 09:15:06PM +0200, Christian Gmeiner wrote: >> Hi Nicolas, >> >> doing only this: >> >> case EM8300_IOCTL_SPU_SETPALETTE: >> if (copy_from_user(clu, (void *) arg, 16 * 4)) >> return -EFAULT; >> //em8300_spu_setpalette(em, clu); >> break; >> >> results in the same wrong picture as in previous mail. > > That's a very interesting point. It means that the > EM8300_IOCTL_SPU_SETPALETTE ioctl does nothing... But I still have no > idea why... Does the dxr3 plugin check the return value of this ioctl? With commit 1b9e3804075c2dc6f70beb2e9d14ecbb6f23710c I done a minute ago it does check all ioctl syscalls. > > >> doing only this; >> >> int em8300_spu_open(struct em8300_s *em) >> { >> em->sp_ptsfifo_ptr = 0; >> em->sp_ptsvalid = 0; >> em->sp_mode = 1; >> //em8300_spu_setpalette(em, default_palette); >> write_ucregister(SP_Command, 0x2); >> >> return 0; >> } >> >> results in a new image: >> http://picasaweb.google.com/christian.gmeiner/Devel#5389194589710723970 >> >> and doing both results also in the new image. >> >> >> Ohh and..... 32-bit kernel. > > Hmmm... Can you also check with both calls to em8300_spu_setpalette > disabled, the same version of vdr and its dxr3 plugin, but a kernel < > 2.6.31? And the same with only the first calls to em8300_spu_setpalette > disabled? So here are the results with the same plugin/vdr version and kernel 2.6.29: If i disable both em8300_spu_setpalette calls I get an osd with the colors like in http://picasaweb.google.com/christian.gmeiner/Devel#5389194589710723970 If i disable the em8300_spu_setpalette call in em8300_spu_ioctl function I get a good looking OSD with different colors. This makes sense as the default plaette colors are set. If i enable all em8300_spu_setpalette calls I get a good looking OSD with correct color palette used. > > If you get the same results as with linux 2.6.31, I think that would > confirm that the em8300_spu_setpalette function works fine, and that the > problem is really related to the ioctl... I dont know if its ioctl related, as on 2.6.31 the default color palette gets not set. So there might be a problem with register writes. Hope I could help you -- Christian Gmeiner, MSc PS: Sorry for the long delay... I am very busy with vdr-plugin-dxr3 at the moment. |