diff options
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 17 | ||||
| -rw-r--r-- | include/drm/vmwgfx_drm.h | 8 |
3 files changed, 12 insertions, 19 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h index 0eaf68273eaf..3e4e670d3216 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | |||
| @@ -39,9 +39,9 @@ | |||
| 39 | #include "ttm/ttm_execbuf_util.h" | 39 | #include "ttm/ttm_execbuf_util.h" |
| 40 | #include "ttm/ttm_module.h" | 40 | #include "ttm/ttm_module.h" |
| 41 | 41 | ||
| 42 | #define VMWGFX_DRIVER_DATE "20100118" | 42 | #define VMWGFX_DRIVER_DATE "20100209" |
| 43 | #define VMWGFX_DRIVER_MAJOR 0 | 43 | #define VMWGFX_DRIVER_MAJOR 1 |
| 44 | #define VMWGFX_DRIVER_MINOR 9 | 44 | #define VMWGFX_DRIVER_MINOR 0 |
| 45 | #define VMWGFX_DRIVER_PATCHLEVEL 0 | 45 | #define VMWGFX_DRIVER_PATCHLEVEL 0 |
| 46 | #define VMWGFX_FILE_PAGE_OFFSET 0x00100000 | 46 | #define VMWGFX_FILE_PAGE_OFFSET 0x00100000 |
| 47 | #define VMWGFX_FIFO_STATIC_SIZE (1024*1024) | 47 | #define VMWGFX_FIFO_STATIC_SIZE (1024*1024) |
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c index 933e90d82866..f8fbbc67a406 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | |||
| @@ -35,11 +35,6 @@ | |||
| 35 | #define VMW_RES_SURFACE ttm_driver_type1 | 35 | #define VMW_RES_SURFACE ttm_driver_type1 |
| 36 | #define VMW_RES_STREAM ttm_driver_type2 | 36 | #define VMW_RES_STREAM ttm_driver_type2 |
| 37 | 37 | ||
| 38 | /* XXX: This isn't a real hardware flag, but just a hack for kernel to | ||
| 39 | * know about primary surfaces. Find a better way to accomplish this. | ||
| 40 | */ | ||
| 41 | #define SVGA3D_SURFACE_HINT_SCANOUT (1 << 9) | ||
| 42 | |||
| 43 | struct vmw_user_context { | 38 | struct vmw_user_context { |
| 44 | struct ttm_base_object base; | 39 | struct ttm_base_object base; |
| 45 | struct vmw_resource res; | 40 | struct vmw_resource res; |
| @@ -579,6 +574,7 @@ int vmw_surface_define_ioctl(struct drm_device *dev, void *data, | |||
| 579 | 574 | ||
| 580 | srf->flags = req->flags; | 575 | srf->flags = req->flags; |
| 581 | srf->format = req->format; | 576 | srf->format = req->format; |
| 577 | srf->scanout = req->scanout; | ||
| 582 | memcpy(srf->mip_levels, req->mip_levels, sizeof(srf->mip_levels)); | 578 | memcpy(srf->mip_levels, req->mip_levels, sizeof(srf->mip_levels)); |
| 583 | srf->num_sizes = 0; | 579 | srf->num_sizes = 0; |
| 584 | for (i = 0; i < DRM_VMW_MAX_SURFACE_FACES; ++i) | 580 | for (i = 0; i < DRM_VMW_MAX_SURFACE_FACES; ++i) |
| @@ -604,17 +600,6 @@ int vmw_surface_define_ioctl(struct drm_device *dev, void *data, | |||
| 604 | if (unlikely(ret != 0)) | 600 | if (unlikely(ret != 0)) |
| 605 | goto out_err1; | 601 | goto out_err1; |
| 606 | 602 | ||
| 607 | if (srf->flags & SVGA3D_SURFACE_HINT_SCANOUT) { | ||
| 608 | /* we should not send this flag down to hardware since | ||
| 609 | * its not a official one | ||
| 610 | */ | ||
| 611 | srf->flags &= ~SVGA3D_SURFACE_HINT_SCANOUT; | ||
| 612 | srf->scanout = true; | ||
| 613 | } else if (req->scanout) | ||
| 614 | srf->scanout = true; | ||
| 615 | else | ||
| 616 | srf->scanout = false; | ||
| 617 | |||
| 618 | if (srf->scanout && | 603 | if (srf->scanout && |
| 619 | srf->num_sizes == 1 && | 604 | srf->num_sizes == 1 && |
| 620 | srf->sizes[0].width == 64 && | 605 | srf->sizes[0].width == 64 && |
diff --git a/include/drm/vmwgfx_drm.h b/include/drm/vmwgfx_drm.h index dfaf3c2d2c8e..c7645f480d12 100644 --- a/include/drm/vmwgfx_drm.h +++ b/include/drm/vmwgfx_drm.h | |||
| @@ -303,15 +303,23 @@ union drm_vmw_surface_reference_arg { | |||
| 303 | * to the nearest kernel tick. | 303 | * to the nearest kernel tick. |
| 304 | * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an | 304 | * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an |
| 305 | * uint64_t. | 305 | * uint64_t. |
| 306 | * @version: Allows expanding the execbuf ioctl parameters without breaking | ||
| 307 | * backwards compatibility, since user-space will always tell the kernel | ||
| 308 | * which version it uses. | ||
| 309 | * @flags: Execbuf flags. None currently. | ||
| 306 | * | 310 | * |
| 307 | * Argument to the DRM_VMW_EXECBUF Ioctl. | 311 | * Argument to the DRM_VMW_EXECBUF Ioctl. |
| 308 | */ | 312 | */ |
| 309 | 313 | ||
| 314 | #define DRM_VMW_EXECBUF_VERSION 0 | ||
| 315 | |||
| 310 | struct drm_vmw_execbuf_arg { | 316 | struct drm_vmw_execbuf_arg { |
| 311 | uint64_t commands; | 317 | uint64_t commands; |
| 312 | uint32_t command_size; | 318 | uint32_t command_size; |
| 313 | uint32_t throttle_us; | 319 | uint32_t throttle_us; |
| 314 | uint64_t fence_rep; | 320 | uint64_t fence_rep; |
| 321 | uint32_t version; | ||
| 322 | uint32_t flags; | ||
| 315 | }; | 323 | }; |
| 316 | 324 | ||
| 317 | /** | 325 | /** |
