> From: "Loktionov, Aleksandr" <[email protected]>
> To: Takashi Kozu <[email protected]>,
> "Nguyen, Anthony L" <[email protected]>
> Cc: "Kitszel, Przemyslaw" <[email protected]>,
> "[email protected]" <[email protected]>,
> "[email protected]" <[email protected]>,
> "[email protected]" <[email protected]>,
> "[email protected]" <[email protected]>,
> "[email protected]" <[email protected]>,
> "[email protected]"
> <[email protected]>,
> "[email protected]" <[email protected]>,
> "[email protected]" <[email protected]>,
> "Kwapulinski, Piotr" <[email protected]>
> Subject: Re: [Intel-wired-lan] [PATCH iwl-next v3 1/3] igb: prepare for RSS 
> key get/set support
> Date: Mon, 19 Jan 2026 10:19:02 +0000 [thread overview]
> Message-ID: 
> <ia3pr11mb898693239f08b055e714e430e5...@ia3pr11mb8986.namprd11.prod.outlook.com>
>  (raw)
> In-Reply-To: <[email protected]>
> 
> 
> 
> > -----Original Message-----
> > From: Takashi Kozu <[email protected]>
> > Sent: Monday, January 19, 2026 9:45 AM
> > To: Nguyen, Anthony L <[email protected]>
> > Cc: Kitszel, Przemyslaw <[email protected]>;
> > [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; Loktionov, Aleksandr
> > <[email protected]>; [email protected]; Kwapulinski,
> > Piotr <[email protected]>; Takashi Kozu <[email protected]>
> > Subject: [PATCH iwl-next v3 1/3] igb: prepare for RSS key get/set
> > support
> >
> > Store the RSS key inside struct igb_adapter and introduce the
> > igb_write_rss_key() helper function. This allows the driver to program
> > the E1000 registers using a persistent RSS key, instead of using a
> > stack-local buffer in igb_setup_mrqc().
> >
> > Signed-off-by: Takashi Kozu <[email protected]>
> > ---
> > drivers/net/ethernet/intel/igb/igb.h | 3 +++
> > drivers/net/ethernet/intel/igb/igb_ethtool.c | 21
> > ++++++++++++++++++++
> > drivers/net/ethernet/intel/igb/igb_main.c | 8 ++++----
> > 3 files changed, 28 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/intel/igb/igb.h
> > b/drivers/net/ethernet/intel/igb/igb.h
> > index 0fff1df81b7b..8c9b02058cec 100644
> > --- a/drivers/net/ethernet/intel/igb/igb.h
> > +++ b/drivers/net/ethernet/intel/igb/igb.h
> > @@ -495,6 +495,7 @@ struct hwmon_buff {
> > #define IGB_N_PEROUT 2
> > #define IGB_N_SDP 4
> > #define IGB_RETA_SIZE 128
> > +#define IGB_RSS_KEY_SIZE 40
> >
> > enum igb_filter_match_flags {
> > IGB_FILTER_FLAG_ETHER_TYPE = 0x1,
> > @@ -655,6 +656,7 @@ struct igb_adapter {
> > struct i2c_client *i2c_client;
> > u32 rss_indir_tbl_init;
> > u8 rss_indir_tbl[IGB_RETA_SIZE];
> > + u8 rss_key[IGB_RSS_KEY_SIZE];
> >
> > unsigned long link_check_timeout;
> > int copper_tries;
> > @@ -735,6 +737,7 @@ void igb_down(struct igb_adapter *); void
> > igb_reinit_locked(struct igb_adapter *); void igb_reset(struct
> > igb_adapter *); int igb_reinit_queues(struct igb_adapter *);
> > +void igb_write_rss_key(struct igb_adapter *adapter);
> > void igb_write_rss_indir_tbl(struct igb_adapter *); int
> > igb_set_spd_dplx(struct igb_adapter *, u32, u8); int
> > igb_setup_tx_resources(struct igb_ring *); diff --git
> > a/drivers/net/ethernet/intel/igb/igb_ethtool.c
> > b/drivers/net/ethernet/intel/igb/igb_ethtool.c
> > index 10e2445e0ded..5107b0de4fa3 100644
> > --- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
> > +++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
> > @@ -3016,6 +3016,27 @@ static int igb_set_rxnfc(struct net_device
> > *dev, struct ethtool_rxnfc *cmd)
> > return ret;
> > }
> >
> > +/**
> > + info.plist igb_write_rss_key - Program the RSS key into device registers
> > + info.plist @adapter: board private structure
> > + info.plist
> > + info.plist Write the RSS key stored in adapter->rss_key to the E1000 
> > hardware
> > registers.
> > + info.plist Each 32-bit chunk of the key is read using get_unaligned_le32()
> > and
> > +written
> > + info.plist to the appropriate register.
> > + */
> > +void igb_write_rss_key(struct igb_adapter *adapter) {
> Opening brace placement violates kernel coding style. For functions,
> the opening brace should be on the next line, not on the same line as the 
> function declaration.
> Or is it my mail-client issue?

>From my side, the opening brace is correctly on the next line.

```
+void igb_write_rss_key(struct igb_adapter *adapter)
+{
```

> > + ASSERT_RTNL();
> > +
> > + struct e1000_hw *hw = &adapter->hw;
> Declarations should be at the start of the block.
> I think ASSERT_RTNL(); can be moved down safely?

Thanks for pointing out. I'll fix this.

Reply via email to