Hi Am 02.06.22 um 11:52 schrieb Jocelyn Falempe: > On 01/06/2022 13:25, Thomas Zimmermann wrote: >> Convert the device-init code to use a device-info structure for each >> model. The device info contains constants and flags that were previously >> located in different places of the code. >> >> Also refactor the PCI and VRAM initialization handling. A later patchset >> could convert the PCI magic numbers into constants. >> >> For modesetting, the per-model init functions currently don't do much. >> This will change when more model-specific code gets moved there. The >> modesetting and PLL code contains model-specific handling that should >> be refactored. >> >> Tested with G200 and G200EV hardware. > > Thanks for this refactoring. > I've also tested this patchset on a G200eW, and have seen no regression. > > For the whole series: > > Reviewed-by: Jocelyn Falempe > Tested-by: Jocelyn Falempe Thanks a lot. FYI I have another patchset in the queue that removes the type-related branching throughout the driver. It covers modesetting and PLL setup and will split the driver into per-model and fully-generic code. It's fairly large but mostly refactoring of existing code. I'll post it when these patches have landed without major regressions. Best regards Thomas > >> >> Thomas Zimmermann (10): >>    drm/mgag200: Remove special case for G200SE with <2 MiB >>    drm/mgag200: Initialize each model in separate function >>    drm/mgag200: Move PCI-option setup into model-specific code >>    drm/mgag200: Call mgag200_device_probe_vram() from per-model init >>    drm/mgag200: Implement new init logic >>    drm/mgag200: Add struct mgag200_device_info >>    drm/mgag200: Store HW_BUG_NO_STARTADD flag in device info >>    drm/mgag200: Store maximum resolution and memory bandwith in device >>      info >>    drm/mgag200: Store vidrst flag in device info >>    drm/mgag200: Store positions of I2C data and clock bits in device info >> >>   drivers/gpu/drm/mgag200/Makefile          |  14 +- >>   drivers/gpu/drm/mgag200/mgag200_drv.c     | 386 ++++++++-------------- >>   drivers/gpu/drm/mgag200/mgag200_drv.h     | 135 ++++++-- >>   drivers/gpu/drm/mgag200/mgag200_g200.c    | 200 +++++++++++ >>   drivers/gpu/drm/mgag200/mgag200_g200eh.c  |  50 +++ >>   drivers/gpu/drm/mgag200/mgag200_g200eh3.c |  51 +++ >>   drivers/gpu/drm/mgag200/mgag200_g200er.c  |  46 +++ >>   drivers/gpu/drm/mgag200/mgag200_g200ev.c  |  50 +++ >>   drivers/gpu/drm/mgag200/mgag200_g200ew3.c |  60 ++++ >>   drivers/gpu/drm/mgag200/mgag200_g200se.c  | 130 ++++++++ >>   drivers/gpu/drm/mgag200/mgag200_g200wb.c  |  50 +++ >>   drivers/gpu/drm/mgag200/mgag200_i2c.c     |  27 +- >>   drivers/gpu/drm/mgag200/mgag200_mm.c      | 116 ------- >>   drivers/gpu/drm/mgag200/mgag200_mode.c    | 100 ++---- >>   drivers/gpu/drm/mgag200/mgag200_pll.c     |  12 +- >>   drivers/gpu/drm/mgag200/mgag200_reg.h     |   2 + >>   16 files changed, 942 insertions(+), 487 deletions(-) >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200.c >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200eh.c >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200eh3.c >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200er.c >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200ev.c >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200ew3.c >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200se.c >>   create mode 100644 drivers/gpu/drm/mgag200/mgag200_g200wb.c >>   delete mode 100644 drivers/gpu/drm/mgag200/mgag200_mm.c >> >> >> base-commit: 2c8cc5cd20e28afe6b63acb28890e5f57d9bf055 >> prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d >> prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 > > > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev