diff options
author | Liu Ying <victor.liu@nxp.com> | 2017-07-18 15:15:03 +0800 |
---|---|---|
committer | Leonard Crestez <leonard.crestez@nxp.com> | 2018-08-24 12:41:33 +0300 |
commit | 36eae80ee9b77db9a5aefbfdfefb0dd4c5579411 (patch) | |
tree | d5c619763666834b71cdca7bb79b087fbfe03f06 | |
parent | 4116f6955b738a3061702bd396699bf400fe5b2c (diff) |
MLK-16015-8 gpu: imx: dpu: common: Initialize pixel link with correct settings
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>
-rw-r--r-- | drivers/gpu/imx/dpu/dpu-common.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/drivers/gpu/imx/dpu/dpu-common.c b/drivers/gpu/imx/dpu/dpu-common.c index 02bee653bebe..722c1e72b4fa 100644 --- a/drivers/gpu/imx/dpu/dpu-common.c +++ b/drivers/gpu/imx/dpu/dpu-common.c @@ -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"); |