mbox series

[v2,00/14] drm/ast: Managed modesetting

Message ID 20200702115029.5281-1-tzimmermann@suse.de (mailing list archive)
Headers show
Series drm/ast: Managed modesetting | expand

Message

Thomas Zimmermann July 2, 2020, 11:50 a.m. UTC
This is the first patchset to convert ast to use managed interfaces. These
patches address modesetting. I expect that there will be at least one more
set of patches for memory management and one for device structures.

Patches 1 to 11 tackle HW cursor handling. The overall point is to get
cursor support out of the plane functions and put the code into helpers.
There are quite a few improvements that make cursors easier and faster to
use. Patch 10 converts cursors to managed release.

With cursors out of the way, modesetting initialization is much more
simple. Patches 12 to 14 put all related code next to each other and
switch to managed initialization.

The patchset was tested on AST2100 hardware.

v2:
	* use to_ast_private() instead of
	  struct drm_device.dev_private (Sam)

Thomas Zimmermann (14):
  drm/ast: Move cursor functions to ast_cursor.c
  drm/ast: Pass struct ast_private instance to cursor init/fini
    functions
  drm/ast: Move cursor fb pinning and mapping into helper
  drm/ast: Update cursor image and checksum from same function
  drm/ast: Move cursor pageflip into helper
  drm/ast: Replace ast_cursor_move() with ast_cursor_show()
  drm/ast: Don't enable HW cursors twice during atomic update
  drm/ast: Add helper to hide cursor
  drm/ast: Keep cursor HW BOs mapped
  drm/ast: Managed cursor release
  drm/ast: Init cursors before creating modesetting structures
  drm/ast: Replace struct ast_crtc with struct drm_crtc
  drm/ast: Use managed mode-config init
  drm/ast: Initialize mode setting in ast_mode_config_init()

 drivers/gpu/drm/ast/Makefile     |   3 +-
 drivers/gpu/drm/ast/ast_cursor.c | 289 +++++++++++++++++++++++++++
 drivers/gpu/drm/ast/ast_drv.h    |  19 +-
 drivers/gpu/drm/ast/ast_main.c   |  35 +---
 drivers/gpu/drm/ast/ast_mode.c   | 322 ++++++-------------------------
 5 files changed, 359 insertions(+), 309 deletions(-)
 create mode 100644 drivers/gpu/drm/ast/ast_cursor.c

--
2.27.0

Comments

Sam Ravnborg July 3, 2020, 6:44 a.m. UTC | #1
Hi Thomas.

On Thu, Jul 02, 2020 at 01:50:15PM +0200, Thomas Zimmermann wrote:
> This is the first patchset to convert ast to use managed interfaces. These
> patches address modesetting. I expect that there will be at least one more
> set of patches for memory management and one for device structures.
> 
> Patches 1 to 11 tackle HW cursor handling. The overall point is to get
> cursor support out of the plane functions and put the code into helpers.
> There are quite a few improvements that make cursors easier and faster to
> use. Patch 10 converts cursors to managed release.
> 
> With cursors out of the way, modesetting initialization is much more
> simple. Patches 12 to 14 put all related code next to each other and
> switch to managed initialization.
> 
> The patchset was tested on AST2100 hardware.
> 
> v2:
> 	* use to_ast_private() instead of
> 	  struct drm_device.dev_private (Sam)
> 
> Thomas Zimmermann (14):
>   drm/ast: Move cursor functions to ast_cursor.c
>   drm/ast: Pass struct ast_private instance to cursor init/fini
>     functions
>   drm/ast: Move cursor fb pinning and mapping into helper
>   drm/ast: Update cursor image and checksum from same function
>   drm/ast: Move cursor pageflip into helper
>   drm/ast: Replace ast_cursor_move() with ast_cursor_show()
>   drm/ast: Don't enable HW cursors twice during atomic update
>   drm/ast: Add helper to hide cursor
>   drm/ast: Keep cursor HW BOs mapped
>   drm/ast: Managed cursor release
>   drm/ast: Init cursors before creating modesetting structures
>   drm/ast: Replace struct ast_crtc with struct drm_crtc
>   drm/ast: Use managed mode-config init
>   drm/ast: Initialize mode setting in ast_mode_config_init()
I have browsed the patch-set. Nothing jumped at me but then
most of the bo handling I do not understand.

