Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[sfrench/cifs-2.6.git] / drivers / gpu / drm / virtio / virtgpu_kms.c
index 1235519853f4df79481a0b9c0050c7e15ab1f4e0..491866865c3397b4c2e73fdfc3444aac301f9ee4 100644 (file)
@@ -166,13 +166,17 @@ int virtio_gpu_driver_load(struct drm_device *dev, unsigned long flags)
        INIT_WORK(&vgdev->config_changed_work,
                  virtio_gpu_config_changed_work_func);
 
+#ifdef __LITTLE_ENDIAN
        if (virtio_has_feature(vgdev->vdev, VIRTIO_GPU_F_VIRGL))
                vgdev->has_virgl_3d = true;
        DRM_INFO("virgl 3d acceleration %s\n",
-                vgdev->has_virgl_3d ? "enabled" : "not available");
+                vgdev->has_virgl_3d ? "enabled" : "not supported by host");
+#else
+       DRM_INFO("virgl 3d acceleration not supported by guest\n");
+#endif
 
        ret = vgdev->vdev->config->find_vqs(vgdev->vdev, 2, vqs,
-                                           callbacks, names);
+                                           callbacks, names, NULL);
        if (ret) {
                DRM_ERROR("failed to find virt queues\n");
                goto err_vqs;
@@ -246,7 +250,7 @@ static void virtio_gpu_cleanup_cap_cache(struct virtio_gpu_device *vgdev)
        }
 }
 
-int virtio_gpu_driver_unload(struct drm_device *dev)
+void virtio_gpu_driver_unload(struct drm_device *dev)
 {
        struct virtio_gpu_device *vgdev = dev->dev_private;
 
@@ -262,7 +266,6 @@ int virtio_gpu_driver_unload(struct drm_device *dev)
        virtio_gpu_cleanup_cap_cache(vgdev);
        kfree(vgdev->capsets);
        kfree(vgdev);
-       return 0;
 }
 
 int virtio_gpu_driver_open(struct drm_device *dev, struct drm_file *file)