[PATCH] drm/fb: don't call driver set_config if display isn't panned

Jesse Barnes jbarnes at virtuousgeek.org
Tue Nov 15 10:27:35 PST 2011


This is just a minor optimization to the fb panning code.  In debugging
some other issues, I noticed a lot of no-op calls to the set_config
routine with all the same parameters and tracked down the source to the
fb helper pan routine.

So add an additional check for actual panning relative to the current
crtc config to avoid unnecessary set_config calls.

Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index f7c6854..4dd81f3 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -739,7 +739,8 @@ int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
 		modeset->x = var->xoffset;
 		modeset->y = var->yoffset;
 
-		if (modeset->num_connectors) {
+		if (((modeset->x != crtc->x) || (modeset->y != crtc->y)) &&
+		    modeset->num_connectors) {
 			ret = crtc->funcs->set_config(modeset);
 			if (!ret) {
 				info->var.xoffset = var->xoffset;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20111115/5a94b364/attachment.pgp>


More information about the dri-devel mailing list