解析mtk 的display subsystem

由于系统相对于我来说还是比较大,所以我一条条的例出来,顺序可能不对,欢迎留言交流。

1、mtkfb.c:mtk framebuffer 虚拟设备驱动。

      调用流程:

      mtkfb_probe--------------framebuffer_alloc(申请内存空间地址)

      disp_hal_allocate_framebuffer(primary_display.c)---------ioremap_nocache(物理地址映射为虚拟地址)

      primary_display_init


      Ddp_manager.c(管理ddp各模块)

      ddp_rdma.c  (ddp中的rdma模块)-----重点函数rdma_config


     ddp中有很多个模块,但是没搞清楚他们之间的关系。实现了的module有:

    &ddp_driver_ovl, //DISP_MODULE_OVL0 = 0,
    &ddp_driver_ovl, //DISP_MODULE_OVL1  ,
    &ddp_driver_rdma, //DISP_MODULE_RDMA0 ,
    &ddp_driver_rdma, //DISP_MODULE_RDMA1 ,
    &ddp_driver_wdma, //DISP_MODULE_WDMA0 ,
    &ddp_driver_color, //DISP_MODULE_COLOR0,
    0,                //DISP_MODULE_CCORR ,
    &ddp_driver_aal, //DISP_MODULE_AAL   ,
    &ddp_driver_gamma, //DISP_MODULE_GAMMA ,
    &ddp_driver_dither, //DISP_MODULE_DITHER,
    0, //DISP_MODULE_UFOE  , //10
    &ddp_driver_pwm, //DISP_MODULE_PWM0   ,
    &ddp_driver_wdma, //DISP_MODULE_WDMA1 ,
    &ddp_driver_dsi0, //DISP_MODULE_DSI0  ,



2、ddp_drv.c:Display subsystem Driver


3、bls:backlight scaling

       这是mtk为了降低功耗,根据显示内容来自动调节背光pwm亮度的技术。其实本身和显示子系统应该没什么关系,由于加了这个技术,所以必须加入这个到流程中。


4、roi  region of interest.显示的有效区域,也就是我屏幕的宽高。


一直觉得对不起这个标题,今天分析了一下MTK6572 LK的显示流程,上图:




你可能感兴趣的:(MTK相关)