[PATCH 00/10] extract dp helper functions
Alex Deucher
alexdeucher at gmail.com
Thu Oct 18 06:48:45 PDT 2012
On Thu, Oct 18, 2012 at 4:15 AM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> Hi all,
>
> 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.
In theory we could provide a helper function to do the entire link
training in common code. We'd just need a a couple of function
callbacks:
dp_aux_read()
dp_aux_write()
dp_link_train_init()
dp_set_src_training_pattern()
dp_link_train_fini()
Obviously some drivers may want to do their own thing, so it would
just be a helper. Still for DP 1.2, it would be nice to have the
option of sharing more code.
>
> 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.
>
> Yours, Daniel
>
> 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
>
> --
> 1.7.11.4
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the xorg-driver-ati
mailing list