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.

cmem and cmemk error on dm365 EVM

Hi all,

     I am working on DM365 EVM rev F board, I am trying to integrate H264 codec by binding opencore and DMAI modules. I have integrated but when I run the pvplayer engine I continously endup by following cmem and cmemk errors.

my loadmodules.sh is as follows:

insmod cmemk.ko phys_start=0x83C00000 phys_end=0x88000000 pools=2x384,1x16384,1x2688,1x20480,3x74,1x60288,2x28,1x147048,1x10240,1x896,1x65536,1x663552,1x9175376,4x24,1x282624,2x5984,1x58144,1x1024,1x48952,1x464,2x16768,1x1251264,1x30720,1x65792,8x774144,1x173712,1x146,1x98,2x296,50x56,2x86,1x624,1x3328,1x518912,4x62,1x242,4x663552,1x1637824,14x1645056,1x16538976,4x1382400

 

PVLOG:TID(0x4001fcb0):Time=381:PVPlayerEngine::HandleNodeInformationalEvent() Info event from unknown node Event type 0x18 Context 0x3d9900 Data 0x2
davinci_v4l2 davinci_v4l2.1: Before finishing with S_FMT:
layer.pix_fmt.bytesperline = 736,
 layer.pix_fmt.width = 720,
 layer.pix_fmt.height = 480,
 layer.pix_fmt.sizeimage =529920
davinci_v4l2 davinci_v4l2.1: pixfmt->width = 720,
 layer->layer_info.config.line_length= 736

CMEMK Error: get_phys: get_user_pages() failed: -14
CMEMK Error: GETPHYS: Failed to convert virtual 0x432b3300 to physical.
CMEMK Error: get_phys: Unable to find phys addr for 0x43307900
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x43307900 to physical.
et physical address of 0x432b3300
CMEM Error: getPhys: Failed to get physical address of 0x43307900
CMEMK Error: get_phys: Unable to find phys addr for 0x432b3300
CMEMK Error: get_phys: get_user_pages() failed: -14
CMEMK Error: GETPHYS: Failed to convert virtual 0x432b3300 to physical.
CMEMK Error: get_phys: Unable to find phys addr for 0x43307900
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x43307900 to physical.
et physical address of 0x432b3300
CMEM Error: getPhys: Failed to get physical address of 0x43307900
CMEMK Error: get_phys: Unable to find phys addr for 0x432b3300
CMEMK Error: get_phys: get_user_pages() failed: -14
CMEMK Error: GETPHYS: Failed to convert virtual 0x432b3300 to physical.
CMEMK Error: get_phys: Unable to find phys addr for 0x43307900
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x43307900 to physical.
et physical address of 0x432b3300
CMEMK Error: get_phys: Unable to find phys addr for 0x43175900
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x43175900 to physical.
et physical address of 0x43307900
CMEM Error: getPhys: Failed to get physical address of 0x43175900
CMEMK Error: get_phys: Unable to find phys addr for 0x432b7b18
CMEMK Error: get_phys: get_user_pages() failed: -14
CMEMK Error: GETPHYS: Failed to convert virtual 0x432b7b18 to physical.
CMEMK Error: get_phys: Unable to find phys addr for 0x4330c118
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x4330c118 to physical.
et physical address of 0x432b7b18
CMEMK Error: get_phys: Unable to find phys addr for 0x432b7b18
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x432b7b18 to physical.
et physical addrCMEMK Error: get_phys: Unable to find phys addr for 0x4330c118
ess of 0x4330c11CMEMK Error: get_phys: get_user_pages() failed: -14
8
CMEM Error: gCMEMK Error: GETPHYS: Failed to convert virtual 0x4330c118 to physical.
etPhys: Failed to get physical address of 0x432b7b18
CMEMK Error: get_phys: Unable to find phys addr for 0x432b7b18
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x432b7b18 to physical.
et physical address of 0x4330c118
CMEM Error: getPCMEMK Error: get_phys: Unable to find phys addr for 0x4330c118
hys: Failed to gCMEMK Error: get_phys: get_user_pages() failed: -14
et physical addrCMEMK Error: GETPHYS: Failed to convert virtual 0x4330c118 to physical.
ess of 0x432b7b18
CMEM Error: getPhys: Failed to get physical address of 0x4330c118
CMEMK Error: get_phys: Unable to find phys addr for 0x432bc330
CMEMK Error: get_phys: get_user_pages() failed: -14
CMEMK Error: GETPHYS: Failed to convert virtual 0x432bc330 to physical.
CMEMK Error: get_phys: Unable to find phys addr for 0x43310930
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x43310930 to physical.
et physical address of 0x432bc330
CMEMK Error: get_phys: Unable to find phys addr for 0x432bc330
CMEM Error: getPCMEMK Error: get_phys: get_user_pages() failed: -14
hys: Failed to gCMEMK Error: GETPHYS: Failed to convert virtual 0x432bc330 to physical.
et physical address of 0x43310930

Thanks in advance any help would be appreciated.

Regards,

Mohan

 

 

  • Hi Mohan,

    I am also facing same problem, When I am trying to decode a mp4 file using MPEG-4 OMX plugin. Have u solved this problem??

  • Hi Ashwani,


    Can I know what version of Codec you are using and also can you attach the decode application source code you are using.

    In source code vdec2.c in dmai:

    prblem here:
    sometimes entries of outArgs.outputID[] are all zero, that means no decoded output. If this happened, the hDstBuf will never be released,
    and all the buffers will be used untill there are no free buffers, and the display and decode thread will be blocked.

    Please check for entries of outArgs.outputID [ ],

     I have tried to free hDstBuf manually, it works, the decode and display buffer will not be blocked,
    but the decoded video has some problem.

    I do like this:

    if(bufIndex == 0)
    {
    Buffer_freeUseMask(hDstBuf, 3); //0x01 for display, 0x02 for decode
    }

    Hope this may be helpful for you.

    Regards,
    Mohan.B






  • Hi Mohan,

    CMEMK error has been solved. That was due to passing the wrong params to Vdec2_create fun.

    Now, I am able to play .mp4 file using omx-hardware plugins, but display is not coming proper.

    I am attaching the snapshot.

    I am using omx IL code obtained from Rowboat hardware-ti-omx.

     

     

    Any pointer would be very helpful.