From: Mateusz Majewski Date: Mon, 10 Jun 2024 10:36:46 +0000 (+0200) Subject: Revert "hack" X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1adfd651b9e9fb59d7088433a185e6f4839fea7f;p=sdk%2Femulator%2Femulator-kernel.git Revert "hack" This reverts commit 801f685caa2211aaf222cedae3050d365b8b6a18. --- diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h index da572a7ebef2..79f0abe69b64 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.h +++ b/drivers/gpu/drm/virtio/virtgpu_drv.h @@ -62,8 +62,6 @@ struct virtio_gpu_object { struct ttm_placement placement; struct ttm_buffer_object tbo; struct ttm_bo_kmap_obj kmap; - - uint32_t width, height, format; }; #define gem_to_virtio_gpu_obj(gobj) \ container_of((gobj), struct virtio_gpu_object, gem_base) @@ -210,7 +208,7 @@ struct virtio_gpu_fpriv { }; /* virtio_ioctl.c */ -#define DRM_VIRTIO_NUM_IOCTLS 11 +#define DRM_VIRTIO_NUM_IOCTLS 10 extern struct drm_ioctl_desc virtio_gpu_ioctls[DRM_VIRTIO_NUM_IOCTLS]; /* virtio_kms.c */ @@ -223,9 +221,10 @@ void virtio_gpu_driver_postclose(struct drm_device *dev, struct drm_file *file); void virtio_gpu_gem_free_object(struct drm_gem_object *gem_obj); int virtio_gpu_gem_init(struct virtio_gpu_device *vgdev); void virtio_gpu_gem_fini(struct virtio_gpu_device *vgdev); -int virtio_gpu_gem_create(struct drm_file *file, struct drm_device *dev, - uint64_t size, uint32_t width, uint32_t height, - uint32_t format, struct drm_gem_object **obj_p, +int virtio_gpu_gem_create(struct drm_file *file, + struct drm_device *dev, + uint64_t size, + struct drm_gem_object **obj_p, uint32_t *handle_p); int virtio_gpu_gem_object_open(struct drm_gem_object *obj, struct drm_file *file); @@ -233,9 +232,7 @@ void virtio_gpu_gem_object_close(struct drm_gem_object *obj, struct drm_file *file); struct virtio_gpu_object *virtio_gpu_alloc_object(struct drm_device *dev, size_t size, bool kernel, - bool pinned, uint32_t width, - uint32_t height, - uint32_t format); + bool pinned); int virtio_gpu_mode_dumb_create(struct drm_file *file_priv, struct drm_device *dev, struct drm_mode_create_dumb *args); @@ -355,7 +352,6 @@ void virtio_gpu_fence_event_process(struct virtio_gpu_device *vdev, /* virtio_gpu_object */ int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, unsigned long size, bool kernel, bool pinned, - uint32_t width, uint32_t height, uint32_t format, struct virtio_gpu_object **bo_ptr); int virtio_gpu_object_kmap(struct virtio_gpu_object *bo, void **ptr); int virtio_gpu_object_get_sg_table(struct virtio_gpu_device *qdev, diff --git a/drivers/gpu/drm/virtio/virtgpu_fb.c b/drivers/gpu/drm/virtio/virtgpu_fb.c index 09d7825db4ef..6a81e084593b 100644 --- a/drivers/gpu/drm/virtio/virtgpu_fb.c +++ b/drivers/gpu/drm/virtio/virtgpu_fb.c @@ -297,8 +297,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper, } size = mode_cmd.pitches[0] * mode_cmd.height; - obj = virtio_gpu_alloc_object(dev, size, false, true, mode_cmd.width, - mode_cmd.height, format); + obj = virtio_gpu_alloc_object(dev, size, false, true); if (IS_ERR(obj)) return PTR_ERR(obj); diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c b/drivers/gpu/drm/virtio/virtgpu_gem.c index 2189674d3812..1feb7cee3f0d 100644 --- a/drivers/gpu/drm/virtio/virtgpu_gem.c +++ b/drivers/gpu/drm/virtio/virtgpu_gem.c @@ -36,33 +36,30 @@ void virtio_gpu_gem_free_object(struct drm_gem_object *gem_obj) struct virtio_gpu_object *virtio_gpu_alloc_object(struct drm_device *dev, size_t size, bool kernel, - bool pinned, uint32_t width, - uint32_t height, - uint32_t format) + bool pinned) { struct virtio_gpu_device *vgdev = dev->dev_private; struct virtio_gpu_object *obj; int ret; - ret = virtio_gpu_object_create(vgdev, size, kernel, pinned, width, - height, format, &obj); + ret = virtio_gpu_object_create(vgdev, size, kernel, pinned, &obj); if (ret) return ERR_PTR(ret); return obj; } -int virtio_gpu_gem_create(struct drm_file *file, struct drm_device *dev, - uint64_t size, uint32_t width, uint32_t height, - uint32_t format, struct drm_gem_object **obj_p, +int virtio_gpu_gem_create(struct drm_file *file, + struct drm_device *dev, + uint64_t size, + struct drm_gem_object **obj_p, uint32_t *handle_p) { struct virtio_gpu_object *obj; int ret; u32 handle; - obj = virtio_gpu_alloc_object(dev, size, false, false, width, height, - format); + obj = virtio_gpu_alloc_object(dev, size, false, false); if (IS_ERR(obj)) return PTR_ERR(obj); @@ -96,8 +93,8 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv, args->size = pitch * args->height; args->size = ALIGN(args->size, PAGE_SIZE); - ret = virtio_gpu_gem_create(file_priv, dev, args->size, args->width, - args->height, 2, &gobj, &args->handle); + ret = virtio_gpu_gem_create(file_priv, dev, args->size, &gobj, + &args->handle); if (ret) goto fail; diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c index e71560e9fe51..b4de18e65db8 100644 --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c @@ -259,8 +259,7 @@ static int virtio_gpu_resource_create_ioctl(struct drm_device *dev, void *data, if (size == 0) size = PAGE_SIZE; - qobj = virtio_gpu_alloc_object(dev, size, false, false, rc->width, - rc->height, rc->format); + qobj = virtio_gpu_alloc_object(dev, size, false, false); if (IS_ERR(qobj)) { ret = PTR_ERR(qobj); goto fail_id; @@ -540,45 +539,6 @@ copy_exit: return 0; } -static int virtio_gpu_brutal_hack(struct drm_device *dev, void *data, - struct drm_file *file) -{ - struct drm_virtgpu_brutal_hack *bh = data; - struct drm_gem_object *gobj = NULL; - struct virtio_gpu_object *qobj = NULL; - - gobj = drm_gem_object_lookup(dev, file, bh->bo_handle); - if (gobj == NULL) { - return -ENOENT; - } - - qobj = gem_to_virtio_gpu_obj(gobj); - - bh->width = qobj->width; - bh->height = qobj->height; - bh->pitch = qobj->width * 4; - switch (qobj->format) { - case VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM: - bh->format = DRM_FORMAT_XRGB8888; - break; - case VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM: - bh->format = DRM_FORMAT_ARGB8888; - break; - case VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM: - bh->format = DRM_FORMAT_BGRX8888; - break; - case VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM: - bh->format = DRM_FORMAT_BGRA8888; - break; - default: - bh->format = 0; - break; - } - - drm_gem_object_unreference_unlocked(gobj); - return 0; -} - struct drm_ioctl_desc virtio_gpu_ioctls[DRM_VIRTIO_NUM_IOCTLS] = { DRM_IOCTL_DEF_DRV(VIRTGPU_MAP, virtio_gpu_map_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW), @@ -610,7 +570,4 @@ struct drm_ioctl_desc virtio_gpu_ioctls[DRM_VIRTIO_NUM_IOCTLS] = { DRM_IOCTL_DEF_DRV(VIRTGPU_GET_CAPS, virtio_gpu_get_caps_ioctl, DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW), - - DRM_IOCTL_DEF_DRV(VIRTGPU_BRUTAL_HACK, virtio_gpu_brutal_hack, - DRM_RENDER_ALLOW), }; diff --git a/drivers/gpu/drm/virtio/virtgpu_object.c b/drivers/gpu/drm/virtio/virtgpu_object.c index e591c68bdbb9..f300eba95bb1 100644 --- a/drivers/gpu/drm/virtio/virtgpu_object.c +++ b/drivers/gpu/drm/virtio/virtgpu_object.c @@ -60,7 +60,6 @@ static void virtio_gpu_init_ttm_placement(struct virtio_gpu_object *vgbo, int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, unsigned long size, bool kernel, bool pinned, - uint32_t width, uint32_t height, uint32_t format, struct virtio_gpu_object **bo_ptr) { struct virtio_gpu_object *bo; @@ -94,10 +93,6 @@ int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, if (ret != 0) return ret; - bo->width = width; - bo->height = height; - bo->format = format; - *bo_ptr = bo; return 0; } diff --git a/include/uapi/drm/virtgpu_drm.h b/include/uapi/drm/virtgpu_drm.h index 81a50d6d08b7..fc9e2d6e5e2f 100644 --- a/include/uapi/drm/virtgpu_drm.h +++ b/include/uapi/drm/virtgpu_drm.h @@ -43,7 +43,6 @@ #define DRM_VIRTGPU_TRANSFER_TO_HOST 0x07 #define DRM_VIRTGPU_WAIT 0x08 #define DRM_VIRTGPU_GET_CAPS 0x09 -#define DRM_VIRTGPU_BRUTAL_HACK 0x0A struct drm_virtgpu_map { uint64_t offset; /* use for mmap system call */ @@ -130,14 +129,6 @@ struct drm_virtgpu_get_caps { uint32_t pad; }; -struct drm_virtgpu_brutal_hack { - __u32 bo_handle; - __u32 width; - __u32 height; - __u32 pitch; - __u32 format; -}; - #define DRM_IOCTL_VIRTGPU_MAP \ DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_MAP, struct drm_virtgpu_map) @@ -173,8 +164,4 @@ struct drm_virtgpu_brutal_hack { DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GET_CAPS, \ struct drm_virtgpu_get_caps) -#define DRM_IOCTL_VIRTGPU_BRUTAL_HACK \ - DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_BRUTAL_HACK, \ - struct drm_virtgpu_brutal_hack) - #endif