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 >