[Bug 271062] add support for 28xx based device to isp(4)

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 03 May 2023 07:43:29 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271062

Joerg Pulz <Joerg.Pulz@frm2.tum.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #241908|0                           |1
        is obsolete|                            |

--- Comment #11 from Joerg Pulz <Joerg.Pulz@frm2.tum.de> ---
Created attachment 241948
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=241948&action=edit
patch v5 for CURRENT and RELENG-13.2

Use the FLT on all supported controllers but explicit leave the 26xx ones is.
The 26xx are a bit special as those are known as 83xx (2031 and 8031 for real).
I don't have such a device around so i will investigate the 26xx later.

Cosmetics:
  - rename functions and defines as they are no longer specific to 28xx
  - set reasonable log levels
  - sort FLT and NVRAM functions (in the order they are used)

Tested and approved to work on real hardware with:
    - Qlogic ISP 2532 (QLogic QLE2562 8Gb 2Port FC Adapter)
    - Qlogic ISP 2722 (QLogic QLE2690 16Gb FC Adapter)
    - Qlogic ISP 2812 (QLogic QLE2772 32Gbit 2Port FC Adapter)

dmesg(8) debug outputs (slightly stripped to the most important parts)
for Qlogic ISP 2532 (QLogic QLE2562 8Gb 2Port FC Adapter)
-----
isp0: <Qlogic ISP 2532 PCI FC-AL Adapter> port 0x8200-0x82ff mem
0xb8a04000-0xb8a07fff,0xb8900000-0xb89fffff at device 0.0 numa-domain 0 on pci9
isp0: loaded firmware isp_2500
isp0: set PCI line size to 16 from 0
isp0: set PCI latency to 64
isp0: Board Type 2532, Chip Revision 0x2, resident F/W Revision 8.7.0
isp0: Attributes: Class2 MultiID T10CRC MQ MSIX VP0_Decoupling NPMOFF
isp0: 2048 max I/O command limit set
isp0: request area @ 0x1f7e56000/0x80000
isp0: response area @ 0x1f7ed6000/0x10000
isp0: FLTL[DEF]: 0x50400
isp0: FLT[DEF]: version=0x1 length=0x290(656) checksum=0xb62a
isp0: FLT[DEF]: regions=40
<skipped FLT regions parsing debug output>
isp0: FLT[FLT]: boot=0x0 fw=0x20000 vpd_nvram=0x48000 vpd=0x48000 nvram 0x48080
fdt=0x50000 flt=0x50400 npiv=0x5c000 fcp_prif_cfg=0x3c000
isp0: NVRAM 0x0000000000000000 0x21000024ff3f6fc8 maxframelen 2048
isp0: NVRAM loopid 0 fwopt1 0x2006 fwopt2 0x20 fwopt3 0x4008
isp0: Chan 0 0x20000024ff3f6fc8/0x21000024ff3f6fc8 Role Initiator
isp0: Setting ICB Node 0x20000024ff3f6fc8 Port 0x21000024ff3f6fc8
isp0: isp_init: fwopt1 0x6006 fwopt2 0x1020 fwopt3 0x402a
isp0: isp_init: rqst 00000001f7e56000 rsp 00000001f7ed6000
isp0: isp_init:
isp0: 0x00000000: 01 00 00 00 00 08 ff ff 00 00 00 00 21 00 00 24
isp0: 0x00000010: ff 3f 6f c8 20 00 00 24 ff 3f 6f c8 00 00 00 00
isp0: 0x00000020: 03 00 00 00 00 04 00 20 00 00 00 00 00 60 e5 f7
isp0: 0x00000030: 01 00 00 00 00 60 ed f7 01 00 00 00 00 00 00 00
isp0: 0x00000040: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
isp0: 0x00000050: 00 00 00 00 00 00 00 00 00 00 0a 00 06 60 00 00
isp0: 0x00000060: 20 10 00 00 2a 40 00 00 00 00 00 00 00 00 00 00
isp0: 0x00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
isp0: INIT F/W from 000000011186e000
-----

for Qlogic ISP 2722 (QLogic QLE2690 16Gb FC Adapter)
-----
isp0: <Qlogic ISP 2722 PCI FC Adapter> mem
0xb8902000-0xb8902fff,0xb8900000-0xb8901fff,0xb8800000-0xb88fffff at device 0.0
numa-domain 0 on pci9
isp0: set PCI line size to 16 from 0
isp0: set PCI latency to 64
isp0: loading firmware from flash
isp0: Board Type 2700, Chip Revision 0x1, resident F/W Revision 8.8.231
isp0: Attributes: Class2 MultiID T10CRC MQ MSIX VP0_Decoupling HotFW EXMOFF
NPMOFF DIFCHOP ASICTMP ATIOMQ (unknown 0x0000020078020000)
isp0: 2048 max I/O command limit set
isp0: request area @ 0x578e21000/0x80000
isp0: response area @ 0x578ea1000/0x10000
isp0: FLTL[DEF]: 0xfc400
isp0: FLT[DEF]: version=0x1 length=0x448(1096) checksum=0x6e23
isp0: FLT[DEF]: regions=68
<skipped FLT regions parsing debug output>
isp0: FLT[FLT]: boot=0x200000 fw=0x240000 vpd_nvram=0x270000 vpd=0x270000 nvram
0x270080 fdt=0xfc000 flt=0xfc400 npiv=0x2a8000 fcp_prif_cfg=0x0
isp0: NVRAM 0x0000000000000000 0x210034800d3ebaac maxframelen 2048
isp0: NVRAM loopid 0 fwopt1 0x20c6 fwopt2 0x26 fwopt3 0x4000
isp0: Chan 0 0x200034800d3ebaac/0x210034800d3ebaac Role Initiator
isp0: Setting ICB Node 0x200034800d3ebaac Port 0x210034800d3ebaac
isp0: isp_init: fwopt1 0x60c6 fwopt2 0x4401026 fwopt3 0x4022
isp0: isp_init: rqst 0000000578e21000 rsp 0000000578ea1000
isp0: isp_init:
isp0: 0x00000000: 01 00 00 00 00 08 00 00 00 00 00 00 21 00 34 80
isp0: 0x00000010: 0d 3e ba ac 20 00 34 80 0d 3e ba ac 00 00 00 00
isp0: 0x00000020: 03 00 00 00 00 04 00 20 00 00 00 00 00 10 e2 78
isp0: 0x00000030: 05 00 00 00 00 10 ea 78 05 00 00 00 00 00 00 00
isp0: 0x00000040: 00 00 00 00 01 00 02 00 00 00 00 00 00 00 00 00
isp0: 0x00000050: 00 00 00 00 00 00 00 00 00 00 0a 00 c6 60 00 00
isp0: 0x00000060: 26 10 40 04 22 40 00 00 00 00 00 00 00 00 00 00
isp0: 0x00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
isp0: INIT F/W from 0000000112698000
-----

for Qlogic ISP 2812 (QLogic QLE2772 32Gbit 2Port FC Adapter)
-----
isp2: <Qlogic ISP 2812 PCI FC Adapter> mem
0xeea05000-0xeea05fff,0xeea02000-0xeea03fff,0xee900000-0xee9fffff at device 0.0
numa-domain 1 on pci14
isp2: set PCI line size to 16 from 0
isp2: set PCI latency to 64
isp2: loading firmware from flash
isp2: Board Type 2800, Chip Revision 0x2, resident F/W Revision 9.4.1
isp2: Attributes: Class2 MultiID T10CRC MQ MSIX VP0_Decoupling HotFW EXMOFF
NPMOFF DIFCHOP ASICTMP ATIOMQ (unknown 0x0000162078020000)
isp2: 2048 max I/O command limit set
isp2: request area @ 0x30d6a80000/0x80000
isp2: response area @ 0x30c54f0000/0x10000
isp2: FLTL[DEF]: 0x4400
isp2: FLT[DEF]: version=0x1 length=0xc38(3128) checksum=0xea11
isp2: FLT[DEF]: regions=195
<skipped FLT regions parsing debug output>
isp2: FLT[FLT]: boot=0x240000 fw=0xf0000 vpd_nvram=0x300000 vpd=0x300000 nvram
0x300080 fdt=0x4000 flt=0x4400 npiv=0x320000 fcp_prif_cfg=0x338000
isp2: NVRAM 0x2000f4c7aa0212b0 0x2100f4c7aa0212b0 maxframelen 2048
isp2: NVRAM loopid 0 fwopt1 0x6006 fwopt2 0x26 fwopt3 0x4000
isp2: Chan 0 0x2000f4c7aa0212b0/0x2100f4c7aa0212b0 Role Initiator
isp2: Setting ICB Node 0x2000f4c7aa0212b0 Port 0x2100f4c7aa0212b0
isp2: isp_init: fwopt1 0x6006 fwopt2 0x4401026 fwopt3 0x4022
isp2: isp_init: rqst 00000030d6a80000 rsp 00000030c54f0000
isp2: isp_init:
isp2: 0x00000000: 01 00 00 00 00 08 00 00 00 00 00 00 21 00 f4 c7
isp2: 0x00000010: aa 02 12 b0 20 00 f4 c7 aa 02 12 b0 00 00 00 00
isp2: 0x00000020: 03 00 00 00 00 04 00 20 00 00 00 00 00 00 a8 d6
isp2: 0x00000030: 30 00 00 00 00 00 4f c5 30 00 00 00 00 00 00 00
isp2: 0x00000040: 00 00 00 00 01 00 02 00 00 00 00 00 00 00 00 00
isp2: 0x00000050: 00 00 00 00 00 00 00 00 00 00 0a 00 06 60 00 00
isp2: 0x00000060: 26 10 40 04 22 40 00 00 00 00 00 00 00 00 00 00
isp2: 0x00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
isp2: INIT F/W from 0000003094b09000

-- 
You are receiving this mail because:
You are the assignee for the bug.