mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00
drm/exynos: Add a new function to get gem buffer size
This patch adds a new function to get gem buffer size. And this funtion could be used for g2d driver or others can get gem buffer size to check if the buffer is valid or not. Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Kyungmin Park <inki.dae@samsung.com>
This commit is contained in:
parent
9963cb6ef9
commit
a4f19aaab3
2 changed files with 26 additions and 0 deletions
|
@ -164,6 +164,27 @@ out:
|
||||||
exynos_gem_obj = NULL;
|
exynos_gem_obj = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned long exynos_drm_gem_get_size(struct drm_device *dev,
|
||||||
|
unsigned int gem_handle,
|
||||||
|
struct drm_file *file_priv)
|
||||||
|
{
|
||||||
|
struct exynos_drm_gem_obj *exynos_gem_obj;
|
||||||
|
struct drm_gem_object *obj;
|
||||||
|
|
||||||
|
obj = drm_gem_object_lookup(dev, file_priv, gem_handle);
|
||||||
|
if (!obj) {
|
||||||
|
DRM_ERROR("failed to lookup gem object.\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
exynos_gem_obj = to_exynos_gem_obj(obj);
|
||||||
|
|
||||||
|
drm_gem_object_unreference_unlocked(obj);
|
||||||
|
|
||||||
|
return exynos_gem_obj->buffer->size;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct exynos_drm_gem_obj *exynos_drm_gem_init(struct drm_device *dev,
|
struct exynos_drm_gem_obj *exynos_drm_gem_init(struct drm_device *dev,
|
||||||
unsigned long size)
|
unsigned long size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -130,6 +130,11 @@ int exynos_drm_gem_userptr_ioctl(struct drm_device *dev, void *data,
|
||||||
int exynos_drm_gem_get_ioctl(struct drm_device *dev, void *data,
|
int exynos_drm_gem_get_ioctl(struct drm_device *dev, void *data,
|
||||||
struct drm_file *file_priv);
|
struct drm_file *file_priv);
|
||||||
|
|
||||||
|
/* get buffer size to gem handle. */
|
||||||
|
unsigned long exynos_drm_gem_get_size(struct drm_device *dev,
|
||||||
|
unsigned int gem_handle,
|
||||||
|
struct drm_file *file_priv);
|
||||||
|
|
||||||
/* initialize gem object. */
|
/* initialize gem object. */
|
||||||
int exynos_drm_gem_init_object(struct drm_gem_object *obj);
|
int exynos_drm_gem_init_object(struct drm_gem_object *obj);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue