drm/nouveau: create function for "dealing" with gpu lockup
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / nouveau / nouveau_fbcon.c
index 44cbbeeb774546bb27d961de214aa49e4c4b1a80..0b05c869e0e7644c787b1abb54252f0351fb1f98 100644 (file)
@@ -64,8 +64,7 @@ nouveau_fbcon_sync(struct fb_info *info)
                return 0;
 
        if (RING_SPACE(chan, 4)) {
-               NV_ERROR(dev, "GPU lockup - switching to software fbcon\n");
-               info->flags |= FBINFO_HWACCEL_DISABLED;
+               nouveau_fbcon_gpu_lockup(info);
                return 0;
        }
 
@@ -86,8 +85,7 @@ nouveau_fbcon_sync(struct fb_info *info)
        }
 
        if (ret) {
-               NV_ERROR(dev, "GPU lockup - switching to software fbcon\n");
-               info->flags |= FBINFO_HWACCEL_DISABLED;
+               nouveau_fbcon_gpu_lockup(info);
                return 0;
        }
 
@@ -380,3 +378,12 @@ nouveau_fbcon_remove(struct drm_device *dev, struct drm_framebuffer *fb)
 
        return 0;
 }
+
+void nouveau_fbcon_gpu_lockup(struct fb_info *info)
+{
+       struct nouveau_fbcon_par *par = info->par;
+       struct drm_device *dev = par->dev;
+
+       NV_ERROR(dev, "GPU lockup - switching to software fbcon\n");
+       info->flags |= FBINFO_HWACCEL_DISABLED;
+}