MLK-16015-8 gpu: imx: dpu: common: Initialize pixel link with correct settings
authorLiu Ying <victor.liu@nxp.com>
Tue, 18 Jul 2017 07:15:03 +0000 (15:15 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:33:41 +0000 (15:33 -0500)
The pixel link configurations are broken into pieces in other drivers to
meet a recommended configuration sequence from the design team.  So, let's
rename the function name of dpu_pixel_link_config() to dpu_pixel_link_init
and disable/invalidate pixel link as an initial status.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
drivers/gpu/imx/dpu/dpu-common.c

index 02bee65..722c1e7 100644 (file)
@@ -1175,8 +1175,8 @@ static void dpu_debug_ip_identity(struct dpu_soc *dpu)
        }
 }
 
-/* FIXME: set pixel link in a proper manner */
-static void dpu_pixel_link_config(int id)
+/* FIXME: initialize pixel link in a proper manner */
+static void dpu_pixel_link_init(int id)
 {
        sc_err_t sciErr;
        sc_ipc_t ipcHndl = 0;
@@ -1195,16 +1195,15 @@ static void dpu_pixel_link_config(int id)
        }
 
        if (id == 0) {
-               /* Enable All Display Pixel Links */
                sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST1_ADDR, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_PXL_LINK_MST1_ADDR sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST1_ENB, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST1_ENB, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_PXL_LINK_MST1_ENB sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST1_VLD, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST1_VLD, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_PXL_LINK_MST1_VLD sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
@@ -1212,34 +1211,31 @@ static void dpu_pixel_link_config(int id)
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_PXL_LINK_MST2_ADDR sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST2_ENB, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST2_ENB, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_PXL_LINK_MST2_ENB sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST2_VLD, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_PXL_LINK_MST2_VLD, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_PXL_LINK_MST2_VLD sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               /* todo: move SC_C_SYNC_CTRL0 to after first valid frame */
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_SYNC_CTRL0, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_SYNC_CTRL0, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_SYNC_CTRL0 sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               /* todo: move SC_C_SYNC_CTRL1 to after first valid frame */
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_SYNC_CTRL1, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_0, SC_C_SYNC_CTRL1, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_0:SC_C_SYNC_CTRL1 sc_misc_set_control failed! (sciError = %d)\n", sciErr);
        } else if (id == 1) {
-               /* Enable All Display Pixel Links */
                sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST1_ADDR, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_PXL_LINK_MST1_ADDR sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST1_ENB, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST1_ENB, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_PXL_LINK_MST1_ENB sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST1_VLD, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST1_VLD, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_PXL_LINK_MST1_VLD sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
@@ -1247,21 +1243,19 @@ static void dpu_pixel_link_config(int id)
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_PXL_LINK_MST2_ADDR sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST2_ENB, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST2_ENB, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_PXL_LINK_MST2_ENB sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST2_VLD, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_PXL_LINK_MST2_VLD, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_PXL_LINK_MST2_VLD sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               /* todo: move SC_C_SYNC_CTRL0 to after first valid frame */
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_SYNC_CTRL0, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_SYNC_CTRL0, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_SYNC_CTRL0 sc_misc_set_control failed! (sciError = %d)\n", sciErr);
 
-               /* todo: move SC_C_SYNC_CTRL1 to after first valid frame */
-               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_SYNC_CTRL1, 1);
+               sciErr = sc_misc_set_control(ipcHndl, SC_R_DC_1, SC_C_SYNC_CTRL1, 0);
                if (sciErr != SC_ERR_NONE)
                        pr_err("SC_R_DC_1:SC_C_SYNC_CTRL1 sc_misc_set_control failed! (sciError = %d)\n", sciErr);
        }
@@ -1361,7 +1355,7 @@ static int dpu_probe(struct platform_device *pdev)
        dpu_debug_ip_identity(dpu);
 
        if (devtype->pixel_link_quirks)
-               dpu_pixel_link_config(dpu->id);
+               dpu_pixel_link_init(dpu->id);
 
        dev_info(dpu->dev, "driver probed\n");