All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: john.p.donnelly@oracle.com, dri-devel@lists.freedesktop.org,
	kraxel@redhat.com, airlied@redhat.com,
	emil.velikov@collabora.com
Subject: Re: [PATCH v2 00/15] drm/mgag200: Convert to atomic modesetting
Date: Wed, 13 May 2020 13:06:14 +0200	[thread overview]
Message-ID: <d6d76b92-9676-cffa-dc41-9aa993bde6e4@suse.de> (raw)
In-Reply-To: <20200512185636.GB13949@ravnborg.org>


[-- Attachment #1.1.1: Type: text/plain, Size: 3529 bytes --]

Hi

Am 12.05.20 um 20:56 schrieb Sam Ravnborg:
> Hi Thomas.
> 
> On Tue, May 12, 2020 at 10:42:43AM +0200, Thomas Zimmermann wrote:
>> This patchset converts mgag200 to atomic modesetting. It uses simple
>> KMS helpers and SHMEM.
>>
>> Patch 1 removes cursor support. The HW cursor is not usable with the
>> way universal planes work.
>>
>> Patches 2 to 11 untangle the existing modesetting code into smaller
>> functions. Specifically, mode setting and plane updates are being
>> separated from each other.
>>
>> Patch 12 to 14 convert mgag200 to simple KMS helpers and enables atomic
>> mode setting.
>>
>> Atomically switching plane framebuffers, requires either source or target
>> buffer to be located at a non-0 offet. As some HW revisions seem to require
>> a framebuffer offset of 0 within the video memory, they do not work with
>> atomic modesetting. To resolve this problem, patch 15 converts mgag200
>> from VRAM helpers to SHMEM helpers. During plane updates, the content of
>> the SHMEM BO is memcpy'd to VRAM. From my observation, performance is not
>> nuch different from the original code.
>>
>> The patchset has been tested on MGA G200EH hardware.
>>
>> v2:
>> 	* rebase patchset
>> 	* replace uint{8,32}_t with u{8,32} through-out patchset
>> 	* define additional register constants
>> 	* use helper functions around bpp-shift computations
>> 	* split conversion patch
>> 	* cleanups
> With the one comment addressed patch 1-14 are now all:
> Acked-by: Sam Ravnborg <sam@ravnborg.org>

Sure, I'll add that comment. Thanks for the timely reviews.

Best regards
Thomas

> 
> I did not look at the last patch - all the memory stuff is still beyond
> me.
> 
> Nice to see this driver gettting so much love and care.
> The end result is a much nicer driver implmentation.
> 
> 	Sam
> 
>>
>> Thomas Zimmermann (15):
>>   drm/mgag200: Remove HW cursor
>>   drm/mgag200: Clean up mga_set_start_address()
>>   drm/mgag200: Clean up mga_crtc_do_set_base()
>>   drm/mgag200: Move mode-setting code into separate helper function
>>   drm/mgag200: Split MISC register update into PLL selection, SYNC and
>>     I/O
>>   drm/mgag200: Update mode registers after plane registers
>>   drm/mgag200: Set pitch in a separate helper function
>>   drm/mgag200: Set primary plane's format in separate helper function
>>   drm/mgag200: Move TAGFIFO reset into separate function
>>   drm/mgag200: Move hiprilvl setting into separate functions
>>   drm/mgag200: Move register initialization into separate function
>>   drm/mgag200: Remove out-commented suspend/resume helpers
>>   drm/mgag200: Use simple-display data structures
>>   drm/mgag200: Convert to simple KMS helper
>>   drm/mgag200: Replace VRAM helpers with SHMEM helpers
>>
>>  drivers/gpu/drm/mgag200/Kconfig        |   4 +-
>>  drivers/gpu/drm/mgag200/Makefile       |   2 +-
>>  drivers/gpu/drm/mgag200/mgag200_drv.c  |  51 +-
>>  drivers/gpu/drm/mgag200/mgag200_drv.h  |  41 +-
>>  drivers/gpu/drm/mgag200/mgag200_main.c |   5 -
>>  drivers/gpu/drm/mgag200/mgag200_mode.c | 871 ++++++++++++++-----------
>>  drivers/gpu/drm/mgag200/mgag200_reg.h  |  11 +-
>>  drivers/gpu/drm/mgag200/mgag200_ttm.c  |  28 +-
>>  8 files changed, 528 insertions(+), 485 deletions(-)
>>
>> --
>> 2.26.2

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

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

      reply	other threads:[~2020-05-13 11:06 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-12  8:42 [PATCH v2 00/15] drm/mgag200: Convert to atomic modesetting Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 01/15] drm/mgag200: Remove HW cursor Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 02/15] drm/mgag200: Clean up mga_set_start_address() Thomas Zimmermann
2020-05-12 18:50   ` Sam Ravnborg
2020-05-12  8:42 ` [PATCH v2 03/15] drm/mgag200: Clean up mga_crtc_do_set_base() Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 04/15] drm/mgag200: Move mode-setting code into separate helper function Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 05/15] drm/mgag200: Split MISC register update into PLL selection, SYNC and I/O Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 06/15] drm/mgag200: Update mode registers after plane registers Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 07/15] drm/mgag200: Set pitch in a separate helper function Thomas Zimmermann
2020-05-12 10:27   ` Emil Velikov
2020-05-12 18:34     ` Thomas Zimmermann
2020-05-13  8:57       ` Emil Velikov
2020-05-12  8:42 ` [PATCH v2 08/15] drm/mgag200: Set primary plane's format in " Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 09/15] drm/mgag200: Move TAGFIFO reset into separate function Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 10/15] drm/mgag200: Move hiprilvl setting into separate functions Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 11/15] drm/mgag200: Move register initialization into separate function Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 12/15] drm/mgag200: Remove out-commented suspend/resume helpers Thomas Zimmermann
2020-05-12 10:14   ` Emil Velikov
2020-05-12 18:47     ` Thomas Zimmermann
2020-05-13  9:15       ` Emil Velikov
2020-05-13 12:23         ` Daniel Vetter
2020-05-12  8:42 ` [PATCH v2 13/15] drm/mgag200: Use simple-display data structures Thomas Zimmermann
2020-05-12 10:16   ` Emil Velikov
2020-05-12 18:47     ` Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 14/15] drm/mgag200: Convert to simple KMS helper Thomas Zimmermann
2020-05-12  8:42 ` [PATCH v2 15/15] drm/mgag200: Replace VRAM helpers with SHMEM helpers Thomas Zimmermann
2020-05-12 10:30   ` Emil Velikov
2020-05-12 18:52     ` Thomas Zimmermann
2020-05-12 18:56 ` [PATCH v2 00/15] drm/mgag200: Convert to atomic modesetting Sam Ravnborg
2020-05-13 11:06   ` Thomas Zimmermann [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d6d76b92-9676-cffa-dc41-9aa993bde6e4@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.velikov@collabora.com \
    --cc=john.p.donnelly@oracle.com \
    --cc=kraxel@redhat.com \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.