diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-06-05 07:34:06 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-06-10 13:47:36 -0400 |
commit | e72f9fbf99c4277b2ccfd4d55d66aa6caf922f42 (patch) | |
tree | c5a5270aba0ec73a85e4ad90200f0aaf18400921 /drivers/gpu/drm/i915/i915_drv.h | |
parent | f4a091c71baa55dc8822614ab716525779623c1c (diff) |
drm/i915: s/pch_pll/shared_dpll/
For fastboot we need some support to read out the sharing state of
plls, at least for platforms where they can be shared (or freely
assigned at least). Now for ivb we already have pretty extensive
infrastructure for tracking pch plls, and it took us an aweful lot of
tries to get that remotely right. Note that hsw could also share plls,
but even now they're already freely assignable. So we need this on
more than just ivb.
So on top of the usual fastboot fun pll sharing seems to be an
additional step up in fragility. Hence a common infrastructure for all
shared/freely assignable display plls seems to be in order.
The plan is to have a bit of dpll hw state readout code, which can be
used individually, but also to fill in the pipe config. The hw state
cross check code will then use that information to make sure that
after every modeset every pipe still is connected to a pll which still
has the correct configuration - a lot of the pch pll sharing bugs
where due to incorrect sharing.
We start this endeavour with a simple s/pch_pll/shared_dpll/ rename
job.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 87f7f88b1030..f69ba390a649 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -132,7 +132,7 @@ enum hpd_pin { | |||
132 | list_for_each_entry((intel_encoder), &(dev)->mode_config.encoder_list, base.head) \ | 132 | list_for_each_entry((intel_encoder), &(dev)->mode_config.encoder_list, base.head) \ |
133 | if ((intel_encoder)->base.crtc == (__crtc)) | 133 | if ((intel_encoder)->base.crtc == (__crtc)) |
134 | 134 | ||
135 | struct intel_pch_pll { | 135 | struct intel_shared_dpll { |
136 | int refcount; /* count of number of CRTCs sharing this PLL */ | 136 | int refcount; /* count of number of CRTCs sharing this PLL */ |
137 | int active; /* count of number of active CRTCs (i.e. DPMS on) */ | 137 | int active; /* count of number of active CRTCs (i.e. DPMS on) */ |
138 | bool on; /* is the PLL actually active? Disabled during modeset */ | 138 | bool on; /* is the PLL actually active? Disabled during modeset */ |
@@ -1026,7 +1026,6 @@ typedef struct drm_i915_private { | |||
1026 | u32 hpd_event_bits; | 1026 | u32 hpd_event_bits; |
1027 | struct timer_list hotplug_reenable_timer; | 1027 | struct timer_list hotplug_reenable_timer; |
1028 | 1028 | ||
1029 | int num_pch_pll; | ||
1030 | int num_plane; | 1029 | int num_plane; |
1031 | 1030 | ||
1032 | unsigned long cfb_size; | 1031 | unsigned long cfb_size; |
@@ -1087,7 +1086,8 @@ typedef struct drm_i915_private { | |||
1087 | struct drm_crtc *pipe_to_crtc_mapping[3]; | 1086 | struct drm_crtc *pipe_to_crtc_mapping[3]; |
1088 | wait_queue_head_t pending_flip_queue; | 1087 | wait_queue_head_t pending_flip_queue; |
1089 | 1088 | ||
1090 | struct intel_pch_pll pch_plls[I915_NUM_PLLS]; | 1089 | int num_shared_dpll; |
1090 | struct intel_shared_dpll shared_dplls[I915_NUM_PLLS]; | ||
1091 | struct intel_ddi_plls ddi_plls; | 1091 | struct intel_ddi_plls ddi_plls; |
1092 | 1092 | ||
1093 | /* Reclocking support */ | 1093 | /* Reclocking support */ |