On Thu, Aug 04, 2016 at 10:38:02AM +0300, Jani Nikula wrote:
On Thu, 04 Aug 2016, Rodrigo Vivi rodrigo.vivi@intel.com wrote:
No functional change.
This is the last user of legacy function so we will be able to clean up drm_irq.c a bit.
Signed-off-by: Rodrigo Vivi rodrigo.vivi@intel.com
drivers/gpu/drm/i915/intel_drv.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 50cdc89..37a3ae8 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -1202,7 +1202,10 @@ intel_crtc_has_dp_encoder(const struct intel_crtc_state *crtc_state) static inline void intel_wait_for_vblank(struct drm_device *dev, int pipe) {
- drm_wait_one_vblank(dev, pipe);
- struct drm_i915_private *dev_priv = to_i915(dev);
- struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe];
- drm_crtc_wait_one_vblank(crtc);
With these changes, in almost all intel_wait_for_vblank() call paths we'll have crtc available, so we end up calling intel_wait_for_vblank(intel_crtc->pipe), which will then be converted back to drm_crtc via dev_priv->pipe_to_crtc_mapping[pipe], and again to pipe using drm_crtc_index(crtc)...
I'm tempted to say we should *first* replace all intel_wait_for_vblank() calls with drm_crtc_wait_one_vblank() where possible. After that, we might just call drm_crtc_wait_one_vblank(dev_priv->pipe_to_crtc_mapping[pipe]) everywhere else.
On a slight tangent, I'd like to see patches to s/dev_priv->pipe_to_crtc_mapping[pipe]/whatever_is_the_function_name(pipe)/ and make those functions return intel_crtc instead of drm_crtc.