[PATCH 2/3] drm/exynos: fix broken component binding in case of multiple pipelines

Gustavo Padovan gustavo at padovan.org
Tue Jun 9 12:47:38 PDT 2015


Hi Andrzej,

2015-06-08 Andrzej Hajda <a.hajda at samsung.com>:

> In case there are multiple pipelines and deferred probe occurs, only components
> of the first pipeline were bound. As a result only one pipeline was available.
> The main cause of this issue was dynamic generation of component match table -
> every component driver during probe registered itself on helper list, if there
> was at least one pipeline present on this list component match table were
> created without deferred components.
> This patch removes this helper list, instead it creates match table from
> existing devices requiring exynos_drm KMS drivers. This way match table do not
> depend on probe/deferral order and contains all KMS components.
> As a side effect patch makes the code cleaner and significantly smaller.
> 
> Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
> ---
>  drivers/gpu/drm/exynos/exynos7_drm_decon.c |  14 +-
>  drivers/gpu/drm/exynos/exynos_dp_core.c    |  13 +-
>  drivers/gpu/drm/exynos/exynos_drm_dpi.c    |  20 +-
>  drivers/gpu/drm/exynos/exynos_drm_drv.c    | 283 ++++++++---------------------
>  drivers/gpu/drm/exynos/exynos_drm_dsi.c    |  29 +--
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c   |  28 +--
>  drivers/gpu/drm/exynos/exynos_drm_vidi.c   |  18 +-
>  drivers/gpu/drm/exynos/exynos_hdmi.c       |  22 +--
>  drivers/gpu/drm/exynos/exynos_mixer.c      |  14 +-
>  9 files changed, 99 insertions(+), 342 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> index d659ba2..22cb067 100644
> --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> @@ -769,11 +769,6 @@ static int decon_probe(struct platform_device *pdev)
>  	if (!ctx)
>  		return -ENOMEM;
>  
> -	ret = exynos_drm_component_add(dev, EXYNOS_DEVICE_TYPE_CRTC,
> -					EXYNOS_DISPLAY_TYPE_LCD);

Please also remove enum exynos_drm_device_type, with this patch it is
not used anymore.

	Gustavo


More information about the dri-devel mailing list