06-24-2016, 11:45 AM
(06-24-2016, 10:04 AM)lenny.raposo-pine64.pro Wrote: ok everything built but Mali is not cooperating
mali: Unknown symbol g_fb_addr (err 0)
waiting on feedback from tllim
I looked at /drivers/video/sunxi/disp2/disp/dev_fb.c:
Code:
static struct __fb_addr_para g_fb_addr;
Is a global static struct and hence the symbol is not known outside that object (Correct me if I'm wrong).
It basically points to where the framebuffer is in RAM after the memory allocation:
Code:
static int Fb_map_video_memory(struct fb_info *info)
{
info->screen_base = (char __iomem *)disp_malloc(info->fix.smem_len, (u32 *)(&info->fix.smem_start));
if (info->screen_base) {
__inf("Fb_map_video_memory(reserve), pa=0x%p size:0x%x\n",(void*)info->fix.smem_start, (unsigned int)info->fix.smem_len);
memset((void* __force)info->screen_base,0x0,info->fix.smem_len);
g_fb_addr.fb_paddr = (uintptr_t)info->fix.smem_start;
g_fb_addr.fb_size = info->fix.smem_len;
return 0;
} else {
__wrn("disp_malloc fail!\n");
return -ENOMEM;
}
return 0;
}
g_fb_addr.fb_size = info->fix.smem_len;
return 0;
} else {
__wrn("disp_malloc fail!\n");
return -ENOMEM;
}
return 0;
}
So I guess the mali blob wants to know where the framebuffer is. How the symbol is properly exported I dont know...
Come have a chat in the Pine IRC channel >>