> -----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.
> + return true;
> +
> + return false;
> +}
...
> --
> 2.47.0