drm_getcap is added with another parameter called DRM_CAP_DUMB_SIZE_AVAILABLE to get the available size for dumb buffer from drm driver. Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx> --- drivers/gpu/drm/drm_ioctl.c | 5 +++++ include/drm/drm_drv.h | 15 +++++++++++++++ include/uapi/drm/drm.h | 1 + 3 files changed, 21 insertions(+) diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c index 5afb39688b55..786d23f8c03a 100644 --- a/drivers/gpu/drm/drm_ioctl.c +++ b/drivers/gpu/drm/drm_ioctl.c @@ -302,6 +302,11 @@ static int drm_getcap(struct drm_device *dev, void *data, struct drm_file *file_ case DRM_CAP_CRTC_IN_VBLANK_EVENT: req->value = 1; break; + case DRM_CAP_DUMB_SIZE_AVAILABLE: + if (dev->driver->dumb_size_available) + return dev->driver->dumb_size_available(file_priv, dev, + &req->value); + break; default: return -EINVAL; } diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index cf13470810a5..19404e604c03 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -677,6 +677,21 @@ struct drm_driver { int (*dumb_create)(struct drm_file *file_priv, struct drm_device *dev, struct drm_mode_create_dumb *args); + + /** + * @dumb_size_available: + * + * This function calculates the available backin store for the + * dumb buffer that can be created through dumb_create ioctl. + * + * Returns: + * + * Zero on success, negative errno on failure. + */ + int (*dumb_size_available)(struct drm_file *file_priv, + struct drm_device *dev, + uint64_t *avail_size); + /** * @dumb_map_offset: * diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h index 868bf7996c0f..4da8ebc5aee2 100644 --- a/include/uapi/drm/drm.h +++ b/include/uapi/drm/drm.h @@ -651,6 +651,7 @@ struct drm_gem_open { #define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12 #define DRM_CAP_SYNCOBJ 0x13 #define DRM_CAP_SYNCOBJ_TIMELINE 0x14 +#define DRM_CAP_DUMB_SIZE_AVAILABLE 0x15 /** DRM_IOCTL_GET_CAP ioctl argument type */ struct drm_get_cap { -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx