| From d8a536dbc82a0b0075abe2b986a617d57cc3eaa2 Mon Sep 17 00:00:00 2001 |
| From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> |
| Date: Tue, 17 Jan 2017 10:29:01 +0200 |
| Subject: [PATCH 246/255] drm: bridge: dw-hdmi: Remove PHY configuration |
| resolution parameter |
| |
| The current code hard codes the call of hdmi_phy_configure() to be 8bpp |
| and provides extraneous error checking to verify that this hardcoded |
| value is correct. Simplify the implementation by removing the argument. |
| |
| Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> |
| Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Reviewed-by: Jose Abreu <joabreu@synopsys.com> |
| Signed-off-by: Archit Taneja <architt@codeaurora.org> |
| Link: http://patchwork.freedesktop.org/patch/msgid/20170117082910.27023-12-laurent.pinchart+renesas@ideasonboard.com |
| (cherry picked from commit 1acc6bdeee1ef2ecac3ba070a403827ab8f16be5) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/gpu/drm/bridge/dw-hdmi.c | 27 +++++---------------------- |
| 1 file changed, 5 insertions(+), 22 deletions(-) |
| |
| --- a/drivers/gpu/drm/bridge/dw-hdmi.c |
| +++ b/drivers/gpu/drm/bridge/dw-hdmi.c |
| @@ -930,31 +930,14 @@ static void dw_hdmi_phy_sel_interface_co |
| HDMI_PHY_CONF0_SELDIPIF_MASK); |
| } |
| |
| -static int hdmi_phy_configure(struct dw_hdmi *hdmi, |
| - unsigned char res, int cscon) |
| +static int hdmi_phy_configure(struct dw_hdmi *hdmi, int cscon) |
| { |
| - unsigned res_idx; |
| u8 val, msec; |
| const struct dw_hdmi_plat_data *pdata = hdmi->plat_data; |
| const struct dw_hdmi_mpll_config *mpll_config = pdata->mpll_cfg; |
| const struct dw_hdmi_curr_ctrl *curr_ctrl = pdata->cur_ctr; |
| const struct dw_hdmi_phy_config *phy_config = pdata->phy_config; |
| |
| - switch (res) { |
| - case 0: /* color resolution 0 is 8 bit colour depth */ |
| - case 8: |
| - res_idx = DW_HDMI_RES_8; |
| - break; |
| - case 10: |
| - res_idx = DW_HDMI_RES_10; |
| - break; |
| - case 12: |
| - res_idx = DW_HDMI_RES_12; |
| - break; |
| - default: |
| - return -EINVAL; |
| - } |
| - |
| /* PLL/MPLL Cfg - always match on final entry */ |
| for (; mpll_config->mpixelclock != ~0UL; mpll_config++) |
| if (hdmi->hdmi_data.video_mode.mpixelclock <= |
| @@ -1004,11 +987,11 @@ static int hdmi_phy_configure(struct dw_ |
| HDMI_PHY_I2CM_SLAVE_ADDR); |
| hdmi_phy_test_clear(hdmi, 0); |
| |
| - hdmi_phy_i2c_write(hdmi, mpll_config->res[res_idx].cpce, 0x06); |
| - hdmi_phy_i2c_write(hdmi, mpll_config->res[res_idx].gmp, 0x15); |
| + hdmi_phy_i2c_write(hdmi, mpll_config->res[0].cpce, 0x06); |
| + hdmi_phy_i2c_write(hdmi, mpll_config->res[0].gmp, 0x15); |
| |
| /* CURRCTRL */ |
| - hdmi_phy_i2c_write(hdmi, curr_ctrl->curr[res_idx], 0x10); |
| + hdmi_phy_i2c_write(hdmi, curr_ctrl->curr[0], 0x10); |
| |
| hdmi_phy_i2c_write(hdmi, 0x0000, 0x13); /* PLLPHBYCTRL */ |
| hdmi_phy_i2c_write(hdmi, 0x0006, 0x17); |
| @@ -1068,7 +1051,7 @@ static int dw_hdmi_phy_init(struct dw_hd |
| dw_hdmi_phy_enable_powerdown(hdmi, true); |
| |
| /* Enable CSC */ |
| - ret = hdmi_phy_configure(hdmi, 8, cscon); |
| + ret = hdmi_phy_configure(hdmi, cscon); |
| if (ret) |
| return ret; |
| } |