drm/vkms: Enable/Disable cursor support with module option
authorHaneen Mohammed <hamohammed.sa@gmail.com>
Thu, 6 Sep 2018 05:19:11 +0000 (08:19 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 11 Sep 2018 17:57:32 +0000 (19:57 +0200)
Cursor support is not complete yet. Add module option 'enable_cursor'
to enable/disable cursor support which is used for testing currently.

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/b47f44f518d3c9858f1469193f1136e0c490060b.1536210181.git.hamohammed.sa@gmail.com
drivers/gpu/drm/vkms/vkms_drv.c
drivers/gpu/drm/vkms/vkms_drv.h
drivers/gpu/drm/vkms/vkms_output.c

index bd9d4b2389bd9ee085b08888dc084aac37867e6e..2d49ad31ad0baabe088d398a84843648faddfd15 100644 (file)
 
 static struct vkms_device *vkms_device;
 
+bool enable_cursor;
+module_param_named(enable_cursor, enable_cursor, bool, 0444);
+MODULE_PARM_DESC(enable_cursor, "Enable/Disable cursor support");
+
 static const struct file_operations vkms_driver_fops = {
        .owner          = THIS_MODULE,
        .open           = drm_open,
index c9723c069ebf8d925fc2ff69635b1739144b1454..1c93990693e3d0e65a70fcb4ee7dea34826d3a89 100644 (file)
@@ -16,6 +16,8 @@
 #define XRES_MAX  8192
 #define YRES_MAX  8192
 
+extern bool enable_cursor;
+
 static const u32 vkms_formats[] = {
        DRM_FORMAT_XRGB8888,
 };
index 19f9ffcbf9eb6e1161ae7e04b269399900a5c9bb..271a0eb9042c3ee7ba01a3c73329f883dbb13bd3 100644 (file)
@@ -56,10 +56,12 @@ int vkms_output_init(struct vkms_device *vkmsdev)
        if (IS_ERR(primary))
                return PTR_ERR(primary);
 
-       cursor = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_CURSOR);
-       if (IS_ERR(cursor)) {
-               ret = PTR_ERR(cursor);
-               goto err_cursor;
+       if (enable_cursor) {
+               cursor = vkms_plane_init(vkmsdev, DRM_PLANE_TYPE_CURSOR);
+               if (IS_ERR(cursor)) {
+                       ret = PTR_ERR(cursor);
+                       goto err_cursor;
+               }
        }
 
        ret = vkms_crtc_init(dev, crtc, primary, cursor);
@@ -112,7 +114,8 @@ err_connector:
        drm_crtc_cleanup(crtc);
 
 err_crtc:
-       drm_plane_cleanup(cursor);
+       if (enable_cursor)
+               drm_plane_cleanup(cursor);
 
 err_cursor:
        drm_plane_cleanup(primary);