[2/3,net-next] net: page_pool: add helper function for retrieving dma direction

Message ID 1561718355-13919-3-git-send-email-ilias.apalodimas@linaro.org
State Superseded
Headers show
Series
  • net: netsec: Add XDP Support
Related show

Commit Message

Ilias Apalodimas June 28, 2019, 10:39 a.m.
Since the dma direction is stored in page pool params, offer an API
helper for driver that choose not to keep track of it locally

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>

---
 include/net/page_pool.h | 9 +++++++++
 1 file changed, 9 insertions(+)

-- 
2.20.1

Comments

Jesper Dangaard Brouer June 28, 2019, 1:07 p.m. | #1
On Fri, 28 Jun 2019 13:39:14 +0300
Ilias Apalodimas <ilias.apalodimas@linaro.org> wrote:

> Since the dma direction is stored in page pool params, offer an API

> helper for driver that choose not to keep track of it locally

> 

> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>

> ---

>  include/net/page_pool.h | 9 +++++++++

>  1 file changed, 9 insertions(+)


Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>


This is simple enough and you also explained the downside.
Thanks for adding a helper for this.

 
> diff --git a/include/net/page_pool.h b/include/net/page_pool.h

> index f07c518ef8a5..ee9c871d2043 100644

> --- a/include/net/page_pool.h

> +++ b/include/net/page_pool.h

> @@ -112,6 +112,15 @@ static inline struct page *page_pool_dev_alloc_pages(struct page_pool *pool)

>  	return page_pool_alloc_pages(pool, gfp);

>  }

>  

> +/* get the stored dma direction. A driver might decide to treat this locally and

> + * avoid the extra cache line from page_pool to determine the direction

> + */

> +static

> +inline enum dma_data_direction page_pool_get_dma_dir(struct page_pool *pool)

> +{

> +	return pool->p.dma_dir;

> +}

> +

>  struct page_pool *page_pool_create(const struct page_pool_params *params);

>  

>  void __page_pool_free(struct page_pool *pool);



-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer

Patch

diff --git a/include/net/page_pool.h b/include/net/page_pool.h
index f07c518ef8a5..ee9c871d2043 100644
--- a/include/net/page_pool.h
+++ b/include/net/page_pool.h
@@ -112,6 +112,15 @@  static inline struct page *page_pool_dev_alloc_pages(struct page_pool *pool)
 	return page_pool_alloc_pages(pool, gfp);
 }
 
+/* get the stored dma direction. A driver might decide to treat this locally and
+ * avoid the extra cache line from page_pool to determine the direction
+ */
+static
+inline enum dma_data_direction page_pool_get_dma_dir(struct page_pool *pool)
+{
+	return pool->p.dma_dir;
+}
+
 struct page_pool *page_pool_create(const struct page_pool_params *params);
 
 void __page_pool_free(struct page_pool *pool);