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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
> 

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux