freedreno/replay: Correctly free iova on msm backend

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26101>
This commit is contained in:
Danylo Piliaiev
2023-11-02 14:02:37 +01:00
committed by Marge Bot
parent 56a6bc758d
commit 16de8e99cf

View File

@@ -634,6 +634,19 @@ buffer_mem_free(struct device *dev, struct buffer *buf)
if (dev->has_set_iova) {
munmap(buf->map, buf->size);
struct drm_msm_gem_info req_iova = {
.handle = buf->gem_handle,
.info = MSM_INFO_SET_IOVA,
.value = 0,
};
int ret = drmCommandWriteRead(dev->fd, DRM_MSM_GEM_INFO, &req_iova,
sizeof(req_iova));
if (ret < 0) {
err(1, "MSM_INFO_SET_IOVA(0) failed! %d", ret);
return;
}
struct drm_gem_close req = {
.handle = buf->gem_handle,
};