mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/i915/cx0: Enable dpll framework for MTL+
MTL+ platforms are supported by dpll framework remove a separate
check for hw comparison and rely solely on dpll framework
hw comparison.
Finally, all required hooks are now in place so initialize
PLL manager for MTL+ platforms and remove the redirections
to the legacy code paths from the following interfaces:
* intel_encoder::clock_enable/disable()
* intel_encoder::get_config()
* intel_dpll_funcs::get_hw_state()
* intel_ddi_update_active_dpll()
* pipe_config_pll_mismatch()
v2: Rebase on !HAS_LT_PHY check in intel_ddi_update_active_dpll()
v3: Rebase on !display->dpll.mgr check in intel_ddi_update_active_dpll()
Add check for NVL as the platform is not part of pll framework (Suraj)
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://lore.kernel.org/r/20251118132859.2584452-1-mika.kahola@intel.com
This commit is contained in:
@@ -4977,23 +4977,6 @@ pipe_config_pll_mismatch(struct drm_printer *p, bool fastset,
|
||||
intel_dpll_dump_hw_state(display, p, b);
|
||||
}
|
||||
|
||||
static void
|
||||
pipe_config_cx0pll_mismatch(struct drm_printer *p, bool fastset,
|
||||
const struct intel_crtc *crtc,
|
||||
const char *name,
|
||||
const struct intel_cx0pll_state *a,
|
||||
const struct intel_cx0pll_state *b)
|
||||
{
|
||||
char *chipname = a->use_c10 ? "C10" : "C20";
|
||||
|
||||
pipe_config_mismatch(p, fastset, crtc, name, chipname);
|
||||
|
||||
drm_printf(p, "expected:\n");
|
||||
intel_cx0pll_dump_hw_state(p, a);
|
||||
drm_printf(p, "found:\n");
|
||||
intel_cx0pll_dump_hw_state(p, b);
|
||||
}
|
||||
|
||||
static bool allow_vblank_delay_fastset(const struct intel_crtc_state *old_crtc_state)
|
||||
{
|
||||
struct intel_display *display = to_intel_display(old_crtc_state);
|
||||
@@ -5145,16 +5128,6 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define PIPE_CONF_CHECK_PLL_CX0(name) do { \
|
||||
if (!intel_cx0pll_compare_hw_state(¤t_config->name, \
|
||||
&pipe_config->name)) { \
|
||||
pipe_config_cx0pll_mismatch(&p, fastset, crtc, __stringify(name), \
|
||||
¤t_config->name, \
|
||||
&pipe_config->name); \
|
||||
ret = false; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define PIPE_CONF_CHECK_PLL_LT(name) do { \
|
||||
if (!intel_lt_phy_pll_compare_hw_state(¤t_config->name, \
|
||||
&pipe_config->name)) { \
|
||||
@@ -5394,8 +5367,6 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
|
||||
/* FIXME convert MTL+ platforms over to dpll_mgr */
|
||||
if (HAS_LT_PHY(display))
|
||||
PIPE_CONF_CHECK_PLL_LT(dpll_hw_state.ltpll);
|
||||
else if (DISPLAY_VER(display) >= 14)
|
||||
PIPE_CONF_CHECK_PLL_CX0(dpll_hw_state.cx0pll);
|
||||
|
||||
PIPE_CONF_CHECK_X(dsi_pll.ctrl);
|
||||
PIPE_CONF_CHECK_X(dsi_pll.div);
|
||||
|
||||
Reference in New Issue
Block a user