This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6446 video passthrough problem with newer LSP from TI site



I have two version of the TI LSP MVL 4.0.1 kernel.  One work while the other does not and I was wondering if anyone might have some insight as to why.  The first kernel we are using corresponds to patch level pro-0786 and it works file.  The one that doesn't work is the latest (mvl_4_0_1_demo_lsp_setuplinux_01_20_00_014.bin) and corresponds to patch level pro-1721.

Here is my code snippet:

 /* Try the requested size */
 varInfo.xres = D1_WIDTH;
 varInfo.yres = D1_HEIGHT;
 varInfo.bits_per_pixel = SCREEN_BPP;

 if (ioctl(fd, FBIOPUT_VSCREENINFO, &varInfo) == -1) {
  ERR("Failed ioctl FBIOPUT_VSCREENINFO on %s\n", OSD_DEVICE);
  return FAILURE;
 }

 if (varInfo.xres != D1_WIDTH ||
   varInfo.yres != (unsigned)D1_HEIGHT ||
   varInfo.bits_per_pixel != SCREEN_BPP) {
  ERR("Failed to get the requested screen size: %dx%d at %d bpp\n",
    D1_WIDTH, D1_HEIGHT, SCREEN_BPP);
  return FAILURE;
 }

The last if statement fails in the newer code for some reason.  Maybe this is no longer valid?

Also, I'm getting a failure on this call:

 struct fb_var_screeninfo varInfo;

 if (ioctl(osdFd, FBIOGET_VSCREENINFO, &varInfo) == -1) {
  ERR("Failed FBIOGET_VSCREENINFO (%s)\n", strerror(errno));
  return FAILURE;
 }

 varInfo.yoffset = varInfo.yres * idx;

 if (ioctl(osdFd, FBIOPAN_DISPLAY, &varInfo) == -1) {
  ERR("Failed FBIOPAN_DISPLAY (%s)\n", strerror(errno));
  return FAILURE;
 }

I'm getting the following error when it runs with the latest code:

"Failed FBIOPAN_DISPLAY (Invalid argument)"  Has the argument to this ioctl changed?

Any help would be appreciated.

Thanks!