2023-03-28 15:42:16

by Tom Zanussi

[permalink] [raw]
Subject: [PATCH v2 05/15] dmaengine: idxd: Export wq resource management functions

To allow idxd sub-drivers to access the wq resource management
functions, export them.

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

diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c
index af1aa88a66c1..7837d0a56314 100644
--- a/drivers/dma/idxd/device.c
+++ b/drivers/dma/idxd/device.c
@@ -161,6 +161,7 @@ int idxd_wq_alloc_resources(struct idxd_wq *wq)
free_hw_descs(wq);
return rc;
}
+EXPORT_SYMBOL_NS_GPL(idxd_wq_alloc_resources, IDXD);

void idxd_wq_free_resources(struct idxd_wq *wq)
{
@@ -174,6 +175,7 @@ void idxd_wq_free_resources(struct idxd_wq *wq)
dma_free_coherent(dev, wq->compls_size, wq->compls, wq->compls_addr);
sbitmap_queue_free(&wq->sbq);
}
+EXPORT_SYMBOL_NS_GPL(idxd_wq_free_resources, IDXD);

int idxd_wq_enable(struct idxd_wq *wq)
{
@@ -422,6 +424,7 @@ int idxd_wq_init_percpu_ref(struct idxd_wq *wq)
reinit_completion(&wq->wq_resurrect);
return 0;
}
+EXPORT_SYMBOL_NS_GPL(idxd_wq_init_percpu_ref, IDXD);

void __idxd_wq_quiesce(struct idxd_wq *wq)
{
@@ -431,6 +434,7 @@ void __idxd_wq_quiesce(struct idxd_wq *wq)
complete_all(&wq->wq_resurrect);
wait_for_completion(&wq->wq_dead);
}
+EXPORT_SYMBOL_NS_GPL(__idxd_wq_quiesce, IDXD);

void idxd_wq_quiesce(struct idxd_wq *wq)
{
@@ -438,6 +442,7 @@ void idxd_wq_quiesce(struct idxd_wq *wq)
__idxd_wq_quiesce(wq);
mutex_unlock(&wq->wq_lock);
}
+EXPORT_SYMBOL_NS_GPL(idxd_wq_quiesce, IDXD);

/* Device control bits */
static inline bool idxd_is_enabled(struct idxd_device *idxd)
--
2.34.1


2023-03-28 16:12:44

by Dave Jiang

[permalink] [raw]
Subject: Re: [PATCH v2 05/15] dmaengine: idxd: Export wq resource management functions



On 3/28/23 8:35 AM, Tom Zanussi wrote:
> To allow idxd sub-drivers to access the wq resource management
> functions, export them.
>
> Signed-off-by: Tom Zanussi <[email protected]>
Reviewed-by: Dave Jiang <[email protected]>

> ---
> drivers/dma/idxd/device.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c
> index af1aa88a66c1..7837d0a56314 100644
> --- a/drivers/dma/idxd/device.c
> +++ b/drivers/dma/idxd/device.c
> @@ -161,6 +161,7 @@ int idxd_wq_alloc_resources(struct idxd_wq *wq)
> free_hw_descs(wq);
> return rc;
> }
> +EXPORT_SYMBOL_NS_GPL(idxd_wq_alloc_resources, IDXD);
>
> void idxd_wq_free_resources(struct idxd_wq *wq)
> {
> @@ -174,6 +175,7 @@ void idxd_wq_free_resources(struct idxd_wq *wq)
> dma_free_coherent(dev, wq->compls_size, wq->compls, wq->compls_addr);
> sbitmap_queue_free(&wq->sbq);
> }
> +EXPORT_SYMBOL_NS_GPL(idxd_wq_free_resources, IDXD);
>
> int idxd_wq_enable(struct idxd_wq *wq)
> {
> @@ -422,6 +424,7 @@ int idxd_wq_init_percpu_ref(struct idxd_wq *wq)
> reinit_completion(&wq->wq_resurrect);
> return 0;
> }
> +EXPORT_SYMBOL_NS_GPL(idxd_wq_init_percpu_ref, IDXD);
>
> void __idxd_wq_quiesce(struct idxd_wq *wq)
> {
> @@ -431,6 +434,7 @@ void __idxd_wq_quiesce(struct idxd_wq *wq)
> complete_all(&wq->wq_resurrect);
> wait_for_completion(&wq->wq_dead);
> }
> +EXPORT_SYMBOL_NS_GPL(__idxd_wq_quiesce, IDXD);
>
> void idxd_wq_quiesce(struct idxd_wq *wq)
> {
> @@ -438,6 +442,7 @@ void idxd_wq_quiesce(struct idxd_wq *wq)
> __idxd_wq_quiesce(wq);
> mutex_unlock(&wq->wq_lock);
> }
> +EXPORT_SYMBOL_NS_GPL(idxd_wq_quiesce, IDXD);
>
> /* Device control bits */
> static inline bool idxd_is_enabled(struct idxd_device *idxd)