[PATCH 0/4] removal of extra abstraction layers
Gustavo Padovan
gustavo at padovan.org
Tue Dec 2 04:38:47 PST 2014
Hi Inki,
Can you please review this? I also have sent other two patch sets that sits on
top of this one. Thanks.
Gustavo
2014-11-24 Gustavo Padovan <gustavo at padovan.org>:
> From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
>
> Hi Inki,
>
> In this series I've removed some level of indirection from the exynos_drm_code.
> There two moves in these patches, first we remove all exynos_drm_crtc_plane_*()
> wrappers and call the manager specific functions directly. The other change is
> the removal of struct exynos_drm_overlay(). In my understanding the overlay
> struct was just storing plane data in a 1:1 relationship so it made sense to
> merge its fields in struct exynos_drm_plane and remove another abstraction from
> the driver.
>
> Next steps:
>
> During our initial investigation on the Exynos DRM driver we've spoted a few
> abstractions that could be removed to get a more clean and less abstract code.
> - struct exynos_drm_manager: this is just a helper of
> struct exynos_drm_crtc, I suggest we could merge them both.
> - struct *_win_data: Most of the share common fields and could be merged
> int struct exynos_drm_plane.
> - some more function wrapper can be removed as well.
>
> After these changes intead of looking to manager and win_data we will look into
> crtc and planes. The new names give us more clue about what a piece of code is
> doing since they are already defined and used by the whole DRM ecossytem.
>
> What your thoughts on this? I've seen that you pushed some patches to remove
> static usage of managers so I would like to check with you which direction are
> you planning to go with this. I've done some code[0] around this but now it
> needs a rebase against you exynos-drm-next.
>
> [0] https://git.kernel.org/cgit/linux/kernel/git/padovan/drm-exynos.git/log/?h=cleanup
>
> Gustavo Padovan (4):
> drm/exynos: move to_exynos_crtc() macro to main header
> drm/exynos: expose struct exynos_drm_crtc
> drm/exynos: remove exynos_drm_crtc_plane_* wrappers
> drm/exynos: remove struct exynos_drm_overlay
>
> drivers/gpu/drm/exynos/exynos_drm_crtc.c | 66 ---------------------
> drivers/gpu/drm/exynos/exynos_drm_crtc.h | 2 +-
> drivers/gpu/drm/exynos/exynos_drm_drv.h | 43 +++++++++++++-
> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 44 +++++++-------
> drivers/gpu/drm/exynos/exynos_drm_plane.c | 96 +++++++++++++++----------------
> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 38 ++++++------
> drivers/gpu/drm/exynos/exynos_mixer.c | 50 ++++++++--------
> 7 files changed, 156 insertions(+), 183 deletions(-)
>
> --
> 1.9.3
>
More information about the dri-devel
mailing list