lkml.org 
[lkml]   [2017]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v5 3/5] drm/exynos: dsi: Fix the parse_dt function
From
Date
Hi inki,

Could you check the this patch?
For reference, patch 1/5 and 2/5 have already been applied to Krzysztof
tree.

Best regards,
Hoegeun


On 03/08/2017 01:54 PM, Hoegeun Kwon wrote:
> The dsi + panel is a parental relationship, so OF grpah is not needed.
> Therefore, the current dsi_parse_dt function will throw an error,
> because there is no linked OF graph for the case fimd + dsi + panel.
>
> Parse the Pll burst and esc clock frequency properties in dsi_parse_dt()
> and create a bridge_node only if there is an OF graph associated with dsi.
>
> Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
> Reviewed-by: Andi Shyti <andi.shyti@samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 32 ++++++++------------------------
> 1 file changed, 8 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> index f5c04d0..2d4e118 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> @@ -1652,39 +1652,23 @@ static int exynos_dsi_parse_dt(struct exynos_dsi *dsi)
> if (ret < 0)
> return ret;
>
> - ep = of_graph_get_endpoint_by_regs(node, DSI_PORT_OUT, 0);
> - if (!ep) {
> - dev_err(dev, "no output port with endpoint specified\n");
> - return -EINVAL;
> - }
> -
> - ret = exynos_dsi_of_read_u32(ep, "samsung,burst-clock-frequency",
> + ret = exynos_dsi_of_read_u32(node, "samsung,burst-clock-frequency",
> &dsi->burst_clk_rate);
> if (ret < 0)
> - goto end;
> + return ret;
>
> - ret = exynos_dsi_of_read_u32(ep, "samsung,esc-clock-frequency",
> + ret = exynos_dsi_of_read_u32(node, "samsung,esc-clock-frequency",
> &dsi->esc_clk_rate);
> if (ret < 0)
> - goto end;
> -
> - of_node_put(ep);
> + return ret;
>
> ep = of_graph_get_next_endpoint(node, NULL);
> - if (!ep) {
> - ret = -EINVAL;
> - goto end;
> - }
> -
> - dsi->bridge_node = of_graph_get_remote_port_parent(ep);
> - if (!dsi->bridge_node) {
> - ret = -EINVAL;
> - goto end;
> + if (ep) {
> + dsi->bridge_node = of_graph_get_remote_port_parent(ep);
> + of_node_put(ep);
> }
> -end:
> - of_node_put(ep);
>
> - return ret;
> + return 0;
> }
>
> static int exynos_dsi_bind(struct device *dev, struct device *master,

\
 
 \ /
  Last update: 2017-03-22 02:38    [W:0.488 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site