On Mon, Nov 17, 2025 at 03:21:06PM +0100, Loktionov, Aleksandr wrote: > > > > -----Original Message----- > > From: Intel-wired-lan <[email protected]> On Behalf > > Of Larysa Zaremba > > Sent: Monday, November 17, 2025 2:49 PM > > To: [email protected]; Nguyen, Anthony L > > <[email protected]> > > Cc: Lobakin, Aleksander <[email protected]>; Samudrala, > > Sridhar <[email protected]>; Singhai, Anjali > > <[email protected]>; Michal Swiatkowski > > <[email protected]>; Zaremba, Larysa > > <[email protected]>; Fijalkowski, Maciej > > <[email protected]>; Tantilov, Emil S > > <[email protected]>; Chittim, Madhu <[email protected]>; > > Hay, Joshua A <[email protected]>; Keller, Jacob E > > <[email protected]>; Shanmugam, Jayaprakash > > <[email protected]>; Wochtman, Natalia > > <[email protected]>; Jiri Pirko <[email protected]>; David S. > > Miller <[email protected]>; Eric Dumazet <[email protected]>; > > Jakub Kicinski <[email protected]>; Paolo Abeni <[email protected]>; > > Simon Horman <[email protected]>; Jonathan Corbet <[email protected]>; > > Richard Cochran <[email protected]>; Kitszel, Przemyslaw > > <[email protected]>; Andrew Lunn <[email protected]>; > > [email protected]; [email protected]; linux- > > [email protected] > > Subject: [Intel-wired-lan] [PATCH iwl-next v5 13/15] ixd: add reset > > checks and initialize the mailbox > > > > At the end of the probe, trigger hard reset, initialize and schedule > > the after-reset task. If the reset is complete in a pre-determined > > time, initialize the default mailbox, through which other resources > > will be negotiated. > > > > Co-developed-by: Amritha Nambiar <[email protected]> > > Signed-off-by: Amritha Nambiar <[email protected]> > > Reviewed-by: Maciej Fijalkowski <[email protected]> > > Signed-off-by: Larysa Zaremba <[email protected]> > > --- > > drivers/net/ethernet/intel/ixd/Kconfig | 1 + > > drivers/net/ethernet/intel/ixd/Makefile | 2 + > > drivers/net/ethernet/intel/ixd/ixd.h | 28 +++- > > drivers/net/ethernet/intel/ixd/ixd_dev.c | 89 +++++++++++ > > drivers/net/ethernet/intel/ixd/ixd_lan_regs.h | 40 +++++ > > drivers/net/ethernet/intel/ixd/ixd_lib.c | 143 > > ++++++++++++++++++ > > drivers/net/ethernet/intel/ixd/ixd_main.c | 32 +++- > > 7 files changed, 326 insertions(+), 9 deletions(-) create mode > > 100644 drivers/net/ethernet/intel/ixd/ixd_dev.c > > create mode 100644 drivers/net/ethernet/intel/ixd/ixd_lib.c > > > > diff --git a/drivers/net/ethernet/intel/ixd/Kconfig > > b/drivers/net/ethernet/intel/ixd/Kconfig > > index f5594efe292c..24510c50070e 100644 > > --- a/drivers/net/ethernet/intel/ixd/Kconfig > > +++ b/drivers/net/ethernet/intel/ixd/Kconfig > > @@ -5,6 +5,7 @@ config IXD > > tristate "Intel(R) Control Plane Function Support" > > depends on PCI_MSI > > select LIBETH > > + select LIBIE_CP > > select LIBIE_PCI > > help > > This driver supports Intel(R) Control Plane PCI Function diff > > ... > > > +/** > > + * ixd_check_reset_complete - Check if the PFR reset is completed > > + * @adapter: CPF being reset > > + * > > + * Return: %true if the register read indicates reset has been > > finished, > > + * %false otherwise > > + */ > > +bool ixd_check_reset_complete(struct ixd_adapter *adapter) { > > + u32 reg_val, reset_status; > > + void __iomem *addr; > > + > > + addr = libie_pci_get_mmio_addr(&adapter->cp_ctx.mmio_info, > > + ixd_reset_reg.rstat); > > + reg_val = readl(addr); > > + reset_status = reg_val & ixd_reset_reg.rstat_m; > > + > > + /* 0xFFFFFFFF might be read if the other side hasn't cleared > > + * the register for us yet. > > + */ > > + if (reg_val != 0xFFFFFFFF && > > + reset_status == ixd_reset_reg.rstat_ok_v) > Magic number, I think 0xFFFFFFFF should be ~0U per kernel style.
I believe ~0U depends on the int size, but GENMASK() could work. > > > + return true; > > + > > + return false; > > +} > > ... > > > -- > > 2.47.0 >
