2023-04-28 20:57:23

by Tom Zanussi

[permalink] [raw]
Subject: [PATCH v3 06/15] dmaengine: idxd: Add private_data to struct idxd_wq

Add a void * to idxd_wqs for user-defined context data, along with
accessors set_idxd_wq_private() and idxd_wq_private().

Signed-off-by: Tom Zanussi <[email protected]>
---
drivers/dma/idxd/idxd.h | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/drivers/dma/idxd/idxd.h b/drivers/dma/idxd/idxd.h
index 719f9f1662ad..0402f97d6ff8 100644
--- a/drivers/dma/idxd/idxd.h
+++ b/drivers/dma/idxd/idxd.h
@@ -216,6 +216,8 @@ struct idxd_wq {
u32 max_batch_size;

char driver_name[WQ_NAME_SIZE + 1];
+
+ void *private_data;
};

struct idxd_engine {
@@ -550,6 +552,16 @@ static inline int idxd_wq_refcount(struct idxd_wq *wq)
return wq->client_count;
};

+static inline void set_idxd_wq_private(struct idxd_wq *wq, void *private)
+{
+ wq->private_data = private;
+}
+
+static inline void *idxd_wq_private(struct idxd_wq *wq)
+{
+ return wq->private_data;
+}
+
/*
* Intel IAA does not support batch processing.
* The max batch size of device, max batch size of wq and
--
2.34.1


2023-05-01 14:53:05

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH v3 06/15] dmaengine: idxd: Add private_data to struct idxd_wq



On 4/28/23 1:55 PM, Tom Zanussi wrote:
> Add a void * to idxd_wqs for user-defined context data, along with
> accessors set_idxd_wq_private() and idxd_wq_private().
>
> Signed-off-by: Tom Zanussi <[email protected]>
Reviewed-by: Dave Jiang <[email protected]>

> ---
> drivers/dma/idxd/idxd.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/dma/idxd/idxd.h b/drivers/dma/idxd/idxd.h
> index 719f9f1662ad..0402f97d6ff8 100644
> --- a/drivers/dma/idxd/idxd.h
> +++ b/drivers/dma/idxd/idxd.h
> @@ -216,6 +216,8 @@ struct idxd_wq {
> u32 max_batch_size;
>
> char driver_name[WQ_NAME_SIZE + 1];
> +
> + void *private_data;
> };
>
> struct idxd_engine {
> @@ -550,6 +552,16 @@ static inline int idxd_wq_refcount(struct idxd_wq *wq)
> return wq->client_count;
> };
>
> +static inline void set_idxd_wq_private(struct idxd_wq *wq, void *private)
> +{
> + wq->private_data = private;
> +}
> +
> +static inline void *idxd_wq_private(struct idxd_wq *wq)
> +{
> + return wq->private_data;
> +}
> +
> /*
> * Intel IAA does not support batch processing.
> * The max batch size of device, max batch size of wq and