drm/mgag200: Implement new init logic
authorThomas Zimmermann <tzimmermann@suse.de>
Wed, 1 Jun 2022 11:25:17 +0000 (13:25 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 7 Jun 2022 07:39:54 +0000 (09:39 +0200)
commitb62d943e9686e791dd39f8bde302fc27446cdca9
treedc05ebabd25938439ebab8d913acc86eabd772d7
parentd45e32c9d98ce7c22a4bafe69cee58165b59533b
drm/mgag200: Implement new init logic

Rework mgag200_regs_init() and mgag200_mm_init() into device preinit
and init functions. The preinit function, mgag200_device_preinit(),
requests and maps a device's I/O and video memory. The init function,
mgag200_device_init() initializes the state of struct mga_device.
Splitting the initialization between the two functions is necessary
to perform per-model operations between the two calls, such as reading
the unique revision ID on G200SEs.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Tested-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220601112522.5774-6-tzimmermann@suse.de
13 files changed:
drivers/gpu/drm/mgag200/Makefile
drivers/gpu/drm/mgag200/mgag200_drv.c
drivers/gpu/drm/mgag200/mgag200_drv.h
drivers/gpu/drm/mgag200/mgag200_g200.c
drivers/gpu/drm/mgag200/mgag200_g200eh.c
drivers/gpu/drm/mgag200/mgag200_g200eh3.c
drivers/gpu/drm/mgag200/mgag200_g200er.c
drivers/gpu/drm/mgag200/mgag200_g200ev.c
drivers/gpu/drm/mgag200/mgag200_g200ew3.c
drivers/gpu/drm/mgag200/mgag200_g200se.c
drivers/gpu/drm/mgag200/mgag200_g200wb.c
drivers/gpu/drm/mgag200/mgag200_mm.c [deleted file]
drivers/gpu/drm/mgag200/mgag200_mode.c