[PATCH 00/13] Shared pll improvements

Ander Conselvan de Oliveira
2016-02-26T13:54:31Z

Hi,

This patch series attempts to improve the shared pll interfaces. The
idea is to hide the details of which PLL to use behind the call to
intel_get_shared_dpll(), instead of having the weird mix currently
used with DDI platforms. I plan to keep working on the interfaces to
make it usuable by other platforms too, but that will come in a later
series.

With these patches, all DPLLS used with DDI are managed, including
LCPLL in HSW/BDW and DPLL0 in SKL/KBL (although I wasn't able to test
the latter).

The avid reviewer might notice that this series leaves all the
*_ddi_pll_select() function looking pretty much the same. I have
a clean up lined up for that, but it involves removing the
haswell_crtc_compute_clock() function and I haven't yet figured out
how/where to release the used dplls.

So this is still work in progress, but it is probably better to get
feedback now before there are even more patches.

Thanks,
Ander

Ander Conselvan de Oliveira (13):
drm/i915: Move shared dpll code to a new file
drm/i915: Move ddi shared dpll code to intel_dpll_mgr.c
drm/i915: Split intel_get_shared_dpll() into smaller functions
drm/i915: Store a direct pointer to shared dpll in intel_crtc_state
drm/i915: Move shared dpll struct definitions to separate header file
drm/i915: Move shared dpll function prototypes to intel_dpll_mgr.h
drm/i915: Use a table to initilize shared dplls
drm/i915: Refactor platform specifics out of intel_get_shared_dpll()
drm/i915: Move HSW/BDW pll selection logic to intel_dpll_mgr.c
drm/i915: Move SKL/KLB pll selection logic to intel_dpll_mgr.c
drm/i915: Move BXT pll configuration logic to intel_dpll_mgr.c
drm/i915: Manage HSW/BDW LCPLLs with the shared dpll interface
drm/i915: Make SKL/KBL DPLL0 managed by the shared dpll code

drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/i915_drv.h | 77 +-
drivers/gpu/drm/i915/intel_crt.c | 8 +-
drivers/gpu/drm/i915/intel_ddi.c | 1200 +---------------------
drivers/gpu/drm/i915/intel_display.c | 493 ++-------
drivers/gpu/drm/i915/intel_dp.c | 73 +-
drivers/gpu/drm/i915/intel_dp_mst.c | 4 -
drivers/gpu/drm/i915/intel_dpll_mgr.c | 1789 +++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_dpll_mgr.h | 157 +++
drivers/gpu/drm/i915/intel_drv.h | 17 +-
drivers/gpu/drm/i915/intel_lvds.c | 2 +-
11 files changed, 2068 insertions(+), 1753 deletions(-)
create mode 100644 drivers/gpu/drm/i915/intel_dpll_mgr.c
create mode 100644 drivers/gpu/drm/i915/intel_dpll_mgr.h