All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] drm/mgag200: Refactor DDC code
@ 2024-05-13 12:51 Thomas Zimmermann
  2024-05-13 12:51 ` [PATCH 01/10] drm/mgag200: Set DDC timeout in milliseconds Thomas Zimmermann
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Thomas Zimmermann @ 2024-05-13 12:51 UTC (permalink / raw)
  To: jfalempe, airlied, maarten.lankhorst, mripard, airlied,
	jani.nikula
  Cc: dri-devel, Thomas Zimmermann

Clean up a the driver's DDC code, make it simpler, more robust, and
mostly self contained. The patches in this patchset have previously
been sent as part of rev 1 of [1].

Patches 1 and 2 fix long-standing problems in the DDC code.

Patches 3 to 9 refactor the DDC code. The code then keeps its data
structures internal, acquires locks automatically and is much more
readable overall.

Patch 10 replaces driver code with an equivalent helper.

Tested on various Matrox hardware.

[1] https://patchwork.freedesktop.org/series/131977/

Thomas Zimmermann (10):
  drm/mgag200: Set DDC timeout in milliseconds
  drm/mgag200: Bind I2C lifetime to DRM device
  drm/mgag200: Store pointer to struct mga_device in struct mga_i2c_chan
  drm/mgag200: Allocate instance of struct mga_i2c_chan dynamically
  drm/mgag200: Inline mgag200_i2c_init()
  drm/mgag200: Replace struct mga_i2c_chan with struct mgag200_ddc
  drm/mgag200: Rename mgag200_i2c.c to mgag200_ddc.c
  drm/mgag200: Rename struct i2c_algo_bit_data callbacks
  drm/mgag200: Acquire I/O-register lock in DDC code
  drm/mgag200: Use drm_connector_helper_get_modes()

 drivers/gpu/drm/mgag200/Makefile          |   2 +-
 drivers/gpu/drm/mgag200/mgag200_ddc.c     | 179 ++++++++++++++++++++++
 drivers/gpu/drm/mgag200/mgag200_ddc.h     |  11 ++
 drivers/gpu/drm/mgag200/mgag200_drv.h     |  18 +--
 drivers/gpu/drm/mgag200/mgag200_g200.c    |  11 +-
 drivers/gpu/drm/mgag200/mgag200_g200eh.c  |  11 +-
 drivers/gpu/drm/mgag200/mgag200_g200eh3.c |  11 +-
 drivers/gpu/drm/mgag200/mgag200_g200er.c  |  11 +-
 drivers/gpu/drm/mgag200/mgag200_g200ev.c  |  11 +-
 drivers/gpu/drm/mgag200/mgag200_g200ew3.c |  11 +-
 drivers/gpu/drm/mgag200/mgag200_g200se.c  |  11 +-
 drivers/gpu/drm/mgag200/mgag200_g200wb.c  |  11 +-
 drivers/gpu/drm/mgag200/mgag200_i2c.c     | 129 ----------------
 drivers/gpu/drm/mgag200/mgag200_mode.c    |  27 +---
 14 files changed, 241 insertions(+), 213 deletions(-)
 create mode 100644 drivers/gpu/drm/mgag200/mgag200_ddc.c
 create mode 100644 drivers/gpu/drm/mgag200/mgag200_ddc.h
 delete mode 100644 drivers/gpu/drm/mgag200/mgag200_i2c.c

-- 
2.45.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-05-16 10:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-13 12:51 [PATCH 00/10] drm/mgag200: Refactor DDC code Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 01/10] drm/mgag200: Set DDC timeout in milliseconds Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 02/10] drm/mgag200: Bind I2C lifetime to DRM device Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 03/10] drm/mgag200: Store pointer to struct mga_device in struct mga_i2c_chan Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 04/10] drm/mgag200: Allocate instance of struct mga_i2c_chan dynamically Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 05/10] drm/mgag200: Inline mgag200_i2c_init() Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 06/10] drm/mgag200: Replace struct mga_i2c_chan with struct mgag200_ddc Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 07/10] drm/mgag200: Rename mgag200_i2c.c to mgag200_ddc.c Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 08/10] drm/mgag200: Rename struct i2c_algo_bit_data callbacks Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 09/10] drm/mgag200: Acquire I/O-register lock in DDC code Thomas Zimmermann
2024-05-13 12:51 ` [PATCH 10/10] drm/mgag200: Use drm_connector_helper_get_modes() Thomas Zimmermann
2024-05-16  9:14 ` [PATCH 00/10] drm/mgag200: Refactor DDC code Jocelyn Falempe
2024-05-16 10:50   ` Thomas Zimmermann

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.