aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Reding <[email protected]>2024-09-16 15:33:20 +0200
committerThierry Reding <[email protected]>2024-09-25 21:21:23 +0200
commitb4ad4ef374d66cc8df3188bb1ddb65bce5fc9e50 (patch)
tree6e026682e98ea304b0daa44f13dd1408bc34ef5c
parentf70000ef23527f6d928d1175c66c5fafa968814b (diff)
gpu: host1x: Set up device DMA parameters
In order to store device DMA parameters, the DMA framework depends on the device's dma_parms field to point at a valid memory location. Add backing storage for this in struct host1x_memory_context and point to it. Reported-by: Jonathan Hunter <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Tested-by: Jon Hunter <[email protected]> Signed-off-by: Thierry Reding <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
-rw-r--r--drivers/gpu/host1x/context.c1
-rw-r--r--include/linux/host1x.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/host1x/context.c b/drivers/gpu/host1x/context.c
index 955c971c528d..a6f6779662a3 100644
--- a/drivers/gpu/host1x/context.c
+++ b/drivers/gpu/host1x/context.c
@@ -58,6 +58,7 @@ int host1x_memory_context_list_init(struct host1x *host1x)
ctx->dev.parent = host1x->dev;
ctx->dev.release = host1x_memory_context_release;
+ ctx->dev.dma_parms = &ctx->dma_parms;
dma_set_max_seg_size(&ctx->dev, UINT_MAX);
err = device_add(&ctx->dev);
diff --git a/include/linux/host1x.h b/include/linux/host1x.h
index 5a7a81e5f9bd..9fa9c30a34e6 100644
--- a/include/linux/host1x.h
+++ b/include/linux/host1x.h
@@ -471,6 +471,7 @@ struct host1x_memory_context {
refcount_t ref;
struct pid *owner;
+ struct device_dma_parameters dma_parms;
struct device dev;
u64 dma_mask;
u32 stream_id;