Am 15.10.24 um 01:31 schrieb Adrián Larumbe:
Doesn't make any functional difference because generic dma_fence is the
first panfrost_fence structure member, but I guess it doesn't hurt either.
As discussed with Sima we want to push into the exactly opposite
direction because that requires that the panfrost module stays loaded as
long as fences are around.
So clearly a NAK to this one here. Rather document on the structure that
the dma_fence structure must be the first member.
Regards,
Christian.
Signed-off-by: Adrián Larumbe <adrian.larumbe@xxxxxxxxxxxxx>
---
drivers/gpu/drm/panfrost/panfrost_job.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c
index 5d83c6a148ec..fa219f719bdc 100644
--- a/drivers/gpu/drm/panfrost/panfrost_job.c
+++ b/drivers/gpu/drm/panfrost/panfrost_job.c
@@ -85,9 +85,15 @@ static const char *panfrost_fence_get_timeline_name(struct dma_fence *fence)
}
}
+static void panfrost_fence_release(struct dma_fence *fence)
+{
+ kfree(to_panfrost_fence(fence));
+}
+
static const struct dma_fence_ops panfrost_fence_ops = {
.get_driver_name = panfrost_fence_get_driver_name,
.get_timeline_name = panfrost_fence_get_timeline_name,
+ .release = panfrost_fence_release,
};
static struct dma_fence *panfrost_fence_create(struct panfrost_device *pfdev, int js_num)