[PATCH v2 0/7] drm/exynos: more cleanup with super device support

Andrzej Hajda a.hajda at samsung.com
Thu Apr 3 00:43:46 PDT 2014


Hi Inki,

On 04/01/2014 02:37 PM, Inki Dae wrote:
> This patch series cleans up exynos drm framework and kms sub drivers
> using the component framework[1].

I have tested it on trats platform (fimd + dsi), it works.
However it seems to be suboptimal.
In case of deferred probing of any of components (due to lack of some
resources, ex. clock, regulator, phy), all components
which were already bound are unbound and re-bound later when another
driver is added, this causes multiple unnecessary free/re-allocate cycles.
Maybe I miss something, but I guess registration list(s) + DT super-node
should perform better.

Here is sample log from trats with mipi-phy driver delayed probe:

 binding 11c00000.fimd (ops fimd_component_ops)
 bound 11c00000.fimd (ops fimd_component_ops)
 binding 11c80000.dsi (ops exynos_dsi_component_ops)
 failed to bind 11c80000.dsi (ops exynos_dsi_component_ops): -517
 unbinding 11c00000.fimd (ops fimd_component_ops)
 master bind failed: -517
 binding 11c00000.fimd (ops fimd_component_ops)
 bound 11c00000.fimd (ops fimd_component_ops)
 binding 11c80000.dsi (ops exynos_dsi_component_ops)
 failed to bind 11c80000.dsi (ops exynos_dsi_component_ops): -517
 unbinding 11c00000.fimd (ops fimd_component_ops)
 master bind failed: -517
 binding 11c00000.fimd (ops fimd_component_ops)
 bound 11c00000.fimd (ops fimd_component_ops)
 binding 11c80000.dsi (ops exynos_dsi_component_ops)
 failed to bind 11c80000.dsi (ops exynos_dsi_component_ops): -517
 unbinding 11c00000.fimd (ops fimd_component_ops)
 master bind failed: -517
 binding 11c00000.fimd (ops fimd_component_ops)
 bound 11c00000.fimd (ops fimd_component_ops)
 binding 11c80000.dsi (ops exynos_dsi_component_ops)
 failed to bind 11c80000.dsi (ops exynos_dsi_component_ops): -517
 unbinding 11c00000.fimd (ops fimd_component_ops)
 master bind failed: -517
 binding 11c00000.fimd (ops fimd_component_ops)
 bound 11c00000.fimd (ops fimd_component_ops)
 binding 11c80000.dsi (ops exynos_dsi_component_ops)
 bound 11c80000.dsi (ops exynos_dsi_component_ops)

This log will grow with number of devices probed in-between.

Regards
Andrzej

> 
> And this patch series had been posted for RFC[2].
> 
> Thanks,
> Inki Dae
> 
> [1] http://lists.freedesktop.org/archives/dri-devel/2014-January/051249.html
> [2] http://comments.gmane.org/gmane.comp.video.dri.devel/101200
> 
> 
> Inki Dae (7):
>   drm/exynos: add super device support
>   drm/exynos: dpi: fix hotplug fail issue
>   drm/exynos: register platform driver at each kms sub drivers
>   ARM: dts: exynos4210-universal: add super device node for exynos drm
>   ARM: dts: exynos4210-trats: add super device node for exynos drm
>   ARM: dts: exynos4412-trats2: add super device node for exynos drm
>   exynos/drm: add DT bindings
> 
>  .../bindings/drm/exynos/samsung-exynos-drm.txt     |   32 +++
>  arch/arm/boot/dts/exynos4210-trats.dts             |    5 +
>  arch/arm/boot/dts/exynos4210-universal_c210.dts    |    5 +
>  arch/arm/boot/dts/exynos4412-trats2.dts            |    5 +
>  drivers/gpu/drm/exynos/exynos_dp_core.c            |   46 ++--
>  drivers/gpu/drm/exynos/exynos_drm_core.c           |  216 +++--------------
>  drivers/gpu/drm/exynos/exynos_drm_crtc.c           |   17 ++
>  drivers/gpu/drm/exynos/exynos_drm_crtc.h           |    4 +
>  drivers/gpu/drm/exynos/exynos_drm_dpi.c            |   21 +-
>  drivers/gpu/drm/exynos/exynos_drm_drv.c            |  256 ++++++++------------
>  drivers/gpu/drm/exynos/exynos_drm_drv.h            |   79 +++---
>  drivers/gpu/drm/exynos/exynos_drm_dsi.c            |   39 ++-
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c           |   77 ++++--
>  drivers/gpu/drm/exynos/exynos_drm_vidi.c           |   61 +++--
>  drivers/gpu/drm/exynos/exynos_hdmi.c               |   46 ++--
>  drivers/gpu/drm/exynos/exynos_mixer.c              |   55 ++++-
>  16 files changed, 490 insertions(+), 474 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/drm/exynos/samsung-exynos-drm.txt
> 



More information about the dri-devel mailing list