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 <[email protected]>
Tested-by: Jocelyn Falempe <[email protected]>
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