711
757
union lpfc_sli4_cfg_shdr {
714
#define lpfc_mbox_hdr_opcode_SHIFT 0
715
#define lpfc_mbox_hdr_opcode_MASK 0x000000FF
716
#define lpfc_mbox_hdr_opcode_WORD word6
717
#define lpfc_mbox_hdr_subsystem_SHIFT 8
718
#define lpfc_mbox_hdr_subsystem_MASK 0x000000FF
719
#define lpfc_mbox_hdr_subsystem_WORD word6
720
#define lpfc_mbox_hdr_port_number_SHIFT 16
721
#define lpfc_mbox_hdr_port_number_MASK 0x000000FF
722
#define lpfc_mbox_hdr_port_number_WORD word6
723
#define lpfc_mbox_hdr_domain_SHIFT 24
724
#define lpfc_mbox_hdr_domain_MASK 0x000000FF
725
#define lpfc_mbox_hdr_domain_WORD word6
760
#define lpfc_mbox_hdr_opcode_SHIFT 0
761
#define lpfc_mbox_hdr_opcode_MASK 0x000000FF
762
#define lpfc_mbox_hdr_opcode_WORD word6
763
#define lpfc_mbox_hdr_subsystem_SHIFT 8
764
#define lpfc_mbox_hdr_subsystem_MASK 0x000000FF
765
#define lpfc_mbox_hdr_subsystem_WORD word6
766
#define lpfc_mbox_hdr_port_number_SHIFT 16
767
#define lpfc_mbox_hdr_port_number_MASK 0x000000FF
768
#define lpfc_mbox_hdr_port_number_WORD word6
769
#define lpfc_mbox_hdr_domain_SHIFT 24
770
#define lpfc_mbox_hdr_domain_MASK 0x000000FF
771
#define lpfc_mbox_hdr_domain_WORD word6
726
772
uint32_t timeout;
727
773
uint32_t request_length;
775
#define lpfc_mbox_hdr_version_SHIFT 0
776
#define lpfc_mbox_hdr_version_MASK 0x000000FF
777
#define lpfc_mbox_hdr_version_WORD word9
778
#define lpfc_mbox_hdr_pf_num_SHIFT 16
779
#define lpfc_mbox_hdr_pf_num_MASK 0x000000FF
780
#define lpfc_mbox_hdr_pf_num_WORD word9
781
#define lpfc_mbox_hdr_vh_num_SHIFT 24
782
#define lpfc_mbox_hdr_vh_num_MASK 0x000000FF
783
#define lpfc_mbox_hdr_vh_num_WORD word9
784
#define LPFC_Q_CREATE_VERSION_2 2
785
#define LPFC_Q_CREATE_VERSION_1 1
786
#define LPFC_Q_CREATE_VERSION_0 0
1274
/* Start Gen 2 SLI4 Mailbox definitions: */
1276
/* Define allocate-ready Gen 2 SLI4 FCoE Resource Extent Types. */
1277
#define LPFC_RSC_TYPE_FCOE_VFI 0x20
1278
#define LPFC_RSC_TYPE_FCOE_VPI 0x21
1279
#define LPFC_RSC_TYPE_FCOE_RPI 0x22
1280
#define LPFC_RSC_TYPE_FCOE_XRI 0x23
1282
struct lpfc_mbx_get_rsrc_extent_info {
1283
struct mbox_header header;
1287
#define lpfc_mbx_get_rsrc_extent_info_type_SHIFT 0
1288
#define lpfc_mbx_get_rsrc_extent_info_type_MASK 0x0000FFFF
1289
#define lpfc_mbx_get_rsrc_extent_info_type_WORD word4
1293
#define lpfc_mbx_get_rsrc_extent_info_cnt_SHIFT 0
1294
#define lpfc_mbx_get_rsrc_extent_info_cnt_MASK 0x0000FFFF
1295
#define lpfc_mbx_get_rsrc_extent_info_cnt_WORD word4
1296
#define lpfc_mbx_get_rsrc_extent_info_size_SHIFT 16
1297
#define lpfc_mbx_get_rsrc_extent_info_size_MASK 0x0000FFFF
1298
#define lpfc_mbx_get_rsrc_extent_info_size_WORD word4
1303
struct lpfc_id_range {
1305
#define lpfc_mbx_rsrc_id_word4_0_SHIFT 0
1306
#define lpfc_mbx_rsrc_id_word4_0_MASK 0x0000FFFF
1307
#define lpfc_mbx_rsrc_id_word4_0_WORD word5
1308
#define lpfc_mbx_rsrc_id_word4_1_SHIFT 16
1309
#define lpfc_mbx_rsrc_id_word4_1_MASK 0x0000FFFF
1310
#define lpfc_mbx_rsrc_id_word4_1_WORD word5
1313
struct lpfc_mbx_set_link_diag_state {
1314
struct mbox_header header;
1318
#define lpfc_mbx_set_diag_state_diag_SHIFT 0
1319
#define lpfc_mbx_set_diag_state_diag_MASK 0x00000001
1320
#define lpfc_mbx_set_diag_state_diag_WORD word0
1321
#define lpfc_mbx_set_diag_state_link_num_SHIFT 16
1322
#define lpfc_mbx_set_diag_state_link_num_MASK 0x0000003F
1323
#define lpfc_mbx_set_diag_state_link_num_WORD word0
1324
#define lpfc_mbx_set_diag_state_link_type_SHIFT 22
1325
#define lpfc_mbx_set_diag_state_link_type_MASK 0x00000003
1326
#define lpfc_mbx_set_diag_state_link_type_WORD word0
1334
struct lpfc_mbx_set_link_diag_loopback {
1335
struct mbox_header header;
1339
#define lpfc_mbx_set_diag_lpbk_type_SHIFT 0
1340
#define lpfc_mbx_set_diag_lpbk_type_MASK 0x00000001
1341
#define lpfc_mbx_set_diag_lpbk_type_WORD word0
1342
#define LPFC_DIAG_LOOPBACK_TYPE_DISABLE 0x0
1343
#define LPFC_DIAG_LOOPBACK_TYPE_INTERNAL 0x1
1344
#define LPFC_DIAG_LOOPBACK_TYPE_EXTERNAL 0x2
1345
#define lpfc_mbx_set_diag_lpbk_link_num_SHIFT 16
1346
#define lpfc_mbx_set_diag_lpbk_link_num_MASK 0x0000003F
1347
#define lpfc_mbx_set_diag_lpbk_link_num_WORD word0
1348
#define lpfc_mbx_set_diag_lpbk_link_type_SHIFT 22
1349
#define lpfc_mbx_set_diag_lpbk_link_type_MASK 0x00000003
1350
#define lpfc_mbx_set_diag_lpbk_link_type_WORD word0
1358
struct lpfc_mbx_run_link_diag_test {
1359
struct mbox_header header;
1363
#define lpfc_mbx_run_diag_test_link_num_SHIFT 16
1364
#define lpfc_mbx_run_diag_test_link_num_MASK 0x0000003F
1365
#define lpfc_mbx_run_diag_test_link_num_WORD word0
1366
#define lpfc_mbx_run_diag_test_link_type_SHIFT 22
1367
#define lpfc_mbx_run_diag_test_link_type_MASK 0x00000003
1368
#define lpfc_mbx_run_diag_test_link_type_WORD word0
1370
#define lpfc_mbx_run_diag_test_test_id_SHIFT 0
1371
#define lpfc_mbx_run_diag_test_test_id_MASK 0x0000FFFF
1372
#define lpfc_mbx_run_diag_test_test_id_WORD word1
1373
#define lpfc_mbx_run_diag_test_loops_SHIFT 16
1374
#define lpfc_mbx_run_diag_test_loops_MASK 0x0000FFFF
1375
#define lpfc_mbx_run_diag_test_loops_WORD word1
1377
#define lpfc_mbx_run_diag_test_test_ver_SHIFT 0
1378
#define lpfc_mbx_run_diag_test_test_ver_MASK 0x0000FFFF
1379
#define lpfc_mbx_run_diag_test_test_ver_WORD word2
1380
#define lpfc_mbx_run_diag_test_err_act_SHIFT 16
1381
#define lpfc_mbx_run_diag_test_err_act_MASK 0x000000FF
1382
#define lpfc_mbx_run_diag_test_err_act_WORD word2
1391
* struct lpfc_mbx_alloc_rsrc_extents:
1392
* A mbox is generically 256 bytes long. An SLI4_CONFIG mailbox requires
1393
* 6 words of header + 4 words of shared subcommand header +
1394
* 1 words of Extent-Opcode-specific header = 11 words or 44 bytes total.
1396
* An embedded version of SLI4_CONFIG therefore has 256 - 44 = 212 bytes
1397
* for extents payload.
1399
* 212/2 (bytes per extent) = 106 extents.
1400
* 106/2 (extents per word) = 53 words.
1401
* lpfc_id_range id is statically size to 53.
1403
* This mailbox definition is used for ALLOC or GET_ALLOCATED
1404
* extent ranges. For ALLOC, the type and cnt are required.
1405
* For GET_ALLOCATED, only the type is required.
1407
struct lpfc_mbx_alloc_rsrc_extents {
1408
struct mbox_header header;
1412
#define lpfc_mbx_alloc_rsrc_extents_type_SHIFT 0
1413
#define lpfc_mbx_alloc_rsrc_extents_type_MASK 0x0000FFFF
1414
#define lpfc_mbx_alloc_rsrc_extents_type_WORD word4
1415
#define lpfc_mbx_alloc_rsrc_extents_cnt_SHIFT 16
1416
#define lpfc_mbx_alloc_rsrc_extents_cnt_MASK 0x0000FFFF
1417
#define lpfc_mbx_alloc_rsrc_extents_cnt_WORD word4
1421
#define lpfc_mbx_rsrc_cnt_SHIFT 0
1422
#define lpfc_mbx_rsrc_cnt_MASK 0x0000FFFF
1423
#define lpfc_mbx_rsrc_cnt_WORD word4
1424
struct lpfc_id_range id[53];
1430
* This is the non-embedded version of ALLOC or GET RSRC_EXTENTS. Word4 in this
1431
* structure shares the same SHIFT/MASK/WORD defines provided in the
1432
* mbx_alloc_rsrc_extents and mbx_get_alloc_rsrc_extents, word4, provided in
1433
* the structures defined above. This non-embedded structure provides for the
1434
* maximum number of extents supported by the port.
1436
struct lpfc_mbx_nembed_rsrc_extent {
1437
union lpfc_sli4_cfg_shdr cfg_shdr;
1439
struct lpfc_id_range id;
1442
struct lpfc_mbx_dealloc_rsrc_extents {
1443
struct mbox_header header;
1446
#define lpfc_mbx_dealloc_rsrc_extents_type_SHIFT 0
1447
#define lpfc_mbx_dealloc_rsrc_extents_type_MASK 0x0000FFFF
1448
#define lpfc_mbx_dealloc_rsrc_extents_type_WORD word4
1453
/* Start SLI4 FCoE specific mbox structures. */
1156
1455
struct lpfc_mbx_post_hdr_tmpl {
1157
1456
struct mbox_header header;
1158
1457
uint32_t word10;
1717
2016
struct lpfc_mbx_read_config {
1718
2017
uint32_t word1;
1719
#define lpfc_mbx_rd_conf_max_bbc_SHIFT 0
1720
#define lpfc_mbx_rd_conf_max_bbc_MASK 0x000000FF
1721
#define lpfc_mbx_rd_conf_max_bbc_WORD word1
1722
#define lpfc_mbx_rd_conf_init_bbc_SHIFT 8
1723
#define lpfc_mbx_rd_conf_init_bbc_MASK 0x000000FF
1724
#define lpfc_mbx_rd_conf_init_bbc_WORD word1
2018
#define lpfc_mbx_rd_conf_extnts_inuse_SHIFT 31
2019
#define lpfc_mbx_rd_conf_extnts_inuse_MASK 0x00000001
2020
#define lpfc_mbx_rd_conf_extnts_inuse_WORD word1
1725
2021
uint32_t word2;
1726
#define lpfc_mbx_rd_conf_nport_did_SHIFT 0
1727
#define lpfc_mbx_rd_conf_nport_did_MASK 0x00FFFFFF
1728
#define lpfc_mbx_rd_conf_nport_did_WORD word2
1729
2022
#define lpfc_mbx_rd_conf_topology_SHIFT 24
1730
2023
#define lpfc_mbx_rd_conf_topology_MASK 0x000000FF
1731
2024
#define lpfc_mbx_rd_conf_topology_WORD word2
1733
#define lpfc_mbx_rd_conf_ao_SHIFT 0
1734
#define lpfc_mbx_rd_conf_ao_MASK 0x00000001
1735
#define lpfc_mbx_rd_conf_ao_WORD word3
1736
#define lpfc_mbx_rd_conf_bb_scn_SHIFT 8
1737
#define lpfc_mbx_rd_conf_bb_scn_MASK 0x0000000F
1738
#define lpfc_mbx_rd_conf_bb_scn_WORD word3
1739
#define lpfc_mbx_rd_conf_cbb_scn_SHIFT 12
1740
#define lpfc_mbx_rd_conf_cbb_scn_MASK 0x0000000F
1741
#define lpfc_mbx_rd_conf_cbb_scn_WORD word3
1742
#define lpfc_mbx_rd_conf_mc_SHIFT 29
1743
#define lpfc_mbx_rd_conf_mc_MASK 0x00000001
1744
#define lpfc_mbx_rd_conf_mc_WORD word3
1745
2026
uint32_t word4;
1746
2027
#define lpfc_mbx_rd_conf_e_d_tov_SHIFT 0
1747
2028
#define lpfc_mbx_rd_conf_e_d_tov_MASK 0x0000FFFF
1748
2029
#define lpfc_mbx_rd_conf_e_d_tov_WORD word4
1750
#define lpfc_mbx_rd_conf_lp_tov_SHIFT 0
1751
#define lpfc_mbx_rd_conf_lp_tov_MASK 0x0000FFFF
1752
#define lpfc_mbx_rd_conf_lp_tov_WORD word5
1753
2031
uint32_t word6;
1754
2032
#define lpfc_mbx_rd_conf_r_a_tov_SHIFT 0
1755
2033
#define lpfc_mbx_rd_conf_r_a_tov_MASK 0x0000FFFF
1756
2034
#define lpfc_mbx_rd_conf_r_a_tov_WORD word6
1758
#define lpfc_mbx_rd_conf_r_t_tov_SHIFT 0
1759
#define lpfc_mbx_rd_conf_r_t_tov_MASK 0x000000FF
1760
#define lpfc_mbx_rd_conf_r_t_tov_WORD word7
1762
#define lpfc_mbx_rd_conf_al_tov_SHIFT 0
1763
#define lpfc_mbx_rd_conf_al_tov_MASK 0x0000000F
1764
#define lpfc_mbx_rd_conf_al_tov_WORD word8
1765
2037
uint32_t word9;
1766
2038
#define lpfc_mbx_rd_conf_lmt_SHIFT 0
1767
2039
#define lpfc_mbx_rd_conf_lmt_MASK 0x0000FFFF
1768
2040
#define lpfc_mbx_rd_conf_lmt_WORD word9
1770
#define lpfc_mbx_rd_conf_max_alpa_SHIFT 0
1771
#define lpfc_mbx_rd_conf_max_alpa_MASK 0x000000FF
1772
#define lpfc_mbx_rd_conf_max_alpa_WORD word10
1773
uint32_t word11_rsvd;
1774
2043
uint32_t word12;
1775
2044
#define lpfc_mbx_rd_conf_xri_base_SHIFT 0
1776
2045
#define lpfc_mbx_rd_conf_xri_base_MASK 0x0000FFFF
2050
2322
#define sgl_pp_align_WORD word12
2051
2323
uint32_t rsvd_13_63[51];
2325
#define SLI4_PAGE_ALIGN(addr) (((addr)+((SLI4_PAGE_SIZE)-1)) \
2326
&(~((SLI4_PAGE_SIZE)-1)))
2328
struct lpfc_sli4_parameters {
2330
#define cfg_prot_type_SHIFT 0
2331
#define cfg_prot_type_MASK 0x000000FF
2332
#define cfg_prot_type_WORD word0
2334
#define cfg_ft_SHIFT 0
2335
#define cfg_ft_MASK 0x00000001
2336
#define cfg_ft_WORD word1
2337
#define cfg_sli_rev_SHIFT 4
2338
#define cfg_sli_rev_MASK 0x0000000f
2339
#define cfg_sli_rev_WORD word1
2340
#define cfg_sli_family_SHIFT 8
2341
#define cfg_sli_family_MASK 0x0000000f
2342
#define cfg_sli_family_WORD word1
2343
#define cfg_if_type_SHIFT 12
2344
#define cfg_if_type_MASK 0x0000000f
2345
#define cfg_if_type_WORD word1
2346
#define cfg_sli_hint_1_SHIFT 16
2347
#define cfg_sli_hint_1_MASK 0x000000ff
2348
#define cfg_sli_hint_1_WORD word1
2349
#define cfg_sli_hint_2_SHIFT 24
2350
#define cfg_sli_hint_2_MASK 0x0000001f
2351
#define cfg_sli_hint_2_WORD word1
2355
#define cfg_cqv_SHIFT 14
2356
#define cfg_cqv_MASK 0x00000003
2357
#define cfg_cqv_WORD word4
2360
#define cfg_mqv_SHIFT 14
2361
#define cfg_mqv_MASK 0x00000003
2362
#define cfg_mqv_WORD word6
2365
#define cfg_wqv_SHIFT 14
2366
#define cfg_wqv_MASK 0x00000003
2367
#define cfg_wqv_WORD word8
2370
#define cfg_rqv_SHIFT 14
2371
#define cfg_rqv_MASK 0x00000003
2372
#define cfg_rqv_WORD word10
2374
#define cfg_rq_db_window_SHIFT 28
2375
#define cfg_rq_db_window_MASK 0x0000000f
2376
#define cfg_rq_db_window_WORD word11
2378
#define cfg_fcoe_SHIFT 0
2379
#define cfg_fcoe_MASK 0x00000001
2380
#define cfg_fcoe_WORD word12
2381
#define cfg_ext_SHIFT 1
2382
#define cfg_ext_MASK 0x00000001
2383
#define cfg_ext_WORD word12
2384
#define cfg_hdrr_SHIFT 2
2385
#define cfg_hdrr_MASK 0x00000001
2386
#define cfg_hdrr_WORD word12
2387
#define cfg_phwq_SHIFT 15
2388
#define cfg_phwq_MASK 0x00000001
2389
#define cfg_phwq_WORD word12
2390
#define cfg_loopbk_scope_SHIFT 28
2391
#define cfg_loopbk_scope_MASK 0x0000000f
2392
#define cfg_loopbk_scope_WORD word12
2393
uint32_t sge_supp_len;
2395
#define cfg_sgl_page_cnt_SHIFT 0
2396
#define cfg_sgl_page_cnt_MASK 0x0000000f
2397
#define cfg_sgl_page_cnt_WORD word14
2398
#define cfg_sgl_page_size_SHIFT 8
2399
#define cfg_sgl_page_size_MASK 0x000000ff
2400
#define cfg_sgl_page_size_WORD word14
2401
#define cfg_sgl_pp_align_SHIFT 16
2402
#define cfg_sgl_pp_align_MASK 0x000000ff
2403
#define cfg_sgl_pp_align_WORD word14
2411
struct lpfc_mbx_get_sli4_parameters {
2412
struct mbox_header header;
2413
struct lpfc_sli4_parameters sli4_parameters;
2416
struct lpfc_rscr_desc_generic {
2417
#define LPFC_RSRC_DESC_WSIZE 18
2418
uint32_t desc[LPFC_RSRC_DESC_WSIZE];
2421
struct lpfc_rsrc_desc_pcie {
2423
#define lpfc_rsrc_desc_pcie_type_SHIFT 0
2424
#define lpfc_rsrc_desc_pcie_type_MASK 0x000000ff
2425
#define lpfc_rsrc_desc_pcie_type_WORD word0
2426
#define LPFC_RSRC_DESC_TYPE_PCIE 0x40
2428
#define lpfc_rsrc_desc_pcie_pfnum_SHIFT 0
2429
#define lpfc_rsrc_desc_pcie_pfnum_MASK 0x000000ff
2430
#define lpfc_rsrc_desc_pcie_pfnum_WORD word1
2433
#define lpfc_rsrc_desc_pcie_sriov_sta_SHIFT 0
2434
#define lpfc_rsrc_desc_pcie_sriov_sta_MASK 0x000000ff
2435
#define lpfc_rsrc_desc_pcie_sriov_sta_WORD word3
2436
#define lpfc_rsrc_desc_pcie_pf_sta_SHIFT 8
2437
#define lpfc_rsrc_desc_pcie_pf_sta_MASK 0x000000ff
2438
#define lpfc_rsrc_desc_pcie_pf_sta_WORD word3
2439
#define lpfc_rsrc_desc_pcie_pf_type_SHIFT 16
2440
#define lpfc_rsrc_desc_pcie_pf_type_MASK 0x000000ff
2441
#define lpfc_rsrc_desc_pcie_pf_type_WORD word3
2443
#define lpfc_rsrc_desc_pcie_nr_virtfn_SHIFT 0
2444
#define lpfc_rsrc_desc_pcie_nr_virtfn_MASK 0x0000ffff
2445
#define lpfc_rsrc_desc_pcie_nr_virtfn_WORD word4
2448
struct lpfc_rsrc_desc_fcfcoe {
2450
#define lpfc_rsrc_desc_fcfcoe_type_SHIFT 0
2451
#define lpfc_rsrc_desc_fcfcoe_type_MASK 0x000000ff
2452
#define lpfc_rsrc_desc_fcfcoe_type_WORD word0
2453
#define LPFC_RSRC_DESC_TYPE_FCFCOE 0x43
2455
#define lpfc_rsrc_desc_fcfcoe_vfnum_SHIFT 0
2456
#define lpfc_rsrc_desc_fcfcoe_vfnum_MASK 0x000000ff
2457
#define lpfc_rsrc_desc_fcfcoe_vfnum_WORD word1
2458
#define lpfc_rsrc_desc_fcfcoe_pfnum_SHIFT 16
2459
#define lpfc_rsrc_desc_fcfcoe_pfnum_MASK 0x000007ff
2460
#define lpfc_rsrc_desc_fcfcoe_pfnum_WORD word1
2462
#define lpfc_rsrc_desc_fcfcoe_rpi_cnt_SHIFT 0
2463
#define lpfc_rsrc_desc_fcfcoe_rpi_cnt_MASK 0x0000ffff
2464
#define lpfc_rsrc_desc_fcfcoe_rpi_cnt_WORD word2
2465
#define lpfc_rsrc_desc_fcfcoe_xri_cnt_SHIFT 16
2466
#define lpfc_rsrc_desc_fcfcoe_xri_cnt_MASK 0x0000ffff
2467
#define lpfc_rsrc_desc_fcfcoe_xri_cnt_WORD word2
2469
#define lpfc_rsrc_desc_fcfcoe_wq_cnt_SHIFT 0
2470
#define lpfc_rsrc_desc_fcfcoe_wq_cnt_MASK 0x0000ffff
2471
#define lpfc_rsrc_desc_fcfcoe_wq_cnt_WORD word3
2472
#define lpfc_rsrc_desc_fcfcoe_rq_cnt_SHIFT 16
2473
#define lpfc_rsrc_desc_fcfcoe_rq_cnt_MASK 0x0000ffff
2474
#define lpfc_rsrc_desc_fcfcoe_rq_cnt_WORD word3
2476
#define lpfc_rsrc_desc_fcfcoe_cq_cnt_SHIFT 0
2477
#define lpfc_rsrc_desc_fcfcoe_cq_cnt_MASK 0x0000ffff
2478
#define lpfc_rsrc_desc_fcfcoe_cq_cnt_WORD word4
2479
#define lpfc_rsrc_desc_fcfcoe_vpi_cnt_SHIFT 16
2480
#define lpfc_rsrc_desc_fcfcoe_vpi_cnt_MASK 0x0000ffff
2481
#define lpfc_rsrc_desc_fcfcoe_vpi_cnt_WORD word4
2483
#define lpfc_rsrc_desc_fcfcoe_fcfi_cnt_SHIFT 0
2484
#define lpfc_rsrc_desc_fcfcoe_fcfi_cnt_MASK 0x0000ffff
2485
#define lpfc_rsrc_desc_fcfcoe_fcfi_cnt_WORD word5
2486
#define lpfc_rsrc_desc_fcfcoe_vfi_cnt_SHIFT 16
2487
#define lpfc_rsrc_desc_fcfcoe_vfi_cnt_MASK 0x0000ffff
2488
#define lpfc_rsrc_desc_fcfcoe_vfi_cnt_WORD word5
2497
#define lpfc_rsrc_desc_fcfcoe_lnk_nr_SHIFT 0
2498
#define lpfc_rsrc_desc_fcfcoe_lnk_nr_MASK 0x0000003f
2499
#define lpfc_rsrc_desc_fcfcoe_lnk_nr_WORD word13
2500
#define lpfc_rsrc_desc_fcfcoe_lnk_tp_SHIFT 6
2501
#define lpfc_rsrc_desc_fcfcoe_lnk_tp_MASK 0x00000003
2502
#define lpfc_rsrc_desc_fcfcoe_lnk_tp_WORD word13
2503
#define lpfc_rsrc_desc_fcfcoe_lmc_SHIFT 8
2504
#define lpfc_rsrc_desc_fcfcoe_lmc_MASK 0x00000001
2505
#define lpfc_rsrc_desc_fcfcoe_lmc_WORD word13
2506
#define lpfc_rsrc_desc_fcfcoe_lld_SHIFT 9
2507
#define lpfc_rsrc_desc_fcfcoe_lld_MASK 0x00000001
2508
#define lpfc_rsrc_desc_fcfcoe_lld_WORD word13
2509
#define lpfc_rsrc_desc_fcfcoe_eq_cnt_SHIFT 16
2510
#define lpfc_rsrc_desc_fcfcoe_eq_cnt_MASK 0x0000ffff
2511
#define lpfc_rsrc_desc_fcfcoe_eq_cnt_WORD word13
2514
struct lpfc_func_cfg {
2515
#define LPFC_RSRC_DESC_MAX_NUM 2
2516
uint32_t rsrc_desc_count;
2517
struct lpfc_rscr_desc_generic desc[LPFC_RSRC_DESC_MAX_NUM];
2520
struct lpfc_mbx_get_func_cfg {
2521
struct mbox_header header;
2522
#define LPFC_CFG_TYPE_PERSISTENT_OVERRIDE 0x0
2523
#define LPFC_CFG_TYPE_FACTURY_DEFAULT 0x1
2524
#define LPFC_CFG_TYPE_CURRENT_ACTIVE 0x2
2525
struct lpfc_func_cfg func_cfg;
2528
struct lpfc_prof_cfg {
2529
#define LPFC_RSRC_DESC_MAX_NUM 2
2530
uint32_t rsrc_desc_count;
2531
struct lpfc_rscr_desc_generic desc[LPFC_RSRC_DESC_MAX_NUM];
2534
struct lpfc_mbx_get_prof_cfg {
2535
struct mbox_header header;
2536
#define LPFC_CFG_TYPE_PERSISTENT_OVERRIDE 0x0
2537
#define LPFC_CFG_TYPE_FACTURY_DEFAULT 0x1
2538
#define LPFC_CFG_TYPE_CURRENT_ACTIVE 0x2
2542
#define lpfc_mbx_get_prof_cfg_prof_id_SHIFT 0
2543
#define lpfc_mbx_get_prof_cfg_prof_id_MASK 0x000000ff
2544
#define lpfc_mbx_get_prof_cfg_prof_id_WORD word10
2545
#define lpfc_mbx_get_prof_cfg_prof_tp_SHIFT 8
2546
#define lpfc_mbx_get_prof_cfg_prof_tp_MASK 0x00000003
2547
#define lpfc_mbx_get_prof_cfg_prof_tp_WORD word10
2550
struct lpfc_prof_cfg prof_cfg;
2054
2555
/* Mailbox Completion Queue Error Messages */
2055
2556
#define MB_CQE_STATUS_SUCCESS 0x0