drm/i915: skip redundant operations whilst enabling pipes and planes
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 17 Mar 2011 07:18:29 +0000 (07:18 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 23 Mar 2011 06:41:02 +0000 (06:41 +0000)
commit00d70b15125030391d17baab2c2f70f93b3339a6
tree92bf3c5349bfaab6f4c82f62a5cf5480ec2c8a5e
parent762237bb714b0cd93ce2405ccc891fadb405c26e
drm/i915: skip redundant operations whilst enabling pipes and planes

If the pipe or plane is already enabled, then we do not need to enable
it again and can skip the delay. Similarly if it is already disabled
when we want to disable it, we can also skip it.

This fixes a regression from b24e717988, which caused the LVDS
output on one PineView machine to become corrupt after changing
orientation several times.

References: https://bugs.freedesktop.org/show_bug.cgi?id=34601
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: mengmeng.meng@intel.com
drivers/gpu/drm/i915/intel_display.c