All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/29] drm/i915: Eliminate DDI encoder->type frobbery redux
@ 2017-09-18 18:25 Ville Syrjala
  2017-09-18 18:25 ` [PATCH 01/29] drm/i915: Replace some spaces with tabs Ville Syrjala
                   ` (35 more replies)
  0 siblings, 36 replies; 58+ messages in thread
From: Ville Syrjala @ 2017-09-18 18:25 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

This series aims to eliminate the DDI encoder->type shenanigans.
Afterwards encoder->type will permanently be "DDI" for DDI DP/HDMI
ports, and "EDP" for DDI eDP ports. To figure out in which mode
we want to drive the port we use the output_types bitmask, which
for DDI will be computed by the new .compute_output_type() encoder
hook.

Originally (some years ago?) I simply planned to avoid this role 
switching for the DDI encoders by splitting each encoders into two
two separate instances (which is how the pre-DDI platforms work).
I even posted a patch series achieving this. But the series didn't
land before LSPCON happened and at that point I figured that we
actually might want to switch the encoder mode as needed. So I
came up with this alternative apporach (and introduced the
output_types bitmask). Unfortunately I never managed to land the
remaining bits.

Having a single encoder per DDI port does have the benefit of
giving userspace a hint that there's no way to enable both the DP
and HDMI connectors handing off it at the same time. With pre-DDI
platforms userspace has no idea which connectors are tied to the
same port. So one might argue that this is indeed the better
approach.

Since I last posted this stuff a lot has changed in the DDI code
(BXT and CNL at least, can't recall if SKL was a thing when
I originally posted this stuff). So this series actually turned
out into a rather massive "clean up DDI" series. I regret it
ending up this big, but I don't think I want to start spliting
it up at this point. So I'll just offer my apologies and post
the series as is. The patches shouldn't be too tricky to read
since it's basically just refactoring all over.

Entire series is available here:
git://github.com/vsyrjala/linux.git ddi_output_types

Ville Syrjälä (29):
  drm/i915: Replace some spaces with tabs
  drm/i915: Shrink bxt_ddi_buf_trans
  drm/i915: Shrink cnl_ddi_buf_trans
  drm/i915: Dump 'output_types' in crtc state dump
  drm/i915: Extract intel_ddi_clk_disable()
  drm/i915: Extract intel_disable_ddi_buf()
  drm/i915: Inline the required bits of intel_ddi_post_disable() into
    intel_ddi_fdi_post_disable()
  drm/i915: Split intel_ddi_post_disable() into DP vs. HDMI variants
  drm/i915: Remove useless eDP check from intel_ddi_pre_enable_dp()
  drm/i915: Split intel_disable_ddi() into DP vs. HDMI variants
  drm/i915: Plump crtc_state etc. directly to
    intel_ddi_pre_enable_{dp,hdmi}()
  drm/i915: Split intel_enable_ddi() into DP and HDMI variants
  drm/i915: Relocate intel_ddi_get_buf_trans_*() functions
  drm/i915: Extract intel_ddi_get_buf_trans_hdmi()
  drm/i915: Pass the encoder type explicitly to skl_set_iboost()
  drm/i915: Pass the level to intel_prepare_hdmi_ddi_buffers()
  drm/i915: Integrate BXT into intel_ddi_dp_voltage_max()
  drm/i915: Pass encoder type to cnl_ddi_vswing_sequence() explicitly
  drm/i915: Kill off the BXT buf_trans default_index
  drm/i915: Don't use encoder->type in intel_ddi_set_pipe_settings()
  drm/i915: Pass crtc state to intel_prepare_dp_ddi_buffers()
  drm/i915: Start using output_types for DPLL selection
  drm/i915: Stop using encoder->type in
    intel_ddi_enable_transcoder_func()
  drm/i915: Centralize the SKL DDI A/E vs. B/C/D buf trans handling
  drm/i915: Stop frobbing with DDI encoder->type
  drm/i915: Unify error handling for missing DDI buf trans tables
  drm/i915: Clear up the types we use for DDI buf trans level/n_entries
  drm/i915: Replace most intel_ddi_get_encoder_port() alls with
    encoder->port
  drm/i915: Pass a crtc state to ddi post_disable from MST code

 drivers/gpu/drm/i915/i915_debugfs.c   |   2 +-
 drivers/gpu/drm/i915/intel_ddi.c      | 973 ++++++++++++++++++----------------
 drivers/gpu/drm/i915/intel_display.c  |  59 ++-
 drivers/gpu/drm/i915/intel_dp.c       |  19 +-
 drivers/gpu/drm/i915/intel_dp_mst.c   |   2 +-
 drivers/gpu/drm/i915/intel_dpll_mgr.c |  36 +-
 drivers/gpu/drm/i915/intel_drv.h      |   7 +-
 drivers/gpu/drm/i915/intel_hdmi.c     |  10 +-
 drivers/gpu/drm/i915/intel_opregion.c |   2 +-
 9 files changed, 603 insertions(+), 507 deletions(-)

-- 
2.13.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2017-09-25 11:40 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-18 18:25 [PATCH 00/29] drm/i915: Eliminate DDI encoder->type frobbery redux Ville Syrjala
2017-09-18 18:25 ` [PATCH 01/29] drm/i915: Replace some spaces with tabs Ville Syrjala
2017-09-18 18:38   ` Chris Wilson
2017-09-18 18:53   ` Jani Nikula
2017-09-18 18:25 ` [PATCH 02/29] drm/i915: Shrink bxt_ddi_buf_trans Ville Syrjala
2017-09-18 18:54   ` Jani Nikula
2017-09-18 18:25 ` [PATCH 03/29] drm/i915: Shrink cnl_ddi_buf_trans Ville Syrjala
2017-09-18 18:39   ` Chris Wilson
2017-09-18 18:40   ` Chris Wilson
2017-09-18 19:02     ` Chris Wilson
2017-09-18 18:25 ` [PATCH 04/29] drm/i915: Dump 'output_types' in crtc state dump Ville Syrjala
2017-09-18 18:43   ` Chris Wilson
2017-09-18 18:56     ` Ville Syrjälä
2017-09-18 18:54   ` Jani Nikula
2017-09-20 14:03   ` [PATCH v2 " Ville Syrjala
2017-09-18 18:25 ` [PATCH 05/29] drm/i915: Extract intel_ddi_clk_disable() Ville Syrjala
2017-09-18 18:45   ` Chris Wilson
2017-09-18 19:09     ` Ville Syrjälä
2017-09-18 18:25 ` [PATCH 06/29] drm/i915: Extract intel_disable_ddi_buf() Ville Syrjala
2017-09-18 18:55   ` Jani Nikula
2017-09-18 18:25 ` [PATCH 07/29] drm/i915: Inline the required bits of intel_ddi_post_disable() into intel_ddi_fdi_post_disable() Ville Syrjala
2017-09-18 18:55   ` Jani Nikula
2017-09-18 18:25 ` [PATCH 08/29] drm/i915: Split intel_ddi_post_disable() into DP vs. HDMI variants Ville Syrjala
2017-09-18 18:56   ` Jani Nikula
2017-09-18 18:25 ` [PATCH 09/29] drm/i915: Remove useless eDP check from intel_ddi_pre_enable_dp() Ville Syrjala
2017-09-18 18:56   ` Jani Nikula
2017-09-18 18:25 ` [PATCH 10/29] drm/i915: Split intel_disable_ddi() into DP vs. HDMI variants Ville Syrjala
2017-09-18 18:25 ` [PATCH 11/29] drm/i915: Plump crtc_state etc. directly to intel_ddi_pre_enable_{dp, hdmi}() Ville Syrjala
2017-09-18 18:25 ` [PATCH 12/29] drm/i915: Split intel_enable_ddi() into DP and HDMI variants Ville Syrjala
2017-09-18 18:25 ` [PATCH 13/29] drm/i915: Relocate intel_ddi_get_buf_trans_*() functions Ville Syrjala
2017-09-18 18:25 ` [PATCH 14/29] drm/i915: Extract intel_ddi_get_buf_trans_hdmi() Ville Syrjala
2017-09-18 18:25 ` [PATCH 15/29] drm/i915: Pass the encoder type explicitly to skl_set_iboost() Ville Syrjala
2017-09-18 18:25 ` [PATCH 16/29] drm/i915: Pass the level to intel_prepare_hdmi_ddi_buffers() Ville Syrjala
2017-09-18 18:25 ` [PATCH 17/29] drm/i915: Integrate BXT into intel_ddi_dp_voltage_max() Ville Syrjala
2017-09-18 18:25 ` [PATCH 18/29] drm/i915: Pass encoder type to cnl_ddi_vswing_sequence() explicitly Ville Syrjala
2017-09-18 18:25 ` [PATCH 19/29] drm/i915: Kill off the BXT buf_trans default_index Ville Syrjala
2017-09-18 18:25 ` [PATCH 20/29] drm/i915: Don't use encoder->type in intel_ddi_set_pipe_settings() Ville Syrjala
2017-09-18 18:25 ` [PATCH 21/29] drm/i915: Pass crtc state to intel_prepare_dp_ddi_buffers() Ville Syrjala
2017-09-18 18:25 ` [PATCH 22/29] drm/i915: Start using output_types for DPLL selection Ville Syrjala
2017-09-18 18:25 ` [PATCH 23/29] drm/i915: Stop using encoder->type in intel_ddi_enable_transcoder_func() Ville Syrjala
2017-09-18 18:25 ` [PATCH 24/29] drm/i915: Centralize the SKL DDI A/E vs. B/C/D buf trans handling Ville Syrjala
2017-09-18 18:26 ` [PATCH 25/29] drm/i915: Stop frobbing with DDI encoder->type Ville Syrjala
2017-09-21 11:06   ` [PATCH v2 " Ville Syrjala
2017-09-21 14:56   ` [PATCH v3 " Ville Syrjala
2017-09-18 18:26 ` [PATCH 26/29] drm/i915: Unify error handling for missing DDI buf trans tables Ville Syrjala
2017-09-18 18:26 ` [PATCH 27/29] drm/i915: Clear up the types we use for DDI buf trans level/n_entries Ville Syrjala
2017-09-18 18:26 ` [PATCH 28/29] drm/i915: Replace most intel_ddi_get_encoder_port() alls with encoder->port Ville Syrjala
2017-09-18 18:26 ` [PATCH 29/29] drm/i915: Pass a crtc state to ddi post_disable from MST code Ville Syrjala
2017-09-18 19:02   ` Jani Nikula
2017-09-18 19:04 ` [PATCH 00/29] drm/i915: Eliminate DDI encoder->type frobbery redux Jani Nikula
2017-09-18 19:46 ` ✗ Fi.CI.BAT: failure for " Patchwork
2017-09-20 14:26 ` ✗ Fi.CI.BAT: failure for drm/i915: Eliminate DDI encoder->type frobbery redux (rev2) Patchwork
2017-09-20 15:40 ` Patchwork
2017-09-20 15:46   ` Ville Syrjälä
2017-09-25 11:40     ` Jani Nikula
2017-09-21 13:18 ` ✗ Fi.CI.BAT: failure for drm/i915: Eliminate DDI encoder->type frobbery redux (rev3) Patchwork
2017-09-21 15:36 ` ✓ Fi.CI.BAT: success for drm/i915: Eliminate DDI encoder->type frobbery redux (rev4) Patchwork
2017-09-21 18:26 ` ✗ Fi.CI.IGT: failure " Patchwork

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.