2024-03-28 09:27:50

by Julien Panis

[permalink] [raw]
Subject: [PATCH net-next v5 1/3] net: ethernet: ti: Add accessors for struct k3_cppi_desc_pool members

This patch adds accessors for desc_size and cpumem members. They may be
used, for instance, to compute a descriptor index.

Signed-off-by: Julien Panis <[email protected]>
---
drivers/net/ethernet/ti/k3-cppi-desc-pool.c | 12 ++++++++++++
drivers/net/ethernet/ti/k3-cppi-desc-pool.h | 2 ++
2 files changed, 14 insertions(+)

diff --git a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c b/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
index 05cc7aab1ec8..fe8203c05731 100644
--- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
+++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
@@ -132,5 +132,17 @@ size_t k3_cppi_desc_pool_avail(struct k3_cppi_desc_pool *pool)
}
EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_avail);

+size_t k3_cppi_desc_pool_desc_size(struct k3_cppi_desc_pool *pool)
+{
+ return pool->desc_size;
+}
+EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_desc_size);
+
+void *k3_cppi_desc_pool_cpuaddr(struct k3_cppi_desc_pool *pool)
+{
+ return pool->cpumem;
+}
+EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_cpuaddr);
+
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("TI K3 CPPI5 descriptors pool API");
diff --git a/drivers/net/ethernet/ti/k3-cppi-desc-pool.h b/drivers/net/ethernet/ti/k3-cppi-desc-pool.h
index a7e3fa5e7b62..149d5579a5e2 100644
--- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.h
+++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.h
@@ -26,5 +26,7 @@ k3_cppi_desc_pool_dma2virt(struct k3_cppi_desc_pool *pool, dma_addr_t dma);
void *k3_cppi_desc_pool_alloc(struct k3_cppi_desc_pool *pool);
void k3_cppi_desc_pool_free(struct k3_cppi_desc_pool *pool, void *addr);
size_t k3_cppi_desc_pool_avail(struct k3_cppi_desc_pool *pool);
+size_t k3_cppi_desc_pool_desc_size(struct k3_cppi_desc_pool *pool);
+void *k3_cppi_desc_pool_cpuaddr(struct k3_cppi_desc_pool *pool);

#endif /* K3_CPPI_DESC_POOL_H_ */

--
2.37.3



2024-03-28 12:17:31

by Naveen Mamindlapalli

[permalink] [raw]
Subject: RE: [PATCH net-next v5 1/3] net: ethernet: ti: Add accessors for struct k3_cppi_desc_pool members


> -----Original Message-----
> From: Julien Panis <[email protected]>
> Sent: Thursday, March 28, 2024 2:57 PM
> To: David S. Miller <[email protected]>; Eric Dumazet
> <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni
> <[email protected]>; Russell King <[email protected]>; Alexei Starovoitov
> <[email protected]>; Daniel Borkmann <[email protected]>; Jesper Dangaard
> Brouer <[email protected]>; John Fastabend <[email protected]>;
> Sumit Semwal <[email protected]>; Christian König
> <[email protected]>; Simon Horman <[email protected]>; Andrew
> Lunn <[email protected]>; Ratheesh Kannoth <[email protected]>
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; linaro-mm-
> [email protected]; Julien Panis <[email protected]>
> Subject: [PATCH net-next v5 1/3] net: ethernet: ti: Add accessors
> for struct k3_cppi_desc_pool members
>
> This patch adds accessors for desc_size and cpumem members. They may be
> used, for instance, to compute a descriptor index.
>
> Signed-off-by: Julien Panis <[email protected]>
> ---
> drivers/net/ethernet/ti/k3-cppi-desc-pool.c | 12 ++++++++++++
> drivers/net/ethernet/ti/k3-cppi-desc-pool.h | 2 ++
> 2 files changed, 14 insertions(+)
>
> diff --git a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c b/drivers/net/ethernet/ti/k3-
> cppi-desc-pool.c
> index 05cc7aab1ec8..fe8203c05731 100644
> --- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
> +++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
> @@ -132,5 +132,17 @@ size_t k3_cppi_desc_pool_avail(struct
> k3_cppi_desc_pool *pool) } EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_avail);
>
> +size_t k3_cppi_desc_pool_desc_size(struct k3_cppi_desc_pool *pool) {
> + return pool->desc_size;

Don't you need to add NULL check on pool ptr since this function is exported?

> +}
> +EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_desc_size);
> +
> +void *k3_cppi_desc_pool_cpuaddr(struct k3_cppi_desc_pool *pool) {
> + return pool->cpumem;

Same here.

> +}
> +EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_cpuaddr);
> +
> MODULE_LICENSE("GPL");
> MODULE_DESCRIPTION("TI K3 CPPI5 descriptors pool API"); diff --git
> a/drivers/net/ethernet/ti/k3-cppi-desc-pool.h b/drivers/net/ethernet/ti/k3-cppi-desc-
> pool.h
> index a7e3fa5e7b62..149d5579a5e2 100644
> --- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.h
> +++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.h
> @@ -26,5 +26,7 @@ k3_cppi_desc_pool_dma2virt(struct k3_cppi_desc_pool
> *pool, dma_addr_t dma); void *k3_cppi_desc_pool_alloc(struct
> k3_cppi_desc_pool *pool); void k3_cppi_desc_pool_free(struct
> k3_cppi_desc_pool *pool, void *addr); size_t k3_cppi_desc_pool_avail(struct
> k3_cppi_desc_pool *pool);
> +size_t k3_cppi_desc_pool_desc_size(struct k3_cppi_desc_pool *pool);
> +void *k3_cppi_desc_pool_cpuaddr(struct k3_cppi_desc_pool *pool);
>
> #endif /* K3_CPPI_DESC_POOL_H_ */
>
> --
> 2.37.3
>

