830 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright (c) 2005-2014 Brocade Communications Systems, Inc.4 * Copyright (c) 2014- QLogic Corporation.5 * All rights reserved6 * www.qlogic.com7 *8 * Linux driver for QLogic BR-series Fibre Channel Host Bus Adapter.9 */10#ifndef BFAD_BSG_H11#define BFAD_BSG_H12 13#include "bfa_defs.h"14#include "bfa_defs_fcs.h"15 16/* Definitions of vendor unique structures and command codes passed in17 * using FC_BSG_HST_VENDOR message code.18 */19enum {20 IOCMD_IOC_ENABLE = 0x1,21 IOCMD_IOC_DISABLE,22 IOCMD_IOC_GET_ATTR,23 IOCMD_IOC_GET_INFO,24 IOCMD_IOC_GET_STATS,25 IOCMD_IOC_GET_FWSTATS,26 IOCMD_IOC_RESET_STATS,27 IOCMD_IOC_RESET_FWSTATS,28 IOCMD_IOC_SET_ADAPTER_NAME,29 IOCMD_IOC_SET_PORT_NAME,30 IOCMD_IOC_FW_SIG_INV,31 IOCMD_IOCFC_GET_ATTR,32 IOCMD_IOCFC_SET_INTR,33 IOCMD_PORT_ENABLE,34 IOCMD_PORT_DISABLE,35 IOCMD_PORT_GET_ATTR,36 IOCMD_PORT_GET_STATS,37 IOCMD_PORT_RESET_STATS,38 IOCMD_PORT_CFG_TOPO,39 IOCMD_PORT_CFG_SPEED,40 IOCMD_PORT_CFG_ALPA,41 IOCMD_PORT_CFG_MAXFRSZ,42 IOCMD_PORT_CLR_ALPA,43 IOCMD_PORT_BBCR_ENABLE,44 IOCMD_PORT_BBCR_DISABLE,45 IOCMD_PORT_BBCR_GET_ATTR,46 IOCMD_LPORT_GET_ATTR,47 IOCMD_LPORT_GET_RPORTS,48 IOCMD_LPORT_GET_STATS,49 IOCMD_LPORT_RESET_STATS,50 IOCMD_LPORT_GET_IOSTATS,51 IOCMD_RPORT_GET_ATTR,52 IOCMD_RPORT_GET_ADDR,53 IOCMD_RPORT_GET_STATS,54 IOCMD_RPORT_RESET_STATS,55 IOCMD_RPORT_SET_SPEED,56 IOCMD_VPORT_GET_ATTR,57 IOCMD_VPORT_GET_STATS,58 IOCMD_VPORT_RESET_STATS,59 IOCMD_FABRIC_GET_LPORTS,60 IOCMD_RATELIM_ENABLE,61 IOCMD_RATELIM_DISABLE,62 IOCMD_RATELIM_DEF_SPEED,63 IOCMD_FCPIM_FAILOVER,64 IOCMD_FCPIM_MODSTATS,65 IOCMD_FCPIM_MODSTATSCLR,66 IOCMD_FCPIM_DEL_ITN_STATS,67 IOCMD_ITNIM_GET_ATTR,68 IOCMD_ITNIM_GET_IOSTATS,69 IOCMD_ITNIM_RESET_STATS,70 IOCMD_ITNIM_GET_ITNSTATS,71 IOCMD_IOC_PCIFN_CFG,72 IOCMD_FCPORT_ENABLE,73 IOCMD_FCPORT_DISABLE,74 IOCMD_PCIFN_CREATE,75 IOCMD_PCIFN_DELETE,76 IOCMD_PCIFN_BW,77 IOCMD_ADAPTER_CFG_MODE,78 IOCMD_PORT_CFG_MODE,79 IOCMD_FLASH_ENABLE_OPTROM,80 IOCMD_FLASH_DISABLE_OPTROM,81 IOCMD_FAA_QUERY,82 IOCMD_CEE_GET_ATTR,83 IOCMD_CEE_GET_STATS,84 IOCMD_CEE_RESET_STATS,85 IOCMD_SFP_MEDIA,86 IOCMD_SFP_SPEED,87 IOCMD_FLASH_GET_ATTR,88 IOCMD_FLASH_ERASE_PART,89 IOCMD_FLASH_UPDATE_PART,90 IOCMD_FLASH_READ_PART,91 IOCMD_DIAG_TEMP,92 IOCMD_DIAG_MEMTEST,93 IOCMD_DIAG_LOOPBACK,94 IOCMD_DIAG_FWPING,95 IOCMD_DIAG_QUEUETEST,96 IOCMD_DIAG_SFP,97 IOCMD_DIAG_LED,98 IOCMD_DIAG_BEACON_LPORT,99 IOCMD_DIAG_LB_STAT,100 IOCMD_PHY_GET_ATTR,101 IOCMD_PHY_GET_STATS,102 IOCMD_PHY_UPDATE_FW,103 IOCMD_PHY_READ_FW,104 IOCMD_VHBA_QUERY,105 IOCMD_DEBUG_PORTLOG,106 IOCMD_DEBUG_FW_CORE,107 IOCMD_DEBUG_FW_STATE_CLR,108 IOCMD_DEBUG_PORTLOG_CLR,109 IOCMD_DEBUG_START_DTRC,110 IOCMD_DEBUG_STOP_DTRC,111 IOCMD_DEBUG_PORTLOG_CTL,112 IOCMD_FCPIM_PROFILE_ON,113 IOCMD_FCPIM_PROFILE_OFF,114 IOCMD_ITNIM_GET_IOPROFILE,115 IOCMD_FCPORT_GET_STATS,116 IOCMD_FCPORT_RESET_STATS,117 IOCMD_BOOT_CFG,118 IOCMD_BOOT_QUERY,119 IOCMD_PREBOOT_QUERY,120 IOCMD_ETHBOOT_CFG,121 IOCMD_ETHBOOT_QUERY,122 IOCMD_TRUNK_ENABLE,123 IOCMD_TRUNK_DISABLE,124 IOCMD_TRUNK_GET_ATTR,125 IOCMD_QOS_ENABLE,126 IOCMD_QOS_DISABLE,127 IOCMD_QOS_GET_ATTR,128 IOCMD_QOS_GET_VC_ATTR,129 IOCMD_QOS_GET_STATS,130 IOCMD_QOS_RESET_STATS,131 IOCMD_VF_GET_STATS,132 IOCMD_VF_RESET_STATS,133 IOCMD_FCPIM_LUNMASK_ENABLE,134 IOCMD_FCPIM_LUNMASK_DISABLE,135 IOCMD_FCPIM_LUNMASK_CLEAR,136 IOCMD_FCPIM_LUNMASK_QUERY,137 IOCMD_FCPIM_LUNMASK_ADD,138 IOCMD_FCPIM_LUNMASK_DELETE,139 IOCMD_DIAG_DPORT_ENABLE,140 IOCMD_DIAG_DPORT_DISABLE,141 IOCMD_QOS_SET_BW,142 IOCMD_FCPIM_THROTTLE_QUERY,143 IOCMD_FCPIM_THROTTLE_SET,144 IOCMD_TFRU_READ,145 IOCMD_TFRU_WRITE,146 IOCMD_FRUVPD_READ,147 IOCMD_FRUVPD_UPDATE,148 IOCMD_FRUVPD_GET_MAX_SIZE,149 IOCMD_DIAG_DPORT_SHOW,150 IOCMD_DIAG_DPORT_START,151};152 153struct bfa_bsg_gen_s {154 bfa_status_t status;155 u16 bfad_num;156 u16 rsvd;157};158 159struct bfa_bsg_portlogctl_s {160 bfa_status_t status;161 u16 bfad_num;162 u16 rsvd;163 bfa_boolean_t ctl;164 int inst_no;165};166 167struct bfa_bsg_fcpim_profile_s {168 bfa_status_t status;169 u16 bfad_num;170 u16 rsvd;171};172 173struct bfa_bsg_itnim_ioprofile_s {174 bfa_status_t status;175 u16 bfad_num;176 u16 vf_id;177 wwn_t lpwwn;178 wwn_t rpwwn;179 struct bfa_itnim_ioprofile_s ioprofile;180};181 182struct bfa_bsg_fcport_stats_s {183 bfa_status_t status;184 u16 bfad_num;185 u16 rsvd;186 union bfa_fcport_stats_u stats;187};188 189struct bfa_bsg_ioc_name_s {190 bfa_status_t status;191 u16 bfad_num;192 u16 rsvd;193 char name[BFA_ADAPTER_SYM_NAME_LEN];194};195 196struct bfa_bsg_ioc_info_s {197 bfa_status_t status;198 u16 bfad_num;199 u16 rsvd;200 char serialnum[64];201 char hwpath[BFA_STRING_32];202 char adapter_hwpath[BFA_STRING_32];203 char guid[BFA_ADAPTER_SYM_NAME_LEN*2];204 char name[BFA_ADAPTER_SYM_NAME_LEN];205 char port_name[BFA_ADAPTER_SYM_NAME_LEN];206 char eth_name[BFA_ADAPTER_SYM_NAME_LEN];207 wwn_t pwwn;208 wwn_t nwwn;209 wwn_t factorypwwn;210 wwn_t factorynwwn;211 mac_t mac;212 mac_t factory_mac; /* Factory mac address */213 mac_t current_mac; /* Currently assigned mac address */214 enum bfa_ioc_type_e ioc_type;215 u16 pvid; /* Port vlan id */216 u16 rsvd1;217 u32 host;218 u32 bandwidth; /* For PF support */219 u32 rsvd2;220};221 222struct bfa_bsg_ioc_attr_s {223 bfa_status_t status;224 u16 bfad_num;225 u16 rsvd;226 struct bfa_ioc_attr_s ioc_attr;227};228 229struct bfa_bsg_ioc_stats_s {230 bfa_status_t status;231 u16 bfad_num;232 u16 rsvd;233 struct bfa_ioc_stats_s ioc_stats;234};235 236struct bfa_bsg_ioc_fwstats_s {237 bfa_status_t status;238 u16 bfad_num;239 u16 rsvd;240 u32 buf_size;241 u32 rsvd1;242 u64 buf_ptr;243};244 245struct bfa_bsg_iocfc_attr_s {246 bfa_status_t status;247 u16 bfad_num;248 u16 rsvd;249 struct bfa_iocfc_attr_s iocfc_attr;250};251 252struct bfa_bsg_iocfc_intr_s {253 bfa_status_t status;254 u16 bfad_num;255 u16 rsvd;256 struct bfa_iocfc_intr_attr_s attr;257};258 259struct bfa_bsg_port_attr_s {260 bfa_status_t status;261 u16 bfad_num;262 u16 rsvd;263 struct bfa_port_attr_s attr;264};265 266struct bfa_bsg_port_cfg_s {267 bfa_status_t status;268 u16 bfad_num;269 u16 rsvd;270 u32 param;271 u32 rsvd1;272};273 274struct bfa_bsg_port_cfg_maxfrsize_s {275 bfa_status_t status;276 u16 bfad_num;277 u16 maxfrsize;278};279 280struct bfa_bsg_port_stats_s {281 bfa_status_t status;282 u16 bfad_num;283 u16 rsvd;284 u32 buf_size;285 u32 rsvd1;286 u64 buf_ptr;287};288 289struct bfa_bsg_lport_attr_s {290 bfa_status_t status;291 u16 bfad_num;292 u16 vf_id;293 wwn_t pwwn;294 struct bfa_lport_attr_s port_attr;295};296 297struct bfa_bsg_lport_stats_s {298 bfa_status_t status;299 u16 bfad_num;300 u16 vf_id;301 wwn_t pwwn;302 struct bfa_lport_stats_s port_stats;303};304 305struct bfa_bsg_lport_iostats_s {306 bfa_status_t status;307 u16 bfad_num;308 u16 vf_id;309 wwn_t pwwn;310 struct bfa_itnim_iostats_s iostats;311};312 313struct bfa_bsg_lport_get_rports_s {314 bfa_status_t status;315 u16 bfad_num;316 u16 vf_id;317 wwn_t pwwn;318 u64 rbuf_ptr;319 u32 nrports;320 u32 rsvd;321};322 323struct bfa_bsg_rport_attr_s {324 bfa_status_t status;325 u16 bfad_num;326 u16 vf_id;327 wwn_t pwwn;328 wwn_t rpwwn;329 u32 pid;330 u32 rsvd;331 struct bfa_rport_attr_s attr;332};333 334struct bfa_bsg_rport_stats_s {335 bfa_status_t status;336 u16 bfad_num;337 u16 vf_id;338 wwn_t pwwn;339 wwn_t rpwwn;340 struct bfa_rport_stats_s stats;341};342 343struct bfa_bsg_rport_scsi_addr_s {344 bfa_status_t status;345 u16 bfad_num;346 u16 vf_id;347 wwn_t pwwn;348 wwn_t rpwwn;349 u32 host;350 u32 bus;351 u32 target;352 u32 lun;353};354 355struct bfa_bsg_rport_reset_stats_s {356 bfa_status_t status;357 u16 bfad_num;358 u16 vf_id;359 wwn_t pwwn;360 wwn_t rpwwn;361};362 363struct bfa_bsg_rport_set_speed_s {364 bfa_status_t status;365 u16 bfad_num;366 u16 vf_id;367 enum bfa_port_speed speed;368 u32 rsvd;369 wwn_t pwwn;370 wwn_t rpwwn;371};372 373struct bfa_bsg_vport_attr_s {374 bfa_status_t status;375 u16 bfad_num;376 u16 vf_id;377 wwn_t vpwwn;378 struct bfa_vport_attr_s vport_attr;379};380 381struct bfa_bsg_vport_stats_s {382 bfa_status_t status;383 u16 bfad_num;384 u16 vf_id;385 wwn_t vpwwn;386 struct bfa_vport_stats_s vport_stats;387};388 389struct bfa_bsg_reset_stats_s {390 bfa_status_t status;391 u16 bfad_num;392 u16 vf_id;393 wwn_t vpwwn;394};395 396struct bfa_bsg_fabric_get_lports_s {397 bfa_status_t status;398 u16 bfad_num;399 u16 vf_id;400 u64 buf_ptr;401 u32 nports;402 u32 rsvd;403};404 405struct bfa_bsg_trl_speed_s {406 bfa_status_t status;407 u16 bfad_num;408 u16 rsvd;409 enum bfa_port_speed speed;410};411 412struct bfa_bsg_fcpim_s {413 bfa_status_t status;414 u16 bfad_num;415 u16 param;416};417 418struct bfa_bsg_fcpim_modstats_s {419 bfa_status_t status;420 u16 bfad_num;421 struct bfa_itnim_iostats_s modstats;422};423 424struct bfa_bsg_fcpim_del_itn_stats_s {425 bfa_status_t status;426 u16 bfad_num;427 struct bfa_fcpim_del_itn_stats_s modstats;428};429 430struct bfa_bsg_fcpim_modstatsclr_s {431 bfa_status_t status;432 u16 bfad_num;433};434 435struct bfa_bsg_itnim_attr_s {436 bfa_status_t status;437 u16 bfad_num;438 u16 vf_id;439 wwn_t lpwwn;440 wwn_t rpwwn;441 struct bfa_itnim_attr_s attr;442};443 444struct bfa_bsg_itnim_iostats_s {445 bfa_status_t status;446 u16 bfad_num;447 u16 vf_id;448 wwn_t lpwwn;449 wwn_t rpwwn;450 struct bfa_itnim_iostats_s iostats;451};452 453struct bfa_bsg_itnim_itnstats_s {454 bfa_status_t status;455 u16 bfad_num;456 u16 vf_id;457 wwn_t lpwwn;458 wwn_t rpwwn;459 struct bfa_itnim_stats_s itnstats;460};461 462struct bfa_bsg_pcifn_cfg_s {463 bfa_status_t status;464 u16 bfad_num;465 u16 rsvd;466 struct bfa_ablk_cfg_s pcifn_cfg;467};468 469struct bfa_bsg_pcifn_s {470 bfa_status_t status;471 u16 bfad_num;472 u16 pcifn_id;473 u16 bw_min;474 u16 bw_max;475 u8 port;476 enum bfi_pcifn_class pcifn_class;477 u8 rsvd[1];478};479 480struct bfa_bsg_adapter_cfg_mode_s {481 bfa_status_t status;482 u16 bfad_num;483 u16 rsvd;484 struct bfa_adapter_cfg_mode_s cfg;485};486 487struct bfa_bsg_port_cfg_mode_s {488 bfa_status_t status;489 u16 bfad_num;490 u16 instance;491 struct bfa_port_cfg_mode_s cfg;492};493 494struct bfa_bsg_bbcr_enable_s {495 bfa_status_t status;496 u16 bfad_num;497 u8 bb_scn;498 u8 rsvd;499};500 501struct bfa_bsg_bbcr_attr_s {502 bfa_status_t status;503 u16 bfad_num;504 u16 rsvd;505 struct bfa_bbcr_attr_s attr;506};507 508struct bfa_bsg_faa_attr_s {509 bfa_status_t status;510 u16 bfad_num;511 u16 rsvd;512 struct bfa_faa_attr_s faa_attr;513};514 515struct bfa_bsg_cee_attr_s {516 bfa_status_t status;517 u16 bfad_num;518 u16 rsvd;519 u32 buf_size;520 u32 rsvd1;521 u64 buf_ptr;522};523 524struct bfa_bsg_cee_stats_s {525 bfa_status_t status;526 u16 bfad_num;527 u16 rsvd;528 u32 buf_size;529 u32 rsvd1;530 u64 buf_ptr;531};532 533struct bfa_bsg_sfp_media_s {534 bfa_status_t status;535 u16 bfad_num;536 u16 rsvd;537 enum bfa_defs_sfp_media_e media;538};539 540struct bfa_bsg_sfp_speed_s {541 bfa_status_t status;542 u16 bfad_num;543 u16 rsvd;544 enum bfa_port_speed speed;545};546 547struct bfa_bsg_flash_attr_s {548 bfa_status_t status;549 u16 bfad_num;550 u16 rsvd;551 struct bfa_flash_attr_s attr;552};553 554struct bfa_bsg_flash_s {555 bfa_status_t status;556 u16 bfad_num;557 u8 instance;558 u8 rsvd;559 enum bfa_flash_part_type type;560 int bufsz;561 u64 buf_ptr;562};563 564struct bfa_bsg_diag_get_temp_s {565 bfa_status_t status;566 u16 bfad_num;567 u16 rsvd;568 struct bfa_diag_results_tempsensor_s result;569};570 571struct bfa_bsg_diag_memtest_s {572 bfa_status_t status;573 u16 bfad_num;574 u16 rsvd[3];575 u32 pat;576 struct bfa_diag_memtest_result result;577 struct bfa_diag_memtest_s memtest;578};579 580struct bfa_bsg_diag_loopback_s {581 bfa_status_t status;582 u16 bfad_num;583 u16 rsvd;584 enum bfa_port_opmode opmode;585 enum bfa_port_speed speed;586 u32 lpcnt;587 u32 pat;588 struct bfa_diag_loopback_result_s result;589};590 591struct bfa_bsg_diag_dport_show_s {592 bfa_status_t status;593 u16 bfad_num;594 u16 rsvd;595 struct bfa_diag_dport_result_s result;596};597 598struct bfa_bsg_dport_enable_s {599 bfa_status_t status;600 u16 bfad_num;601 u16 rsvd;602 u16 lpcnt;603 u16 pat;604};605 606struct bfa_bsg_diag_fwping_s {607 bfa_status_t status;608 u16 bfad_num;609 u16 rsvd;610 u32 cnt;611 u32 pattern;612 struct bfa_diag_results_fwping result;613};614 615struct bfa_bsg_diag_qtest_s {616 bfa_status_t status;617 u16 bfad_num;618 u16 rsvd;619 u32 force;620 u32 queue;621 struct bfa_diag_qtest_result_s result;622};623 624struct bfa_bsg_sfp_show_s {625 bfa_status_t status;626 u16 bfad_num;627 u16 rsvd;628 struct sfp_mem_s sfp;629};630 631struct bfa_bsg_diag_led_s {632 bfa_status_t status;633 u16 bfad_num;634 u16 rsvd;635 struct bfa_diag_ledtest_s ledtest;636};637 638struct bfa_bsg_diag_beacon_s {639 bfa_status_t status;640 u16 bfad_num;641 u16 rsvd;642 bfa_boolean_t beacon;643 bfa_boolean_t link_e2e_beacon;644 u32 second;645};646 647struct bfa_bsg_diag_lb_stat_s {648 bfa_status_t status;649 u16 bfad_num;650 u16 rsvd;651};652 653struct bfa_bsg_phy_attr_s {654 bfa_status_t status;655 u16 bfad_num;656 u16 instance;657 struct bfa_phy_attr_s attr;658};659 660struct bfa_bsg_phy_s {661 bfa_status_t status;662 u16 bfad_num;663 u16 instance;664 u64 bufsz;665 u64 buf_ptr;666};667 668struct bfa_bsg_debug_s {669 bfa_status_t status;670 u16 bfad_num;671 u16 rsvd;672 u32 bufsz;673 int inst_no;674 u64 buf_ptr;675 u64 offset;676};677 678struct bfa_bsg_phy_stats_s {679 bfa_status_t status;680 u16 bfad_num;681 u16 instance;682 struct bfa_phy_stats_s stats;683};684 685struct bfa_bsg_vhba_attr_s {686 bfa_status_t status;687 u16 bfad_num;688 u16 pcifn_id;689 struct bfa_vhba_attr_s attr;690};691 692struct bfa_bsg_boot_s {693 bfa_status_t status;694 u16 bfad_num;695 u16 rsvd;696 struct bfa_boot_cfg_s cfg;697};698 699struct bfa_bsg_preboot_s {700 bfa_status_t status;701 u16 bfad_num;702 u16 rsvd;703 struct bfa_boot_pbc_s cfg;704};705 706struct bfa_bsg_ethboot_s {707 bfa_status_t status;708 u16 bfad_num;709 u16 rsvd;710 struct bfa_ethboot_cfg_s cfg;711};712 713struct bfa_bsg_trunk_attr_s {714 bfa_status_t status;715 u16 bfad_num;716 u16 rsvd;717 struct bfa_trunk_attr_s attr;718};719 720struct bfa_bsg_qos_attr_s {721 bfa_status_t status;722 u16 bfad_num;723 u16 rsvd;724 struct bfa_qos_attr_s attr;725};726 727struct bfa_bsg_qos_vc_attr_s {728 bfa_status_t status;729 u16 bfad_num;730 u16 rsvd;731 struct bfa_qos_vc_attr_s attr;732};733 734struct bfa_bsg_qos_bw_s {735 bfa_status_t status;736 u16 bfad_num;737 u16 rsvd;738 struct bfa_qos_bw_s qos_bw;739};740 741struct bfa_bsg_vf_stats_s {742 bfa_status_t status;743 u16 bfad_num;744 u16 vf_id;745 struct bfa_vf_stats_s stats;746};747 748struct bfa_bsg_vf_reset_stats_s {749 bfa_status_t status;750 u16 bfad_num;751 u16 vf_id;752};753 754struct bfa_bsg_fcpim_lunmask_query_s {755 bfa_status_t status;756 u16 bfad_num;757 struct bfa_lunmask_cfg_s lun_mask;758};759 760struct bfa_bsg_fcpim_lunmask_s {761 bfa_status_t status;762 u16 bfad_num;763 u16 vf_id;764 wwn_t pwwn;765 wwn_t rpwwn;766 struct scsi_lun lun;767};768 769struct bfa_bsg_fcpim_throttle_s {770 bfa_status_t status;771 u16 bfad_num;772 u16 vf_id;773 struct bfa_defs_fcpim_throttle_s throttle;774};775 776#define BFA_TFRU_DATA_SIZE 64777#define BFA_MAX_FRUVPD_TRANSFER_SIZE 0x1000778 779struct bfa_bsg_tfru_s {780 bfa_status_t status;781 u16 bfad_num;782 u16 rsvd;783 u32 offset;784 u32 len;785 u8 data[BFA_TFRU_DATA_SIZE];786};787 788struct bfa_bsg_fruvpd_s {789 bfa_status_t status;790 u16 bfad_num;791 u16 rsvd1;792 u32 offset;793 u32 len;794 u8 data[BFA_MAX_FRUVPD_TRANSFER_SIZE];795 u8 trfr_cmpl;796 u8 rsvd2[3];797};798 799struct bfa_bsg_fruvpd_max_size_s {800 bfa_status_t status;801 u16 bfad_num;802 u16 rsvd;803 u32 max_size;804};805 806struct bfa_bsg_fcpt_s {807 bfa_status_t status;808 u16 vf_id;809 wwn_t lpwwn;810 wwn_t dpwwn;811 u32 tsecs;812 int cts;813 enum fc_cos cos;814 struct fchs_s fchs;815};816#define bfa_bsg_fcpt_t struct bfa_bsg_fcpt_s817 818#pragma pack(1)819struct bfa_bsg_data {820 int payload_len;821 u64 payload;822};823#pragma pack()824 825#define bfad_chk_iocmd_sz(__payload_len, __hdrsz, __bufsz) \826 (((__payload_len) != ((__hdrsz) + (__bufsz))) ? \827 BFA_STATUS_FAILED : BFA_STATUS_OK)828 829#endif /* BFAD_BSG_H */830