Feel free to add:
Acked-by: Sam Ravnborg <sam@ravnborg.org>
to all patches.

But I hope someone else that knows this better could jump in and
take a look too.

	Sam

> 
>  drivers/gpu/drm/ast/Makefile     |   3 +-
>  drivers/gpu/drm/ast/ast_cursor.c | 289 +++++++++++++++++++++++++++
>  drivers/gpu/drm/ast/ast_drv.h    |  19 +-
>  drivers/gpu/drm/ast/ast_main.c   |  35 +---
>  drivers/gpu/drm/ast/ast_mode.c   | 322 ++++++-------------------------
>  5 files changed, 359 insertions(+), 309 deletions(-)
>  create mode 100644 drivers/gpu/drm/ast/ast_cursor.c
> 
> --
> 2.27.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Thomas Zimmermann July 3, 2020, 6:53 a.m. UTC | #2
Hi

Am 03.07.20 um 08:44 schrieb Sam Ravnborg:
> Hi Thomas.
> 
> On Thu, Jul 02, 2020 at 01:50:15PM +0200, Thomas Zimmermann wrote:
>> This is the first patchset to convert ast to use managed interfaces. These
>> patches address modesetting. I expect that there will be at least one more
>> set of patches for memory management and one for device structures.
>>
>> Patches 1 to 11 tackle HW cursor handling. The overall point is to get
>> cursor support out of the plane functions and put the code into helpers.
>> There are quite a few improvements that make cursors easier and faster to
>> use. Patch 10 converts cursors to managed release.
>>
>> With cursors out of the way, modesetting initialization is much more
>> simple. Patches 12 to 14 put all related code next to each other and
>> switch to managed initialization.
>>
>> The patchset was tested on AST2100 hardware.
>>
>> v2:
>> 	* use to_ast_private() instead of
>> 	  struct drm_device.dev_private (Sam)
>>
>> Thomas Zimmermann (14):
>>   drm/ast: Move cursor functions to ast_cursor.c
>>   drm/ast: Pass struct ast_private instance to cursor init/fini
>>     functions
>>   drm/ast: Move cursor fb pinning and mapping into helper
>>   drm/ast: Update cursor image and checksum from same function
>>   drm/ast: Move cursor pageflip into helper
>>   drm/ast: Replace ast_cursor_move() with ast_cursor_show()
>>   drm/ast: Don't enable HW cursors twice during atomic update
>>   drm/ast: Add helper to hide cursor
>>   drm/ast: Keep cursor HW BOs mapped
>>   drm/ast: Managed cursor release
>>   drm/ast: Init cursors before creating modesetting structures
>>   drm/ast: Replace struct ast_crtc with struct drm_crtc
>>   drm/ast: Use managed mode-config init
>>   drm/ast: Initialize mode setting in ast_mode_config_init()
> I have browsed the patch-set. Nothing jumped at me but then
> most of the bo handling I do not understand.
> 
> Feel free to add:
> Acked-by: Sam Ravnborg <sam@ravnborg.org>
> to all patches.
> 
> But I hope someone else that knows this better could jump in and
> take a look too.

Thank you so much. Finding reviewers for such obscure drivers is not
easy. I appreciate your feedback.

Best regards
Thomas

> 
> 	Sam
> 
>>
>>  drivers/gpu/drm/ast/Makefile     |   3 +-
>>  drivers/gpu/drm/ast/ast_cursor.c | 289 +++++++++++++++++++++++++++
>>  drivers/gpu/drm/ast/ast_drv.h    |  19 +-
>>  drivers/gpu/drm/ast/ast_main.c   |  35 +---
>>  drivers/gpu/drm/ast/ast_mode.c   | 322 ++++++-------------------------
>>  5 files changed, 359 insertions(+), 309 deletions(-)
>>  create mode 100644 drivers/gpu/drm/ast/ast_cursor.c
>>
>> --
>> 2.27.0
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>