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@xxxxxxxxxxxx> 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:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel