mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 20:56:44 +07:00
drm/exynos: explicit store base gem object in dma_buf->priv
Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
c1d6798d20
commit
d0ed8d27fa
@ -22,6 +22,11 @@ struct exynos_drm_dmabuf_attachment {
|
|||||||
bool is_mapped;
|
bool is_mapped;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct exynos_drm_gem_obj *dma_buf_to_obj(struct dma_buf *buf)
|
||||||
|
{
|
||||||
|
return to_exynos_gem_obj(buf->priv);
|
||||||
|
}
|
||||||
|
|
||||||
static int exynos_gem_attach_dma_buf(struct dma_buf *dmabuf,
|
static int exynos_gem_attach_dma_buf(struct dma_buf *dmabuf,
|
||||||
struct device *dev,
|
struct device *dev,
|
||||||
struct dma_buf_attachment *attach)
|
struct dma_buf_attachment *attach)
|
||||||
@ -63,7 +68,7 @@ static struct sg_table *
|
|||||||
enum dma_data_direction dir)
|
enum dma_data_direction dir)
|
||||||
{
|
{
|
||||||
struct exynos_drm_dmabuf_attachment *exynos_attach = attach->priv;
|
struct exynos_drm_dmabuf_attachment *exynos_attach = attach->priv;
|
||||||
struct exynos_drm_gem_obj *gem_obj = attach->dmabuf->priv;
|
struct exynos_drm_gem_obj *gem_obj = dma_buf_to_obj(attach->dmabuf);
|
||||||
struct drm_device *dev = gem_obj->base.dev;
|
struct drm_device *dev = gem_obj->base.dev;
|
||||||
struct exynos_drm_gem_buf *buf;
|
struct exynos_drm_gem_buf *buf;
|
||||||
struct scatterlist *rd, *wr;
|
struct scatterlist *rd, *wr;
|
||||||
@ -180,7 +185,7 @@ struct dma_buf *exynos_dmabuf_prime_export(struct drm_device *drm_dev,
|
|||||||
{
|
{
|
||||||
struct exynos_drm_gem_obj *exynos_gem_obj = to_exynos_gem_obj(obj);
|
struct exynos_drm_gem_obj *exynos_gem_obj = to_exynos_gem_obj(obj);
|
||||||
|
|
||||||
return dma_buf_export(exynos_gem_obj, &exynos_dmabuf_ops,
|
return dma_buf_export(obj, &exynos_dmabuf_ops,
|
||||||
exynos_gem_obj->base.size, flags);
|
exynos_gem_obj->base.size, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,8 +203,7 @@ struct drm_gem_object *exynos_dmabuf_prime_import(struct drm_device *drm_dev,
|
|||||||
if (dma_buf->ops == &exynos_dmabuf_ops) {
|
if (dma_buf->ops == &exynos_dmabuf_ops) {
|
||||||
struct drm_gem_object *obj;
|
struct drm_gem_object *obj;
|
||||||
|
|
||||||
exynos_gem_obj = dma_buf->priv;
|
obj = dma_buf->priv;
|
||||||
obj = &exynos_gem_obj->base;
|
|
||||||
|
|
||||||
/* is it from our device? */
|
/* is it from our device? */
|
||||||
if (obj->dev == drm_dev) {
|
if (obj->dev == drm_dev) {
|
||||||
|
Loading…
Reference in New Issue
Block a user