Re: [PATCH 00/29] drm/i915: Eliminate DDI encoder->type frobbery redux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 18 Sep 2017, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote:
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
>
> 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.

I reviewed the ones I replied to, maybe I'll continue when I'm less X_x.

But I glanced over the rest, and, FWIW, the series is

Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx>


>
> 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(-)

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux