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!