On Mon, 2 Feb 2026 07:59:55 +0000, "Loktionov, Aleksandr" wrote:

> > @@ -360,6 +362,7 @@ unsigned int igc_get_max_rss_queues(struct
> > igc_adapter *adapter);  void igc_set_flag_queue_pairs(struct
> > igc_adapter *adapter,
> >                           const u32 max_rss_queues);
> >  int igc_reinit_queues(struct igc_adapter *adapter);
> > +void igc_write_rss_key(struct igc_adapter *adapter);
> >  void igc_write_rss_indir_tbl(struct igc_adapter *adapter);  bool
> > igc_has_link(struct igc_adapter *adapter);  void igc_reset(struct
> > igc_adapter *adapter); diff --git
> > a/drivers/net/ethernet/intel/igc/igc_ethtool.c
> > b/drivers/net/ethernet/intel/igc/igc_ethtool.c
> > index 3172cdbca9cc..1b4075e7e8e6 100644
> > --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
> > +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
> I think here should be added include?
> 
> #include <linux/unaligned.h> /* for get_unaligned_le32() */
> 
> Isn't it?

Hi Alex, thank you for reviewing.

Compilation succeeds as is, and the header file is included indirectly
in the following path.

igc_ethtool.c
  -> linux/if_vlan.h
    -> linux/etherdevice.h
      -> linux/unaligned.h

> 
> > @@ -1460,6 +1460,26 @@ static int igc_ethtool_set_rxnfc(struct
> > net_device *dev,
> >     }
> >  }
> >=20
> > +/**
> > + * igc_write_rss_key - Program the RSS key into device registers
> > + * @adapter: board private structure
> > + *
> > + * Write the RSS key stored in adapter->rss_key to the IGC_RSSRK
> > registers.
> > + * Each 32-bit chunk of the key is read using get_unaligned_le32()
> > and
> > +written
> > + * to the appropriate register.
> > + */
> > +void igc_write_rss_key(struct igc_adapter *adapter) {
> > +   struct igc_hw *hw =3D &adapter->hw;
> > +   u32 val;
> > +   int i;
> > +
> > +   for (i =3D 0; i < IGC_RSS_KEY_SIZE / 4; i++) {
> > +           val =3D get_unaligned_le32(&adapter->rss_key[i * 4]);
> > +           wr32(IGC_RSSRK(i), val);
> > +   }
> > +}
> > +
> 
> ...
> 
> > --
> > 2.51.0

Reply via email to