Re: [PATCH 0/4] removal of extra abstraction layers

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

 



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@xxxxxxxxxxx>:

> From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
> 
> 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
> 
_______________________________________________
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