Implement Deferred probe, mailbox enhancements and heartbeat monitor. v4 -> v5: - addressed review comments https://lore.kernel.org/all/20230323104703.GD36557@unreal/ replaced atomic_inc() + atomic_read() with atomic_inc_return(). v3 -> v4: - addressed review comments on v3 https://lore.kernel.org/all/20230214051422.13705-1-vburru@xxxxxxxxxxx/ - 0004-xxx.patch v3 is split into 0004-xxx.patch and 0005-xxx.patch in v4. - API changes to accept function ID are moved to 0005-xxx.patch. - fixed rct violations. - reverted newly added changes that do not yet have use cases. v2 -> v3: - removed SRIOV VF support changes from v2, as new drivers which use ndo_get_vf_xxx() and ndo_set_vf_xxx() are not accepted. https://lore.kernel.org/all/20221207200204.6819575a@xxxxxxxxxx/ Will implement VF representors and submit again. - 0007-xxx.patch and 0008-xxx.patch from v2 are removed and 0009-xxx.patch in v2 is now 0007-xxx.patch in v3. - accordingly, changed title for cover letter. v1 -> v2: - remove separate workqueue task to wait for firmware ready. instead defer probe when firmware is not ready. Reported-by: Leon Romanovsky <leon@xxxxxxxxxx> - This change has resulted in update of 0001-xxx.patch and all other patches in the patchset. Veerasenareddy Burru (8): octeon_ep: defer probe if firmware not ready octeon_ep: poll for control messages octeon_ep: control mailbox for multiple PFs octeon_ep: add separate mailbox command and response queues octeon_ep: include function id in mailbox commands octeon_ep: support asynchronous notifications octeon_ep: function id in link info and stats mailbox commands octeon_ep: add heartbeat monitor .../marvell/octeon_ep/octep_cn9k_pf.c | 72 ++-- .../ethernet/marvell/octeon_ep/octep_config.h | 6 + .../marvell/octeon_ep/octep_ctrl_mbox.c | 276 +++++++------ .../marvell/octeon_ep/octep_ctrl_mbox.h | 88 ++-- .../marvell/octeon_ep/octep_ctrl_net.c | 387 ++++++++++++------ .../marvell/octeon_ep/octep_ctrl_net.h | 196 +++++---- .../marvell/octeon_ep/octep_ethtool.c | 12 +- .../ethernet/marvell/octeon_ep/octep_main.c | 180 +++++--- .../ethernet/marvell/octeon_ep/octep_main.h | 18 +- .../marvell/octeon_ep/octep_regs_cn9k_pf.h | 6 + 10 files changed, 784 insertions(+), 457 deletions(-) base-commit: 323fe43cf9aef79159ba8937218a3f076bf505af -- 2.36.0