Skip to content

Commit

Permalink
drm/i915/overlay: Tidy update_pfit_vscale_ratio()
Browse files Browse the repository at this point in the history
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Chris Wilson committed Sep 8, 2010
1 parent 7340ea7 commit 446d218
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions drivers/gpu/drm/i915/intel_overlay.c
Original file line number Diff line number Diff line change
Expand Up @@ -937,19 +937,20 @@ static void update_pfit_vscale_ratio(struct intel_overlay *overlay)
{
struct drm_device *dev = overlay->dev;
drm_i915_private_t *dev_priv = dev->dev_private;
u32 ratio;
u32 pfit_control = I915_READ(PFIT_CONTROL);
u32 ratio;

/* XXX: This is not the same logic as in the xorg driver, but more in
* line with the intel documentation for the i965 */
if (!IS_I965G(dev) && (pfit_control & VERT_AUTO_SCALE)) {
ratio = I915_READ(PFIT_AUTO_RATIOS) >> PFIT_VERT_SCALE_SHIFT;
} else { /* on i965 use the PGM reg to read out the autoscaler values */
ratio = I915_READ(PFIT_PGM_RATIOS);
if (IS_I965G(dev))
ratio >>= PFIT_VERT_SCALE_SHIFT_965;
* line with the intel documentation for the i965
*/
if (!IS_I965G(dev)) {
if (pfit_control & VERT_AUTO_SCALE)
ratio = I915_READ(PFIT_AUTO_RATIOS);
else
ratio >>= PFIT_VERT_SCALE_SHIFT;
ratio = I915_READ(PFIT_PGM_RATIOS);
ratio >>= PFIT_VERT_SCALE_SHIFT;
} else { /* on i965 use the PGM reg to read out the autoscaler values */
ratio = I915_READ(PFIT_PGM_RATIOS) >> PFIT_VERT_SCALE_SHIFT_965;
}

overlay->pfit_vscale_ratio = ratio;
Expand Down

0 comments on commit 446d218

Please sign in to comment.