2024-03-28 12:25:23

by Julien Panis

[permalink] [raw]
Subject: Re: [PATCH net-next v5 1/3] net: ethernet: ti: Add accessors for struct k3_cppi_desc_pool members

On 3/28/24 13:06, Naveen Mamindlapalli wrote:
>> -----Original Message-----
>> From: Julien Panis <[email protected]>
>> Sent: Thursday, March 28, 2024 2:57 PM
>> To: David S. Miller <[email protected]>; Eric Dumazet
>> <[email protected]>; Jakub Kicinski <[email protected]>; Paolo Abeni
>> <[email protected]>; Russell King <[email protected]>; Alexei Starovoitov
>> <[email protected]>; Daniel Borkmann <[email protected]>; Jesper Dangaard
>> Brouer <[email protected]>; John Fastabend <[email protected]>;
>> Sumit Semwal <[email protected]>; Christian König
>> <[email protected]>; Simon Horman <[email protected]>; Andrew
>> Lunn <[email protected]>; Ratheesh Kannoth <[email protected]>
>> Cc: [email protected]; [email protected]; [email protected];
>> [email protected]; [email protected]; linaro-mm-
>> [email protected]; Julien Panis <[email protected]>
>> Subject: [PATCH net-next v5 1/3] net: ethernet: ti: Add accessors
>> for struct k3_cppi_desc_pool members
>>
>> This patch adds accessors for desc_size and cpumem members. They may be
>> used, for instance, to compute a descriptor index.
>>
>> Signed-off-by: Julien Panis <[email protected]>
>> ---
>> drivers/net/ethernet/ti/k3-cppi-desc-pool.c | 12 ++++++++++++
>> drivers/net/ethernet/ti/k3-cppi-desc-pool.h | 2 ++
>> 2 files changed, 14 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c b/drivers/net/ethernet/ti/k3-
>> cppi-desc-pool.c
>> index 05cc7aab1ec8..fe8203c05731 100644
>> --- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
>> +++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
>> @@ -132,5 +132,17 @@ size_t k3_cppi_desc_pool_avail(struct
>> k3_cppi_desc_pool *pool) } EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_avail);
>>
>> +size_t k3_cppi_desc_pool_desc_size(struct k3_cppi_desc_pool *pool) {
>> + return pool->desc_size;
> Don't you need to add NULL check on pool ptr since this function is exported?

Thanks for the review.
Absolutely, you're right.

>
>> +}
>> +EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_desc_size);
>> +
>> +void *k3_cppi_desc_pool_cpuaddr(struct k3_cppi_desc_pool *pool) {
>> + return pool->cpumem;
> Same here.
>
>> +}
>> +EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_cpuaddr);
>> +
>> MODULE_LICENSE("GPL");
>> MODULE_DESCRIPTION("TI K3 CPPI5 descriptors pool API"); diff --git
>> a/drivers/net/ethernet/ti/k3-cppi-desc-pool.h b/drivers/net/ethernet/ti/k3-cppi-desc-
>> pool.h
>> index a7e3fa5e7b62..149d5579a5e2 100644
>> --- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.h
>> +++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.h
>> @@ -26,5 +26,7 @@ k3_cppi_desc_pool_dma2virt(struct k3_cppi_desc_pool
>> *pool, dma_addr_t dma); void *k3_cppi_desc_pool_alloc(struct
>> k3_cppi_desc_pool *pool); void k3_cppi_desc_pool_free(struct
>> k3_cppi_desc_pool *pool, void *addr); size_t k3_cppi_desc_pool_avail(struct
>> k3_cppi_desc_pool *pool);
>> +size_t k3_cppi_desc_pool_desc_size(struct k3_cppi_desc_pool *pool);
>> +void *k3_cppi_desc_pool_cpuaddr(struct k3_cppi_desc_pool *pool);
>>
>> #endif /* K3_CPPI_DESC_POOL_H_ */
>>
>> --
>> 2.37.3
>>


2024-03-30 18:29:03

by Russell King (Oracle)

[permalink] [raw]
Subject: Re: [PATCH net-next v5 1/3] net: ethernet: ti: Add accessors for struct k3_cppi_desc_pool members

On Thu, Mar 28, 2024 at 12:06:56PM +0000, Naveen Mamindlapalli wrote:
> > diff --git a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c b/drivers/net/ethernet/ti/k3-
> > cppi-desc-pool.c
> > index 05cc7aab1ec8..fe8203c05731 100644
> > --- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
> > +++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.c
> > @@ -132,5 +132,17 @@ size_t k3_cppi_desc_pool_avail(struct
> > k3_cppi_desc_pool *pool) } EXPORT_SYMBOL_GPL(k3_cppi_desc_pool_avail);
> >
> > +size_t k3_cppi_desc_pool_desc_size(struct k3_cppi_desc_pool *pool) {
> > + return pool->desc_size;
>
> Don't you need to add NULL check on pool ptr since this function is exported?

What bearing does exporting a function have on whether it should check
for NULL?

Given that this function returns size_t, it can't return an error
number. So what value would it return if "pool" were NULL? It can
only return a positive integer or zero.

Also, the argument should be const as the function doesn't modify the
contents of "pool".

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!