video: mxsfb: change mxs_lcd_init signature
authorIgor Opaniuk <igor.opaniuk@toradex.com>
Mon, 3 Jun 2019 21:05:56 +0000 (00:05 +0300)
committerAnatolij Gustschin <agust@denx.de>
Tue, 4 Jun 2019 21:21:57 +0000 (23:21 +0200)
Provide directly framebuffer address instead of pointer to
GraphicDevice struct, which will let to re-use this function in
DM_VIDEO configurations.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
drivers/video/mxsfb.c

index 02fde0590829a098d8af87b1af886f7b2e6787a9..0f3a10b0f681481b83e53adfeb077fe0612361a8 100644 (file)
@@ -46,8 +46,7 @@ __weak void mxsfb_system_setup(void)
  *      le:89,ri:164,up:23,lo:10,hs:10,vs:10,sync:0,vmode:0
  */
 
-static void mxs_lcd_init(GraphicDevice *panel,
-                       struct ctfb_res_modes *mode, int bpp)
+static void mxs_lcd_init(u32 fb_addr, struct ctfb_res_modes *mode, int bpp)
 {
        struct mxs_lcdif_regs *regs = (struct mxs_lcdif_regs *)MXS_LCDIF_BASE;
        uint32_t word_len = 0, bus_width = 0;
@@ -112,8 +111,8 @@ static void mxs_lcd_init(GraphicDevice *panel,
        writel((0 << LCDIF_VDCTRL4_DOTCLK_DLY_SEL_OFFSET) | mode->xres,
                &regs->hw_lcdif_vdctrl4);
 
-       writel(panel->frameAdrs, &regs->hw_lcdif_cur_buf);
-       writel(panel->frameAdrs, &regs->hw_lcdif_next_buf);
+       writel(fb_addr, &regs->hw_lcdif_cur_buf);
+       writel(fb_addr, &regs->hw_lcdif_next_buf);
 
        /* Flush FIFO first */
        writel(LCDIF_CTRL1_FIFO_CLEAR, &regs->hw_lcdif_ctrl1_set);
@@ -214,7 +213,7 @@ void *video_hw_init(void)
        printf("%s\n", panel.modeIdent);
 
        /* Start framebuffer */
-       mxs_lcd_init(&panel, &mode, bpp);
+       mxs_lcd_init(panel.frameAdrs, &mode, bpp);
 
 #ifdef CONFIG_VIDEO_MXS_MODE_SYSTEM
        /*