mbox series

[v2,net-next,00/13] qed*: Utilize FW 8.42.2.0

Message ID 20200123105836.15090-1-michal.kalderon@marvell.com (mailing list archive)
Headers show
Series qed*: Utilize FW 8.42.2.0 | expand

Message

Michal Kalderon Jan. 23, 2020, 10:58 a.m. UTC
This FW contains several fixes and features, main ones listed below.
We have taken into consideration past comments on previous FW versions
that were uploaded and tried to separate this one to smaller patches to
ease review.

- RoCE
	- SRIOV support
	- Fixes in following flows:
		- latency optimization flow for inline WQEs
		- iwarp OOO packed DDPs flow
		- tx-dif workaround calculations flow
		- XRC-SRQ exceed cache num

- iSCSI
	- Fixes:
		- iSCSI TCP out-of-order handling.
		- iscsi retransmit flow

- Fcoe
	- Fixes:
		- upload + cleanup flows

- Debug
	- Better handling of extracting data during traffic
	- ILT Dump -> dumping host memory used by chip
	- MDUMP -> collect debug data on system crash and extract after
	  reboot

Patches prefixed with FW 8.42.2.0 are required to work with binary
8.42.2.0 FW where as the rest are FW related but do not require the
binary.

Changes from V1
---------------
- Remove epoch + kernel version from device debug dump
- don't bump driver version


Michal Kalderon (13):
  qed: FW 8.42.2.0 Internal ram offsets modifications
  qed: FW 8.42.2.0 Expose new registers and change windows
  qed: FW 8.42.2.0 Queue Manager changes
  qed: FW 8.42.2.0 Parser offsets modified
  qed: Use dmae to write to widebus registers in fw_funcs
  qed: FW 8.42.2.0 Additional ll2 type
  qed: Add abstraction for different hsi values per chip
  qed: FW 8.42.2.0 iscsi/fcoe changes
  qed: FW 8.42.2.0 HSI changes
  qed: FW 8.42.2.0 Add fw overlay feature
  qed: Debug feature: ilt and mdump
  qed: rt init valid initialization changed
  qed: FW 8.42.2.0 debug features

 drivers/net/ethernet/qlogic/qed/qed.h              |   69 +-
 drivers/net/ethernet/qlogic/qed/qed_cxt.c          |  358 +-
 drivers/net/ethernet/qlogic/qed/qed_cxt.h          |  130 +
 drivers/net/ethernet/qlogic/qed/qed_debug.c        | 4055 +++++++++-----------
 drivers/net/ethernet/qlogic/qed/qed_debug.h        |    4 +
 drivers/net/ethernet/qlogic/qed/qed_dev.c          |  128 +-
 drivers/net/ethernet/qlogic/qed/qed_dev_api.h      |   24 -
 drivers/net/ethernet/qlogic/qed/qed_fcoe.c         |    2 +
 drivers/net/ethernet/qlogic/qed/qed_hsi.h          | 2565 ++++++-------
 drivers/net/ethernet/qlogic/qed/qed_hw.c           |   67 +-
 .../net/ethernet/qlogic/qed/qed_init_fw_funcs.c    |  532 ++-
 drivers/net/ethernet/qlogic/qed/qed_init_ops.c     |   47 +-
 drivers/net/ethernet/qlogic/qed/qed_init_ops.h     |    8 -
 drivers/net/ethernet/qlogic/qed/qed_iscsi.c        |   36 +-
 drivers/net/ethernet/qlogic/qed/qed_iwarp.c        |    8 +-
 drivers/net/ethernet/qlogic/qed/qed_ll2.c          |  149 +-
 drivers/net/ethernet/qlogic/qed/qed_ll2.h          |   14 +
 drivers/net/ethernet/qlogic/qed/qed_main.c         |    2 +-
 drivers/net/ethernet/qlogic/qed/qed_mcp.c          |   10 +-
 drivers/net/ethernet/qlogic/qed/qed_reg_addr.h     |   38 +
 drivers/net/ethernet/qlogic/qed/qed_roce.c         |    2 +-
 drivers/net/ethernet/qlogic/qed/qed_sp.h           |    2 -
 drivers/net/ethernet/qlogic/qed/qed_sriov.c        |   19 +-
 drivers/net/ethernet/qlogic/qede/qede_fp.c         |    8 +-
 include/linux/qed/common_hsi.h                     |   44 +-
 include/linux/qed/eth_common.h                     |   78 +-
 include/linux/qed/iscsi_common.h                   |   64 +-
 include/linux/qed/qed_if.h                         |   14 +-
 include/linux/qed/qed_ll2_if.h                     |    7 +
 include/linux/qed/storage_common.h                 |    3 +-
 30 files changed, 4336 insertions(+), 4151 deletions(-)

Comments

Jakub Kicinski Jan. 23, 2020, 5:16 p.m. UTC | #1
On Thu, 23 Jan 2020 12:58:23 +0200, Michal Kalderon wrote:
> Changes from V1
> ---------------
> - Remove epoch + kernel version from device debug dump
> - don't bump driver version

But you haven't fixed the fact that in patch 1 you already strat
changing defines for the new FW version, even though the version 
is only enforced (reportedly) in patch 9?
Michal Kalderon Jan. 26, 2020, 11:29 a.m. UTC | #2
> From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> owner@vger.kernel.org> On Behalf Of Jakub Kicinski
> Sent: Thursday, January 23, 2020 7:16 PM
> To: Michal Kalderon <mkalderon@marvell.com>
> Cc: Ariel Elior <aelior@marvell.com>; davem@davemloft.net;
> netdev@vger.kernel.org; linux-rdma@vger.kernel.org; linux-
> scsi@vger.kernel.org
> Subject: Re: [PATCH v2 net-next 00/13] qed*: Utilize FW 8.42.2.0
> 
> On Thu, 23 Jan 2020 12:58:23 +0200, Michal Kalderon wrote:
> > Changes from V1
> > ---------------
> > - Remove epoch + kernel version from device debug dump
> > - don't bump driver version
> 
> But you haven't fixed the fact that in patch 1 you already strat changing
> defines for the new FW version, even though the version is only enforced
> (reportedly) in patch 9?
Right, I'll move the version change to patch #1 in V3. 

However,  the entire series is required (except a few patches not prefixed with FW 8.42.2.0 ) to be
taken to work correctly with the FW.
Our FW is not backward/forward compatible. I have mentioned this in the cover letter, the split into smaller patches and prefix with
FW 8.42.2.0 is to ease review and was done due to previous feedback that it is very difficult to review the FW patches:

https://www.spinics.net/lists/linux-rdma/msg58810.html

I am fine with squashing all the patches that are required to working with FW8.42.2.0 into one single patch if that is required and acceptable,
But I believe that would make reviewing the changes more difficult.

Thanks,
Michal
Jakub Kicinski Jan. 26, 2020, 8:30 p.m. UTC | #3
On Sun, 26 Jan 2020 11:29:50 +0000, Michal Kalderon wrote:
> > On Thu, 23 Jan 2020 12:58:23 +0200, Michal Kalderon wrote:  
> > > Changes from V1
> > > ---------------
> > > - Remove epoch + kernel version from device debug dump
> > > - don't bump driver version  
> > 
> > But you haven't fixed the fact that in patch 1 you already strat changing
> > defines for the new FW version, even though the version is only enforced
> > (reportedly) in patch 9?
> 
> Right, I'll move the version change to patch #1 in V3. 
> 
> However,  the entire series is required (except a few patches not prefixed with FW 8.42.2.0 ) to be
> taken to work correctly with the FW.

Right, exactly.

> Our FW is not backward/forward compatible. 

Well, the driver can also be backward/forward compatible 
(even if only for the short period of a series of patches)
as FW is usually more resource constrained.

> I have mentioned this in the cover letter, the split into smaller patches and prefix with
> FW 8.42.2.0 is to ease review and was done due to previous feedback that it is very difficult to review the FW patches:
> 
> https://www.spinics.net/lists/linux-rdma/msg58810.html
> 
> I am fine with squashing all the patches that are required to working with FW8.42.2.0 into one single patch if that is required and acceptable,
> But I believe that would make reviewing the changes more difficult.

The choice is not either one giant unreviewable patch or a driver
broken between commits. There are tens of Ethernet drivers in tree 
and none of them seems to be having this issue.

Maybe Dave will let it fly this time around but you need to take 
a hard look at your process for the future.