[PATCH 00/10] extract dp helper functions
daniel.vetter at ffwll.ch
Thu Oct 18 01:15:22 PDT 2012
I've frustrated myself the last few days yelling at our link training code.
Comparing the i915 code to radeon and nouveau I've noticed the lack of a nice
set of dp helper functions. So I've started to extract a few.
There's lots more that we can do I think (link configuration selection, the i2c
over aux retry stuff which diverges already between i915 and radeon, maybe more
higher level parts of the training sequence). But there the drivers diverge
quite a bit (e.g. the link configuration is driver by different things in each
driver: coded link bw from the dp spec, link clock or required bw vs avialable
bw), so that's more work and probably best done when reworking these functions
for other reasons.
I've also tried to put the new helpers a bit to use in nouveau, but due to lack
of hw that part is untested.
Comments and testing highly welcome.
Daniel Vetter (10):
drm: rename drm_dp_i2c_helper.c to drm_dp_helper.c
drm: dp helper: extract drm_dp_channel_eq_ok
drm: dp helper: extract drm_dp_clock_recovery_ok
drm/nouveau: use the cr_ok/chanel_eq_ok helpers
drm: extract helpers to compute new training values from sink request
drm/nouveau: use dp link train request helper
drm: extract dp link train delay functions from radeon
drm/i915: use the new dp train delay helpers
drm: extract dp link bw helpers
drm: extract drm_dp_max_lane_count helper
drivers/gpu/drm/Makefile | 2 +-
drivers/gpu/drm/drm_dp_helper.c | 328 +++++++++++++++++++++++++++++++++++
drivers/gpu/drm/drm_dp_i2c_helper.c | 208 ----------------------
drivers/gpu/drm/i915/intel_dp.c | 98 ++---------
drivers/gpu/drm/nouveau/nouveau_dp.c | 35 +---
drivers/gpu/drm/radeon/atombios_dp.c | 147 ++--------------
drivers/gpu/drm/radeon/radeon_mode.h | 2 +-
include/drm/drm_dp_helper.h | 31 ++++
8 files changed, 400 insertions(+), 451 deletions(-)
create mode 100644 drivers/gpu/drm/drm_dp_helper.c
delete mode 100644 drivers/gpu/drm/drm_dp_i2c_helper.c
More information about the dri-devel