drm/i915: Convert PLL flags to booleans
No real reason why the PLL flags need to be a bitmask. Switch to booleans to make the code simpler. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240123093137.9133-3-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
@@ -1263,11 +1263,11 @@ static const struct dpll_info hsw_plls[] = {
|
||||
{ .name = "WRPLL 2", .funcs = &hsw_ddi_wrpll_funcs, .id = DPLL_ID_WRPLL2, },
|
||||
{ .name = "SPLL", .funcs = &hsw_ddi_spll_funcs, .id = DPLL_ID_SPLL, },
|
||||
{ .name = "LCPLL 810", .funcs = &hsw_ddi_lcpll_funcs, .id = DPLL_ID_LCPLL_810,
|
||||
.flags = INTEL_DPLL_ALWAYS_ON, },
|
||||
.always_on = true, },
|
||||
{ .name = "LCPLL 1350", .funcs = &hsw_ddi_lcpll_funcs, .id = DPLL_ID_LCPLL_1350,
|
||||
.flags = INTEL_DPLL_ALWAYS_ON, },
|
||||
.always_on = true, },
|
||||
{ .name = "LCPLL 2700", .funcs = &hsw_ddi_lcpll_funcs, .id = DPLL_ID_LCPLL_2700,
|
||||
.flags = INTEL_DPLL_ALWAYS_ON, },
|
||||
.always_on = true, },
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -1945,7 +1945,7 @@ static const struct intel_shared_dpll_funcs skl_ddi_dpll0_funcs = {
|
||||
|
||||
static const struct dpll_info skl_plls[] = {
|
||||
{ .name = "DPLL 0", .funcs = &skl_ddi_dpll0_funcs, .id = DPLL_ID_SKL_DPLL0,
|
||||
.flags = INTEL_DPLL_ALWAYS_ON, },
|
||||
.always_on = true, },
|
||||
{ .name = "DPLL 1", .funcs = &skl_ddi_pll_funcs, .id = DPLL_ID_SKL_DPLL1, },
|
||||
{ .name = "DPLL 2", .funcs = &skl_ddi_pll_funcs, .id = DPLL_ID_SKL_DPLL2, },
|
||||
{ .name = "DPLL 3", .funcs = &skl_ddi_pll_funcs, .id = DPLL_ID_SKL_DPLL3, },
|
||||
@@ -4030,7 +4030,7 @@ static const struct dpll_info icl_plls[] = {
|
||||
{ .name = "DPLL 0", .funcs = &combo_pll_funcs, .id = DPLL_ID_ICL_DPLL0, },
|
||||
{ .name = "DPLL 1", .funcs = &combo_pll_funcs, .id = DPLL_ID_ICL_DPLL1, },
|
||||
{ .name = "TBT PLL", .funcs = &tbt_pll_funcs, .id = DPLL_ID_ICL_TBTPLL,
|
||||
.flags = INTEL_DPLL_IS_ALT_PORT_DPLL, },
|
||||
.is_alt_port_dpll = true, },
|
||||
{ .name = "MG PLL 1", .funcs = &mg_pll_funcs, .id = DPLL_ID_ICL_MGPLL1, },
|
||||
{ .name = "MG PLL 2", .funcs = &mg_pll_funcs, .id = DPLL_ID_ICL_MGPLL2, },
|
||||
{ .name = "MG PLL 3", .funcs = &mg_pll_funcs, .id = DPLL_ID_ICL_MGPLL3, },
|
||||
@@ -4076,7 +4076,7 @@ static const struct dpll_info tgl_plls[] = {
|
||||
{ .name = "DPLL 0", .funcs = &combo_pll_funcs, .id = DPLL_ID_ICL_DPLL0, },
|
||||
{ .name = "DPLL 1", .funcs = &combo_pll_funcs, .id = DPLL_ID_ICL_DPLL1, },
|
||||
{ .name = "TBT PLL", .funcs = &tbt_pll_funcs, .id = DPLL_ID_ICL_TBTPLL,
|
||||
.flags = INTEL_DPLL_IS_ALT_PORT_DPLL, },
|
||||
.is_alt_port_dpll = true, },
|
||||
{ .name = "TC PLL 1", .funcs = &dkl_pll_funcs, .id = DPLL_ID_ICL_MGPLL1, },
|
||||
{ .name = "TC PLL 2", .funcs = &dkl_pll_funcs, .id = DPLL_ID_ICL_MGPLL2, },
|
||||
{ .name = "TC PLL 3", .funcs = &dkl_pll_funcs, .id = DPLL_ID_ICL_MGPLL3, },
|
||||
@@ -4150,7 +4150,7 @@ static const struct dpll_info adlp_plls[] = {
|
||||
{ .name = "DPLL 0", .funcs = &combo_pll_funcs, .id = DPLL_ID_ICL_DPLL0, },
|
||||
{ .name = "DPLL 1", .funcs = &combo_pll_funcs, .id = DPLL_ID_ICL_DPLL1, },
|
||||
{ .name = "TBT PLL", .funcs = &tbt_pll_funcs, .id = DPLL_ID_ICL_TBTPLL,
|
||||
.flags = INTEL_DPLL_IS_ALT_PORT_DPLL, },
|
||||
.is_alt_port_dpll = true, },
|
||||
{ .name = "TC PLL 1", .funcs = &dkl_pll_funcs, .id = DPLL_ID_ICL_MGPLL1, },
|
||||
{ .name = "TC PLL 2", .funcs = &dkl_pll_funcs, .id = DPLL_ID_ICL_MGPLL2, },
|
||||
{ .name = "TC PLL 3", .funcs = &dkl_pll_funcs, .id = DPLL_ID_ICL_MGPLL3, },
|
||||
@@ -4480,7 +4480,7 @@ verify_single_dpll_state(struct drm_i915_private *i915,
|
||||
|
||||
active = intel_dpll_get_hw_state(i915, pll, &dpll_hw_state);
|
||||
|
||||
if (!(pll->info->flags & INTEL_DPLL_ALWAYS_ON)) {
|
||||
if (!pll->info->always_on) {
|
||||
I915_STATE_WARN(i915, !pll->on && pll->active_mask,
|
||||
"%s: pll in active use but not on in sw tracking\n",
|
||||
pll->info->name);
|
||||
@@ -4527,8 +4527,7 @@ static bool has_alt_port_dpll(const struct intel_shared_dpll *old_pll,
|
||||
const struct intel_shared_dpll *new_pll)
|
||||
{
|
||||
return old_pll && new_pll && old_pll != new_pll &&
|
||||
(old_pll->info->flags & INTEL_DPLL_IS_ALT_PORT_DPLL ||
|
||||
new_pll->info->flags & INTEL_DPLL_IS_ALT_PORT_DPLL);
|
||||
(old_pll->info->is_alt_port_dpll || new_pll->info->is_alt_port_dpll);
|
||||
}
|
||||
|
||||
void intel_shared_dpll_state_verify(struct intel_atomic_state *state,
|
||||
|
||||
@@ -276,19 +276,21 @@ struct dpll_info {
|
||||
*/
|
||||
enum intel_display_power_domain power_domain;
|
||||
|
||||
#define INTEL_DPLL_ALWAYS_ON (1 << 0)
|
||||
#define INTEL_DPLL_IS_ALT_PORT_DPLL (1 << 1)
|
||||
/**
|
||||
* @flags:
|
||||
* @always_on:
|
||||
*
|
||||
* INTEL_DPLL_ALWAYS_ON
|
||||
* Inform the state checker that the DPLL is kept enabled even if
|
||||
* not in use by any CRTC.
|
||||
* INTEL_DPLL_IS_ALT_PORT_DPLL
|
||||
* Inform the state checker that the DPLL can be used as a fallback
|
||||
* (for TC->TBT fallback).
|
||||
* Inform the state checker that the DPLL is kept enabled even if
|
||||
* not in use by any CRTC.
|
||||
*/
|
||||
u32 flags;
|
||||
bool always_on;
|
||||
|
||||
/**
|
||||
* @is_alt_port_dpll:
|
||||
*
|
||||
* Inform the state checker that the DPLL can be used as a fallback
|
||||
* (for TC->TBT fallback).
|
||||
*/
|
||||
bool is_alt_port_dpll;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user