static int intel_fbdev_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) { struct drm_fb_helper *fb_helper = info->par; struct intel_fbdev *ifbdev = container_of(fb_helper, struct intel_fbdev, helper); int ret; ret = drm_fb_helper_pan_display(var, info); if (ret == 0) intel_fbdev_invalidate(ifbdev); return ret; }
static int intel_fbdev_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) { struct drm_fb_helper *fb_helper = info->par; struct intel_fbdev *ifbdev = container_of(fb_helper, struct intel_fbdev, helper); int ret; ret = drm_fb_helper_pan_display(var, info); if (ret == 0) { mutex_lock(&fb_helper->dev->struct_mutex); intel_fb_obj_invalidate(ifbdev->fb->obj, ORIGIN_GTT); mutex_unlock(&fb_helper->dev->struct_mutex); } return ret; }