On Sun, Jul 14, 2024 at 08:40:20PM -0700, Shradha Gupta wrote: > Currently the values of WQs for RX and TX queues for MANA devices > are hardcoded to default sizes. > Allow configuring these values for MANA devices as ringparam > configuration(get/set) through ethtool_ops. > > Signed-off-by: Shradha Gupta <shradhagupta@xxxxxxxxxxxxxxxxxxx> > Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> > Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> ... > diff --git a/include/net/mana/mana.h b/include/net/mana/mana.h > index e39b8676fe54..3e27ca5155aa 100644 > --- a/include/net/mana/mana.h > +++ b/include/net/mana/mana.h > @@ -38,9 +38,21 @@ enum TRI_STATE { > > #define COMP_ENTRY_SIZE 64 > > -#define RX_BUFFERS_PER_QUEUE 512 > +/* This Max value for RX buffers is derived from __alloc_page()'s max page > + * allocation calculation. It allows maximum 2^(MAX_ORDER -1) pages. RX buffer > + * size beyond this value gets rejected by __alloc_page() call. > + */ > +#define MAX_RX_BUFFERS_PER_QUEUE 8192 > +#define DEF_RX_BUFFERS_PER_QUEUE 512 > +#define MIN_RX_BUFFERS_PER_QUEUE 128 > > -#define MAX_SEND_BUFFERS_PER_QUEUE 256 > +/* This max value for TX buffers is dervied as the maximum allocatable nit: derived Flagged by checkpatch --codespell > + * pages supported on host per guest through testing. TX buffer size beyond > + * this value is rejected by the hardware. > + */ > +#define MAX_TX_BUFFERS_PER_QUEUE 16384 > +#define DEF_TX_BUFFERS_PER_QUEUE 256 > +#define MIN_TX_BUFFERS_PER_QUEUE 128 > > #define EQ_SIZE (8 * MANA_PAGE_SIZE) > ...