Lines Matching defs:power_well

48 			struct i915_power_well *power_well);
55 struct i915_power_well *power_well);
61 struct i915_power_well *power_well);
64 struct i915_power_well *power_well);
68 i915_power_well_instance(const struct i915_power_well *power_well)
70 return &power_well->desc->instances->list[power_well->instance_idx];
77 struct i915_power_well *power_well;
79 for_each_power_well(i915, power_well)
80 if (i915_power_well_instance(power_well)->id == power_well_id)
81 return power_well;
97 struct i915_power_well *power_well)
99 drm_dbg_kms(&i915->drm, "enabling %s\n", intel_power_well_name(power_well));
100 power_well->desc->ops->enable(i915, power_well);
101 power_well->hw_enabled = true;
105 struct i915_power_well *power_well)
107 drm_dbg_kms(&i915->drm, "disabling %s\n", intel_power_well_name(power_well));
108 power_well->hw_enabled = false;
109 power_well->desc->ops->disable(i915, power_well);
113 struct i915_power_well *power_well)
115 power_well->desc->ops->sync_hw(i915, power_well);
116 power_well->hw_enabled =
117 power_well->desc->ops->is_enabled(i915, power_well);
121 struct i915_power_well *power_well)
123 if (!power_well->count++)
124 intel_power_well_enable(i915, power_well);
128 struct i915_power_well *power_well)
130 drm_WARN(&i915->drm, !power_well->count,
132 i915_power_well_instance(power_well)->name);
134 if (!--power_well->count)
135 intel_power_well_disable(i915, power_well);
139 struct i915_power_well *power_well)
141 return power_well->desc->ops->is_enabled(i915, power_well);
144 bool intel_power_well_is_enabled_cached(struct i915_power_well *power_well)
146 return power_well->hw_enabled;
152 struct i915_power_well *power_well;
154 power_well = lookup_power_well(dev_priv, power_well_id);
156 return intel_power_well_is_enabled(dev_priv, power_well);
159 bool intel_power_well_is_always_on(struct i915_power_well *power_well)
161 return power_well->desc->always_on;
164 const char *intel_power_well_name(struct i915_power_well *power_well)
166 return i915_power_well_instance(power_well)->name;
169 struct intel_power_domain_mask *intel_power_well_domains(struct i915_power_well *power_well)
171 return &power_well->domains;
174 int intel_power_well_refcount(struct i915_power_well *power_well)
176 return power_well->count;
208 static enum aux_ch icl_aux_pw_to_ch(const struct i915_power_well *power_well)
210 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
212 return power_well->desc->is_tc_tbt ? ICL_TBT_AUX_PW_TO_CH(pw_idx) :
244 const struct i915_power_well *power_well)
246 enum aux_ch aux_ch = icl_aux_pw_to_ch(power_well);
260 struct i915_power_well *power_well,
263 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
264 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
265 int timeout = power_well->desc->enable_timeout ? : 1;
272 if (IS_DG2(dev_priv) && power_well->desc->fixed_enable_delay) {
281 intel_power_well_name(power_well));
305 struct i915_power_well *power_well)
307 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
308 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
329 intel_power_well_name(power_well),
343 struct i915_power_well *power_well)
345 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
346 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
348 if (power_well->desc->has_fuses) {
371 hsw_wait_for_power_well_enable(dev_priv, power_well, false);
373 if (power_well->desc->has_fuses) {
382 power_well->desc->irq_pipe_mask,
383 power_well->desc->has_vga);
387 struct i915_power_well *power_well)
389 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
390 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
393 power_well->desc->irq_pipe_mask);
396 hsw_wait_for_power_well_disable(dev_priv, power_well);
414 struct i915_power_well *power_well)
416 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
417 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
418 enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
429 hsw_wait_for_power_well_enable(dev_priv, power_well, false);
440 struct i915_power_well *power_well)
442 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
443 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
444 enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
455 hsw_wait_for_power_well_disable(dev_priv, power_well);
461 struct i915_power_well *power_well,
476 struct i915_power_well *power_well,
508 struct i915_power_well *power_well)
510 enum aux_ch aux_ch = icl_aux_pw_to_ch(power_well);
512 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
513 bool is_tbt = power_well->desc->is_tc_tbt;
516 icl_tc_port_assert_ref_held(dev_priv, power_well, dig_port);
523 HSW_PWR_WELL_CTL_REQ(i915_power_well_instance(power_well)->hsw.idx));
534 hsw_wait_for_power_well_enable(dev_priv, power_well, timeout_expected);
539 tc_port = TGL_AUX_PW_TO_TC_PORT(i915_power_well_instance(power_well)->hsw.idx);
550 struct i915_power_well *power_well)
552 enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
555 return icl_tc_phy_aux_power_well_enable(dev_priv, power_well);
558 power_well);
560 return hsw_power_well_enable(dev_priv, power_well);
565 struct i915_power_well *power_well)
567 enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
570 return hsw_power_well_disable(dev_priv, power_well);
573 power_well);
575 return hsw_power_well_disable(dev_priv, power_well);
584 struct i915_power_well *power_well)
586 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
587 enum i915_power_well_id id = i915_power_well_instance(power_well)->id;
588 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
889 struct i915_power_well *power_well)
891 const struct i915_power_well_regs *regs = power_well->desc->ops->regs;
892 int pw_idx = i915_power_well_instance(power_well)->hsw.idx;
907 struct i915_power_well *power_well)
909 bxt_ddi_phy_init(dev_priv, i915_power_well_instance(power_well)->bxt.phy);
913 struct i915_power_well *power_well)
915 bxt_ddi_phy_uninit(dev_priv, i915_power_well_instance(power_well)->bxt.phy);
919 struct i915_power_well *power_well)
921 return bxt_ddi_phy_is_enabled(dev_priv, i915_power_well_instance(power_well)->bxt.phy);
926 struct i915_power_well *power_well;
928 power_well = lookup_power_well(dev_priv, BXT_DISP_PW_DPIO_CMN_A);
929 if (intel_power_well_refcount(power_well) > 0)
930 bxt_ddi_phy_verify_state(dev_priv, i915_power_well_instance(power_well)->bxt.phy);
932 power_well = lookup_power_well(dev_priv, VLV_DISP_PW_DPIO_CMN_BC);
933 if (intel_power_well_refcount(power_well) > 0)
934 bxt_ddi_phy_verify_state(dev_priv, i915_power_well_instance(power_well)->bxt.phy);
937 power_well = lookup_power_well(dev_priv,
939 if (intel_power_well_refcount(power_well) > 0)
941 i915_power_well_instance(power_well)->bxt.phy);
946 struct i915_power_well *power_well)
1000 struct i915_power_well *power_well)
1006 struct i915_power_well *power_well)
1027 struct i915_power_well *power_well)
1032 struct i915_power_well *power_well)
1037 struct i915_power_well *power_well)
1043 struct i915_power_well *power_well)
1052 struct i915_power_well *power_well)
1059 struct i915_power_well *power_well)
1066 struct i915_power_well *power_well)
1068 if (intel_power_well_refcount(power_well) > 0)
1069 i830_pipes_power_well_enable(dev_priv, power_well);
1071 i830_pipes_power_well_disable(dev_priv, power_well);
1075 struct i915_power_well *power_well, bool enable)
1077 int pw_idx = i915_power_well_instance(power_well)->vlv.idx;
1112 struct i915_power_well *power_well)
1114 vlv_set_power_well(dev_priv, power_well, true);
1118 struct i915_power_well *power_well)
1120 vlv_set_power_well(dev_priv, power_well, false);
1124 struct i915_power_well *power_well)
1126 int pw_idx = i915_power_well_instance(power_well)->vlv.idx;
1254 struct i915_power_well *power_well)
1256 vlv_set_power_well(dev_priv, power_well, true);
1262 struct i915_power_well *power_well)
1266 vlv_set_power_well(dev_priv, power_well, false);
1270 struct i915_power_well *power_well)
1275 vlv_set_power_well(dev_priv, power_well, true);
1292 struct i915_power_well *power_well)
1302 vlv_set_power_well(dev_priv, power_well, false);
1414 struct i915_power_well *power_well)
1416 enum i915_power_well_id id = i915_power_well_instance(power_well)->id;
1435 vlv_set_power_well(dev_priv, power_well, true);
1480 struct i915_power_well *power_well)
1482 enum i915_power_well_id id = i915_power_well_instance(power_well)->id;
1502 vlv_set_power_well(dev_priv, power_well, false);
1644 struct i915_power_well *power_well)
1674 struct i915_power_well *power_well,
1709 struct i915_power_well *power_well)
1716 struct i915_power_well *power_well)
1718 chv_set_pipe_power_well(dev_priv, power_well, true);
1724 struct i915_power_well *power_well)
1728 chv_set_pipe_power_well(dev_priv, power_well, false);
1775 struct i915_power_well *power_well)
1782 struct i915_power_well *power_well)
1789 struct i915_power_well *power_well)
1791 if (intel_power_well_refcount(power_well) > 0)
1792 tgl_tc_cold_off_power_well_enable(i915, power_well);
1794 tgl_tc_cold_off_power_well_disable(i915, power_well);
1799 struct i915_power_well *power_well)
1805 return intel_power_well_refcount(power_well);
1809 struct i915_power_well *power_well)
1811 enum aux_ch aux_ch = i915_power_well_instance(power_well)->xelpdp.aux_ch;
1827 struct i915_power_well *power_well)
1829 enum aux_ch aux_ch = i915_power_well_instance(power_well)->xelpdp.aux_ch;
1838 struct i915_power_well *power_well)
1840 enum aux_ch aux_ch = i915_power_well_instance(power_well)->xelpdp.aux_ch;