This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Debugging Mali driver in 3.4 kernel in Origen

Note: This was originally posted on 26th April 2012 at http://forums.arm.com

Hello

I am trying to make ICS Android (Mali) work in Origen with 3.4 kernel

Now  as using Mali driver, gralloc_ump r2p4-02rel in 3.4 kernel with the following Android branch.
repo init -u git://android.git.linaro.org/platform/manifest.git -b linaro_android_4.0.4 -m tracking-origen.xml

I have the following errors:

*******************************************************************************
[   15.225000] MALI PHYSICAL RANGE VALIDATION ERROR!
[   15.235000] We failed to validate a Mali-Physical range that the user-side wished to map in
[   15.245000] It is likely that the user-side wished to do Direct Rendering, but a suitable
[   15.250000] address range validation mechanism has not been correctly setup
[   15.260000] The range supplied was: phys_base=0x6D900000, size=0x004B0000
[   15.270000] Please refer to the ARM Mali Software Integration Guide for more information.
[   15.275000] *******************************************************************************

In my opinion, it seems that user space library call ioctl command with in-proper argument. 
    ioctl command (MALI_IOC_MEM_MAP_EXT)  with the wrong params: phys_base=0x6D900000, size=0x004B0000

In addition, currently I didn't  add UMP remap call  in  Framebuffer drivers.  Is it possible reason ?


Thanks
Sangwook
Parents
  • Note: This was originally posted on 27th April 2012 at http://forums.arm.com

    Hi Sangwook,

      Mali GPU can only write to an address range configured during the build process. If the frambuffer is located outside this address range, then you would get a Physical range validation error as above. To fix this issue, you would need to edit config.h (inside arch-xxx folder) and modify the range to include the framebuffer physical address.

    You should find something like the following,

      {
         .type = MEM_VALIDATION,
         .description = "memory validation",
         .base = MEM_BASE_ADDR,
         .size = MEM_TOTAL_SIZE,
         .flags = _MALI_CPU_WRITEABLE | _MALI_CPU_READABLE | _MALI_PP_READABLE | _MALI_PP_WRITEABLE | _MALI_GP_READABLE | _MALI_GP_WRITEABLE | _MALI_MMU_READABLE | _MALI_MMU_WRITEABLE
    },


    Edit the .base and .size parts of the config to suit your needs.

    Hope it helps.

    Regards
    Karthik
Reply
  • Note: This was originally posted on 27th April 2012 at http://forums.arm.com

    Hi Sangwook,

      Mali GPU can only write to an address range configured during the build process. If the frambuffer is located outside this address range, then you would get a Physical range validation error as above. To fix this issue, you would need to edit config.h (inside arch-xxx folder) and modify the range to include the framebuffer physical address.

    You should find something like the following,

      {
         .type = MEM_VALIDATION,
         .description = "memory validation",
         .base = MEM_BASE_ADDR,
         .size = MEM_TOTAL_SIZE,
         .flags = _MALI_CPU_WRITEABLE | _MALI_CPU_READABLE | _MALI_PP_READABLE | _MALI_PP_WRITEABLE | _MALI_GP_READABLE | _MALI_GP_WRITEABLE | _MALI_MMU_READABLE | _MALI_MMU_WRITEABLE
    },


    Edit the .base and .size parts of the config to suit your needs.

    Hope it helps.

    Regards
    Karthik
Children
No data