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.

PVR drivers "invalid size of private data"

Other Parts Discussed in Thread: OMAPL138

Hi,

I know it is important to use matching drivers, to find out why android (using the hwcomposer) doesn't boots.
I saw, that  there is an " invalid size of private data (636 vs 680)" which may be the reason.
Can you please explain me, where I can check whats and where is going wrong?

I/cat     (  617): <4>[   17.570190] WARNING: at drivers/video/omap2/omaplfb/omaplfb_displayclass.c:986 ProcessFlip+0x1b8/0x534()
I/cat     (  617): <7>[   17.570251] invalid size of private data (636 vs 680)
I/cat     (  617): <7>[   17.570343] Modules linked in: pvrsrvkm_sgx540_120 wl12xx wlcore mac80211 cfg80211 compat hso option usb_wwan tr16c0_i2c cypress_tma340
I/cat     (  617): <7>[   17.571197] Backtrace:
I/cat     (  617): <7>[   17.571319] [<c0064e1c>] (dump_backtrace+0x0/0x130) from [<c05c4c20>] (dump_stack+0x18/0x1c)
I/cat     (  617): <7>[   17.571441]  r7:000003da r6:c02c5bac r5:00000009 r4:ec84fdd8
I/cat     (  617): <7>[   17.571716] [<c05c4c08>] (dump_stack+0x0/0x1c) from [<c00b087c>] (warn_slowpath_common+0x5c/0x74)
I/cat     (  617): <7>[   17.571838] [<c00b0820>] (warn_slowpath_common+0x0/0x74) from [<c00b0938>] (warn_slowpath_fmt+0x38/0x40)
I/cat     (  617): <7>[   17.571960]  r8:c0723e1c r7:000002a8 r6:0000027c r5:ec2c5c00 r4:de536c00
I/cat     (  617): <7>[   17.572265] r3:00000009
I/cat     (  617): <7>[   17.572448] [<c00b0900>] (warn_slowpath_fmt+0x0/0x40) from [<c02c5bac>] (ProcessFlip+0x1b8/0x534)
I/cat     (  617): <7>[   17.572570]  r3:0000027c r2:c0723f2d
I/cat     (  617): <7>[   17.572814] [<c02c59f4>] (ProcessFlip+0x0/0x534) from [<bf11fa34>] (PVRSRVProcessQueues+0x2f4/0x3b0 [pvrsrvkm_sgx540_120])
I/cat     (  617): <7>[   17.573089] [<bf11f740>] (PVRSRVProcessQueues+0x0/0x3b0 [pvrsrvkm_sgx540_120]) from [<bf11dbd8>] (PVRSRVMISR+0x40/0x7c [pvrsrvkm_sgx540_120])
I/cat     (  617): <7>[   17.573272] [<bf11db98>] (PVRSRVMISR+0x0/0x7c [pvrsrvkm_sgx540_120]) from [<bf109288>] (MISRWrapper+0x14/0x18 [pvrsrvkm_sgx540_120])
I/cat     (  617): <7>[   17.573394]  r4:ec8063c0 r3:00000001
I/cat     (  617): <7>[   17.573577] [<bf109274>] (MISRWrapper+0x0/0x18 [pvrsrvkm_sgx540_120]) from [<c00c7ea4>] (process_one_work+0x204/0x368)
I/cat     (  617): <7>[   17.573699] [<c00c7ca0>] (process_one_work+0x0/0x368) from [<c00c83ec>] (worker_thread+0x208/0x344)
I/cat     (  617): <7>[   17.573822] [<c00c81e4>] (worker_thread+0x0/0x344) from [<c00cc870>] (kthread+0x94/0xa0)
I/cat     (  617): <7>[   17.573944] [<c00cc7dc>] (kthread+0x0/0xa0) from [<c00b484c>] (do_exit+0x0/0x688)

As a sidenode: I'm using the graphics subsystem from p-android-omap-3.0
and proprietary-open drivers from jb-release.

Many thanks!

  • Hi!

    I found the answer to my problem. It does not belong to the PVR drivers, it's all about user space. In my case the hwcomposer sends another "struct"
    to the kernel. From my undrstanding, the PVR drivers acts only as pipeline:  Kernel:OmapLFB <--- PVR system --> HWC. I had to use to the newest hardware/ti/omap44xx
    revision from d-jb-mr1-release.

    This was very helpful: http://lists.linaro.org/pipermail/linaro-android/2011-December/000039.html

  • I am working on Omapl138, am new to this processor. I started with a simple helloworld program, then moved on to character device driver, with a simple reverse string application running on the target. Now I want to test the loopback mode in SPI driver. I have very little idea about this, can you please guide me with all the steps, for checking a simple loopback mode. In omapl138, we have M25p64 flash on spi. I have compiled the driver and test application, but on exeution, it says “device cannot open”. In board_info sturct I have modified:

    static struct spi_board_info da850evm_spi_info[] = {

                    {

                                    .modalias                            = "spidev",

                                    //.platform_data             = &da850evm_spiflash_data,

                                    //.controller_data           = &da850evm_spiflash_cfg,

                                    .mode                                   = SPI_MODE_0,

                                    .max_speed_hz                                = 30000000,

                                    .bus_num                            = 1,

                                    .chip_select                       = 0,

                    },

                    {

                                    .modalias                            = "spidev",

                                    //.platform_data             = &da850evm_spiflash_data,

                                    //.controller_data           = &da850evm_spiflash_cfg,

                                    .mode                                   = SPI_MODE_0,

                                    .max_speed_hz                                = 30000000,

                                    .bus_num                            = 1,

                                    .chip_select                       = 1,

                    },

                   

    };

    According to this there should be two drivers /dev/spidev1.0 and /dev/spidev1.1, but at the target side am getting only /dev/spidev, I have no idea where am missing the point. Please reply at the earliest.