Commit ce9d8d9f authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (70 commits)
  [SCSI] pmcraid: add support for set timestamp command and other fixes
  [SCSI] pmcraid: remove duplicate struct member
  [SCSI] qla4xxx: Fix cmd check in qla4xxx_cmd_wait
  [SCSI] megaraid_sas: Version and documentation update
  [SCSI] megaraid_sas: Add three times Online controller reset
  [SCSI] megaraid_sas: Add input parameter for max_sectors
  [SCSI] megaraid_sas: support devices update flag
  [SCSI] libosd: write/read_sg_kern API
  [SCSI] libosd: Support for scatter gather write/read commands
  [SCSI] libosd: Free resources in reverse order of allocation
  [SCSI] libosd: Fix bug in attr_page handling
  [SCSI] lpfc 8.3.18: Update lpfc driver version to 8.3.18
  [SCSI] lpfc 8.3.18: Add new WQE support
  [SCSI] lpfc 8.3.18: Fix critical errors
  [SCSI] lpfc 8.3.18: Adapter Shutdown and Unregistration cleanup
  [SCSI] lpfc 8.3.18: Add logic to detect last devloss timeout
  [SCSI] lpfc 8.3.18: Add support of received ELS commands
  [SCSI] lpfc 8.3.18: FC/FCoE Discovery fixes
  [SCSI] ipr: add definitions for a new adapter
  [SCSI] bfa: fix comments for c files
  ...
parents 82279e6b 592488a3
1 Release Date : Thur. May 03, 2010 09:12:45 PST 2009 -
(emaild-id:megaraidlinux@lsi.com)
Bo Yang
2 Current Version : 00.00.04.31-rc1
3 Older Version : 00.00.04.17.1-rc1
1. Add the Online Controller Reset (OCR) to the Driver.
OCR is the new feature for megaraid_sas driver which
will allow the fw to do the chip reset which will not
affact the OS behavious.
To add the OCR support, driver need to do:
a). reset the controller chips -- Xscale and Gen2 which
will change the function calls and add the reset function
related to this two chips.
b). during the reset, driver will store the pending cmds
which not returned by FW to driver's pending queue. Driver
will re-issue those pending cmds again to FW after the OCR
finished.
c). In driver's timeout routine, driver will report to
OS as reset. Also driver's queue routine will block the
cmds until the OCR finished.
d). in Driver's ISR routine, if driver get the FW state as
state change, FW in Failure status and FW support online controller
reset (OCR), driver will start to do the controller reset.
e). In driver's IOCTL routine, the application cmds will wait for the
OCR to finish, then issue the cmds to FW.
f). Before driver kill adapter, driver will do last chance of
OCR to see if driver can bring back the FW.
2. Add the support update flag to the driver to tell LSI megaraid_sas
application which driver will support the device update. So application
will not need to do the device update after application add/del the device
from the system.
3. In driver's timeout routine, driver will do three time reset if fw is in
failed state. Driver will kill adapter if can't bring back FW after the
this three times reset.
4. Add the input parameter max_sectors to 1MB support to our GEN2 controller.
customer can use the input paramenter max_sectors to add 1MB support to GEN2
controller.
1 Release Date : Thur. Oct 29, 2009 09:12:45 PST 2009 -
(emaild-id:megaraidlinux@lsi.com)
Bo Yang
......
......@@ -270,7 +270,7 @@ void zfcp_fc_eval_fcp_rsp(struct fcp_resp_with_ext *fcp_rsp,
if (unlikely(rsp_flags & FCP_SNS_LEN_VAL)) {
sense = (char *) &fcp_rsp[1];
if (rsp_flags & FCP_RSP_LEN_VAL)
sense += fcp_rsp->ext.fr_sns_len;
sense += fcp_rsp->ext.fr_rsp_len;
sense_len = min(fcp_rsp->ext.fr_sns_len,
(u32) SCSI_SENSE_BUFFERSIZE);
memcpy(scsi->sense_buffer, sense, sense_len);
......
......@@ -532,9 +532,6 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
fc_host_port_type(shost) = FC_PORTTYPE_UNKNOWN;
adapter->hydra_version = 0;
atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK,
&adapter->status);
zfcp_fsf_link_down_info_eval(req,
&qtcb->header.fsf_status_qual.link_down_info);
break;
......
......@@ -142,6 +142,8 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun)
return -ENOMEM;
}
get_device(&port->dev);
if (device_register(&unit->dev)) {
put_device(&unit->dev);
return -ENOMEM;
......@@ -152,8 +154,6 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun)
return -EINVAL;
}
get_device(&port->dev);
write_lock_irq(&port->unit_list_lock);
list_add_tail(&unit->list, &port->unit_list);
write_unlock_irq(&port->unit_list_lock);
......
......@@ -29,13 +29,13 @@ struct bfa_s;
typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m);
typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete);
/**
/*
* Interrupt message handlers
*/
void bfa_isr_unhandled(struct bfa_s *bfa, struct bfi_msg_s *m);
void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
/**
/*
* Request and response queue related defines
*/
#define BFA_REQQ_NELEMS_MIN (4)
......@@ -58,9 +58,9 @@ void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
#define bfa_reqq_produce(__bfa, __reqq) do { \
(__bfa)->iocfc.req_cq_pi[__reqq]++; \
(__bfa)->iocfc.req_cq_pi[__reqq] &= \
((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1); \
bfa_reg_write((__bfa)->iocfc.bfa_regs.cpe_q_pi[__reqq], \
(__bfa)->iocfc.req_cq_pi[__reqq]); \
((__bfa)->iocfc.cfg.drvcfg.num_reqq_elems - 1); \
writel((__bfa)->iocfc.req_cq_pi[__reqq], \
(__bfa)->iocfc.bfa_regs.cpe_q_pi[__reqq]); \
mmiowb(); \
} while (0)
......@@ -76,7 +76,7 @@ void bfa_isr_bind(enum bfi_mclass mc, bfa_isr_func_t isr_func);
(__index) &= ((__size) - 1); \
} while (0)
/**
/*
* Queue element to wait for room in request queue. FIFO order is
* maintained when fullfilling requests.
*/
......@@ -86,7 +86,7 @@ struct bfa_reqq_wait_s {
void *cbarg;
};
/**
/*
* Circular queue usage assignments
*/
enum {
......@@ -113,7 +113,7 @@ bfa_reqq_winit(struct bfa_reqq_wait_s *wqe, void (*qresume) (void *cbarg),
#define bfa_reqq(__bfa, __reqq) (&(__bfa)->reqq_waitq[__reqq])
/**
/*
* static inline void
* bfa_reqq_wait(struct bfa_s *bfa, int reqq, struct bfa_reqq_wait_s *wqe)
*/
......@@ -130,7 +130,7 @@ bfa_reqq_winit(struct bfa_reqq_wait_s *wqe, void (*qresume) (void *cbarg),
#define bfa_reqq_wcancel(__wqe) list_del(&(__wqe)->qe)
/**
/*
* Generic BFA callback element.
*/
struct bfa_cb_qe_s {
......@@ -163,7 +163,7 @@ struct bfa_cb_qe_s {
} while (0)
/**
/*
* PCI devices supported by the current BFA
*/
struct bfa_pciid_s {
......@@ -173,7 +173,7 @@ struct bfa_pciid_s {
extern char bfa_version[];
/**
/*
* BFA memory resources
*/
enum bfa_mem_type {
......@@ -202,19 +202,19 @@ struct bfa_meminfo_s {
((_m)->meminfo[BFA_MEM_TYPE_DMA - 1].dma_curp)
struct bfa_iocfc_regs_s {
bfa_os_addr_t intr_status;
bfa_os_addr_t intr_mask;
bfa_os_addr_t cpe_q_pi[BFI_IOC_MAX_CQS];
bfa_os_addr_t cpe_q_ci[BFI_IOC_MAX_CQS];
bfa_os_addr_t cpe_q_depth[BFI_IOC_MAX_CQS];
bfa_os_addr_t cpe_q_ctrl[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_ci[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_pi[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_depth[BFI_IOC_MAX_CQS];
bfa_os_addr_t rme_q_ctrl[BFI_IOC_MAX_CQS];
void __iomem *intr_status;
void __iomem *intr_mask;
void __iomem *cpe_q_pi[BFI_IOC_MAX_CQS];
void __iomem *cpe_q_ci[BFI_IOC_MAX_CQS];
void __iomem *cpe_q_depth[BFI_IOC_MAX_CQS];
void __iomem *cpe_q_ctrl[BFI_IOC_MAX_CQS];
void __iomem *rme_q_ci[BFI_IOC_MAX_CQS];
void __iomem *rme_q_pi[BFI_IOC_MAX_CQS];
void __iomem *rme_q_depth[BFI_IOC_MAX_CQS];
void __iomem *rme_q_ctrl[BFI_IOC_MAX_CQS];
};
/**
/*
* MSIX vector handlers
*/
#define BFA_MSIX_MAX_VECTORS 22
......@@ -224,7 +224,7 @@ struct bfa_msix_s {
bfa_msix_handler_t handler[BFA_MSIX_MAX_VECTORS];
};
/**
/*
* Chip specific interfaces
*/
struct bfa_hwif_s {
......@@ -343,7 +343,7 @@ int bfa_iocfc_get_pbc_vports(struct bfa_s *bfa,
struct bfi_pbc_vport_s *pbc_vport);
/**
/*
*----------------------------------------------------------------------
* BFA public interfaces
*----------------------------------------------------------------------
......
......@@ -37,18 +37,18 @@ bfad_int_to_lun(u32 luno)
} lun;
lun.bfa_lun = 0;
lun.scsi_lun[0] = bfa_os_htons(luno);
lun.scsi_lun[0] = cpu_to_be16(luno);
return lun.bfa_lun;
}
/**
/*
* Get LUN for the I/O request
*/
#define bfa_cb_ioim_get_lun(__dio) \
bfad_int_to_lun(((struct scsi_cmnd *)__dio)->device->lun)
/**
/*
* Get CDB for the I/O request
*/
static inline u8 *
......@@ -59,7 +59,7 @@ bfa_cb_ioim_get_cdb(struct bfad_ioim_s *dio)
return (u8 *) cmnd->cmnd;
}
/**
/*
* Get I/O direction (read/write) for the I/O request
*/
static inline enum fcp_iodir
......@@ -77,7 +77,7 @@ bfa_cb_ioim_get_iodir(struct bfad_ioim_s *dio)
return FCP_IODIR_NONE;
}
/**
/*
* Get IO size in bytes for the I/O request
*/
static inline u32
......@@ -88,7 +88,7 @@ bfa_cb_ioim_get_size(struct bfad_ioim_s *dio)
return scsi_bufflen(cmnd);
}
/**
/*
* Get timeout for the I/O request
*/
static inline u8
......@@ -104,7 +104,7 @@ bfa_cb_ioim_get_timeout(struct bfad_ioim_s *dio)
return 0;
}
/**
/*
* Get Command Reference Number for the I/O request. 0 if none.
*/
static inline u8
......@@ -113,7 +113,7 @@ bfa_cb_ioim_get_crn(struct bfad_ioim_s *dio)
return 0;
}
/**
/*
* Get SAM-3 priority for the I/O request. 0 is default.
*/
static inline u8
......@@ -122,7 +122,7 @@ bfa_cb_ioim_get_priority(struct bfad_ioim_s *dio)
return 0;
}
/**
/*
* Get task attributes for the I/O request. Default is FCP_TASK_ATTR_SIMPLE(0).
*/
static inline u8
......@@ -148,7 +148,7 @@ bfa_cb_ioim_get_taskattr(struct bfad_ioim_s *dio)
return task_attr;
}
/**
/*
* Get CDB length in bytes for the I/O request. Default is FCP_CMND_CDB_LEN(16).
*/
static inline u8
......@@ -159,7 +159,7 @@ bfa_cb_ioim_get_cdblen(struct bfad_ioim_s *dio)
return cmnd->cmd_len;
}
/**
/*
* Assign queue to be used for the I/O request. This value depends on whether
* the driver wants to use the queues via any specific algorithm. Currently,
* this is not supported.
......
This diff is collapsed.
......@@ -15,7 +15,7 @@
* General Public License for more details.
*/
/**
/*
* bfa_cs.h BFA common services
*/
......@@ -24,7 +24,7 @@
#include "bfa_os_inc.h"
/**
/*
* BFA TRC
*/
......@@ -73,7 +73,7 @@ enum {
#define BFA_TRC_MOD_SH 10
#define BFA_TRC_MOD(__mod) ((BFA_TRC_ ## __mod) << BFA_TRC_MOD_SH)
/**
/*
* Define a new tracing file (module). Module should match one defined above.
*/
#define BFA_TRC_FILE(__mod, __submod) \
......@@ -155,7 +155,7 @@ __bfa_trc32(struct bfa_trc_mod_s *trcm, int fileno, int line, u32 data)
#define bfa_trc_fp(_trcp, _data)
#endif
/**
/*
* @ BFA LOG interfaces
*/
#define bfa_assert(__cond) do { \
......@@ -249,13 +249,13 @@ bfa_q_is_on_q_func(struct list_head *q, struct list_head *qe)
#define bfa_q_is_on_q(_q, _qe) \
bfa_q_is_on_q_func(_q, (struct list_head *)(_qe))
/**
/*
* @ BFA state machine interfaces
*/
typedef void (*bfa_sm_t)(void *sm, int event);
/**
/*
* oc - object class eg. bfa_ioc
* st - state, eg. reset
* otype - object type, eg. struct bfa_ioc_s
......@@ -269,7 +269,7 @@ typedef void (*bfa_sm_t)(void *sm, int event);
#define bfa_sm_get_state(_sm) ((_sm)->sm)
#define bfa_sm_cmp_state(_sm, _state) ((_sm)->sm == (bfa_sm_t)(_state))
/**
/*
* For converting from state machine function to state encoding.
*/
struct bfa_sm_table_s {
......@@ -279,12 +279,12 @@ struct bfa_sm_table_s {
};
#define BFA_SM(_sm) ((bfa_sm_t)(_sm))
/**
/*
* State machine with entry actions.
*/
typedef void (*bfa_fsm_t)(void *fsm, int event);
/**
/*
* oc - object class eg. bfa_ioc
* st - state, eg. reset
* otype - object type, eg. struct bfa_ioc_s
......@@ -314,7 +314,7 @@ bfa_sm_to_state(struct bfa_sm_table_s *smt, bfa_sm_t sm)
return smt[i].state;
}
/**
/*
* @ Generic wait counter.
*/
......@@ -340,7 +340,7 @@ bfa_wc_down(struct bfa_wc_s *wc)
wc->wc_resume(wc->wc_cbarg);
}
/**
/*
* Initialize a waiting counter.
*/
static inline void
......@@ -352,7 +352,7 @@ bfa_wc_init(struct bfa_wc_s *wc, bfa_wc_resume_t wc_resume, void *wc_cbarg)
bfa_wc_up(wc);
}
/**
/*
* Wait for counter to reach zero
*/
static inline void
......
......@@ -24,7 +24,7 @@
#define BFA_MFG_SERIALNUM_SIZE 11
#define STRSZ(_n) (((_n) + 4) & ~3)
/**
/*
* Manufacturing card type
*/
enum {
......@@ -45,7 +45,7 @@ enum {
#pragma pack(1)
/**
/*
* Check if Mezz card
*/
#define bfa_mfg_is_mezz(type) (( \
......@@ -55,7 +55,7 @@ enum {
(type) == BFA_MFG_TYPE_LIGHTNING_P0 || \
(type) == BFA_MFG_TYPE_LIGHTNING))
/**
/*
* Check if the card having old wwn/mac handling
*/
#define bfa_mfg_is_old_wwn_mac_model(type) (( \
......@@ -78,12 +78,12 @@ do { \
(m)[2] = t & 0xFF; \
} while (0)
/**
/*
* VPD data length
*/
#define BFA_MFG_VPD_LEN 512
/**
/*
* VPD vendor tag
*/
enum {
......@@ -97,7 +97,7 @@ enum {
BFA_MFG_VPD_PCI_BRCD = 0xf8, /* PCI VPD Brocade */
};
/**
/*
* All numerical fields are in big-endian format.
*/
struct bfa_mfg_vpd_s {
......@@ -112,7 +112,7 @@ struct bfa_mfg_vpd_s {
#pragma pack()
/**
/*
* Status return values
*/
enum bfa_status {
......@@ -167,11 +167,11 @@ enum bfa_boolean {
#define BFA_STRING_32 32
#define BFA_VERSION_LEN 64
/**
/*
* ---------------------- adapter definitions ------------
*/
/**
/*
* BFA adapter level attributes.
*/
enum {
......@@ -215,7 +215,7 @@ struct bfa_adapter_attr_s {
u8 trunk_capable;
};
/**
/*
* ---------------------- IOC definitions ------------
*/
......@@ -224,7 +224,7 @@ enum {
BFA_IOC_CHIP_REV_LEN = 8,
};
/**
/*
* Driver and firmware versions.
*/
struct bfa_ioc_driver_attr_s {
......@@ -236,7 +236,7 @@ struct bfa_ioc_driver_attr_s {
char ob_ver[BFA_VERSION_LEN]; /* openboot version */
};
/**
/*
* IOC PCI device attributes
*/
struct bfa_ioc_pci_attr_s {
......@@ -249,7 +249,7 @@ struct bfa_ioc_pci_attr_s {
char chip_rev[BFA_IOC_CHIP_REV_LEN]; /* chip revision */
};
/**
/*
* IOC states
*/
enum bfa_ioc_state {
......@@ -267,7 +267,7 @@ enum bfa_ioc_state {
BFA_IOC_ENABLING = 12, /* IOC is being enabled */
};
/**
/*
* IOC firmware stats
*/
struct bfa_fw_ioc_stats_s {
......@@ -279,7 +279,7 @@ struct bfa_fw_ioc_stats_s {
u32 unknown_reqs;
};
/**
/*
* IOC driver stats
*/
struct bfa_ioc_drv_stats_s {
......@@ -296,7 +296,7 @@ struct bfa_ioc_drv_stats_s {
u32 enable_replies;
};
/**
/*
* IOC statistics
*/
struct bfa_ioc_stats_s {
......@@ -310,7 +310,7 @@ enum bfa_ioc_type_e {
BFA_IOC_TYPE_LL = 3,
};
/**
/*
* IOC attributes returned in queries
*/
struct bfa_ioc_attr_s {
......@@ -323,11 +323,11 @@ struct bfa_ioc_attr_s {
u8 rsvd[7]; /* 64bit align */
};
/**
/*
* ---------------------- mfg definitions ------------
*/
/**
/*
* Checksum size
*/
#define BFA_MFG_CHKSUM_SIZE 16
......@@ -340,7 +340,7 @@ struct bfa_ioc_attr_s {
#pragma pack(1)
/**
/*
* All numerical fields are in big-endian format.
*/
struct bfa_mfg_block_s {
......@@ -373,11 +373,11 @@ struct bfa_mfg_block_s {
#pragma pack()
/**
/*
* ---------------------- pci definitions ------------
*/
/**
/*
* PCI device and vendor ID information
*/
enum {
......@@ -392,14 +392,14 @@ enum {
((devid) == BFA_PCI_DEVICE_ID_CT || \
(devid) == BFA_PCI_DEVICE_ID_CT_FC)
/**
/*
* PCI sub-system device and vendor ID information
*/
enum {
BFA_PCI_FCOE_SSDEVICE_ID = 0x14,
};
/**
/*
* Maximum number of device address ranges mapped through different BAR(s)
*/
#define BFA_PCI_ACCESS_RANGES 1
......@@ -430,7 +430,7 @@ enum {
#define BOOT_CFG_REV1 1
#define BOOT_CFG_VLAN 1
/**
/*
* Boot options setting. Boot options setting determines from where
* to get the boot lun information
*/
......@@ -442,7 +442,7 @@ enum bfa_boot_bootopt {
};
#pragma pack(1)
/**
/*
* Boot lun information.
*/
struct bfa_boot_bootlun_s {
......@@ -451,7 +451,7 @@ struct bfa_boot_bootlun_s {
};
#pragma pack()
/**
/*
* BOOT boot configuraton
*/
struct bfa_boot_pbc_s {
......
......@@ -21,7 +21,7 @@
#include "bfa_fc.h"
#include "bfa_defs_svc.h"
/**
/*
* VF states
*/
enum bfa_vf_state {
......@@ -35,7 +35,7 @@ enum bfa_vf_state {
BFA_VF_ISOLATED = 7, /* port isolated due to vf_id mismatch */
};
/**
/*
* VF statistics
*/
struct bfa_vf_stats_s {
......@@ -55,7 +55,7 @@ struct bfa_vf_stats_s {
u32 resvd; /* padding for 64 bit alignment */
};
/**
/*
* VF attributes returned in queries
*/
struct bfa_vf_attr_s {
......@@ -67,7 +67,7 @@ struct bfa_vf_attr_s {
#define BFA_FCS_MAX_LPORTS 256
#define BFA_FCS_FABRIC_IPADDR_SZ 16
/**
/*
* symbolic names for base port/virtual port
*/
#define BFA_SYMNAME_MAXLEN 128 /* 128 bytes */
......@@ -75,7 +75,7 @@ struct bfa_lport_symname_s {
char symname[BFA_SYMNAME_MAXLEN];
};
/**
/*
* Roles of FCS port:
* - FCP IM and FCP TM roles cannot be enabled together for a FCS port
* - Create multiple ports if both IM and TM functions required.
......@@ -86,19 +86,19 @@ enum bfa_lport_role {
BFA_LPORT_ROLE_FCP_MAX = BFA_LPORT_ROLE_FCP_IM,
};
/**
/*
* FCS port configuration.
*/
struct bfa_lport_cfg_s {
wwn_t pwwn; /* port wwn */
wwn_t nwwn; /* node wwn */
struct bfa_lport_symname_s sym_name; /* vm port symbolic name */
bfa_boolean_t preboot_vp; /* vport created from PBC */
bfa_boolean_t preboot_vp; /* vport created from PBC */
enum bfa_lport_role roles; /* FCS port roles */
u8 tag[16]; /* opaque tag from application */
};
/**
/*
* FCS port states
*/
enum bfa_lport_state {
......@@ -108,7 +108,7 @@ enum bfa_lport_state {
BFA_LPORT_OFFLINE = 3, /* No login to fabric */
};
/**
/*
* FCS port type.
*/
enum bfa_lport_type {
......@@ -116,7 +116,7 @@ enum bfa_lport_type {
BFA_LPORT_TYPE_VIRTUAL,
};
/**
/*
* FCS port offline reason.
*/
enum bfa_lport_offline_reason {
......@@ -128,7 +128,7 @@ enum bfa_lport_offline_reason {
BFA_LPORT_OFFLINE_FAB_LOGOUT,
};
/**
/*
* FCS lport info.
*/
struct bfa_lport_info_s {
......@@ -150,7 +150,7 @@ struct bfa_lport_info_s {
};
/**
/*
* FCS port statistics
*/
struct bfa_lport_stats_s {
......@@ -222,7 +222,7 @@ struct bfa_lport_stats_s {
* (max retry of plogi) */
};
/**
/*
* BFA port attribute returned in queries
*/
struct bfa_lport_attr_s {
......@@ -239,7 +239,7 @@ struct bfa_lport_attr_s {
};
/**
/*
* VPORT states
*/
enum bfa_vport_state {
......@@ -258,7 +258,7 @@ enum bfa_vport_state {
BFA_FCS_VPORT_MAX_STATE,
};
/**
/*
* vport statistics
*/
struct bfa_vport_stats_s {
......@@ -296,7 +296,7 @@ struct bfa_vport_stats_s {
u32 rsvd;
};
/**
/*
* BFA vport attribute returned in queries
*/
struct bfa_vport_attr_s {
......@@ -305,7 +305,7 @@ struct bfa_vport_attr_s {
u32 rsvd;
};
/**
/*
* FCS remote port states
*/
enum bfa_rport_state {
......@@ -321,7 +321,7 @@ enum bfa_rport_state {
BFA_RPORT_NSDISC = 9, /* re-discover rport */
};
/**
/*
* Rport Scsi Function : Initiator/Target.
*/
enum bfa_rport_function {
......@@ -329,7 +329,7 @@ enum bfa_rport_function {
BFA_RPORT_TARGET = 0x02, /* SCSI Target */
};
/**
/*
* port/node symbolic names for rport
*/
#define BFA_RPORT_SYMNAME_MAXLEN 255
......@@ -337,7 +337,7 @@ struct bfa_rport_symname_s {
char symname[BFA_RPORT_SYMNAME_MAXLEN];
};
/**
/*
* FCS remote port statistics
*/
struct bfa_rport_stats_s {
......@@ -374,7 +374,7 @@ struct bfa_rport_stats_s {
struct bfa_rport_hal_stats_s hal_stats; /* BFA rport stats */
};
/**
/*
* FCS remote port attributes returned in queries
*/
struct bfa_rport_attr_s {
......@@ -411,7 +411,7 @@ struct bfa_rport_remote_link_stats_s {
#define BFA_MAX_IO_INDEX 7
#define BFA_NO_IO_INDEX 9
/**
/*
* FCS itnim states
*/
enum bfa_itnim_state {
......@@ -425,7 +425,7 @@ enum bfa_itnim_state {
BFA_ITNIM_INITIATIOR = 7, /* initiator */
};
/**
/*
* FCS remote port statistics
*/
struct bfa_itnim_stats_s {
......@@ -443,7 +443,7 @@ struct bfa_itnim_stats_s {
u32 rsvd; /* padding for 64 bit alignment */
};
/**
/*
* FCS itnim attributes returned in queries
*/
struct bfa_itnim_attr_s {
......
......@@ -27,7 +27,7 @@
#define BFA_IOCFCOE_INTR_DELAY 25
#define BFA_IOCFCOE_INTR_LATENCY 5
/**
/*
* Interrupt coalescing configuration.
*/
#pragma pack(1)
......@@ -38,7 +38,7 @@ struct bfa_iocfc_intr_attr_s {
u16 delay; /* delay in microseconds */
};
/**
/*
* IOC firmware configuraton
*/
struct bfa_iocfc_fwcfg_s {
......@@ -71,7 +71,7 @@ struct bfa_iocfc_drvcfg_s {
u32 rsvd;
};
/**
/*
* IOC configuration
*/
struct bfa_iocfc_cfg_s {
......@@ -79,7 +79,7 @@ struct bfa_iocfc_cfg_s {
struct bfa_iocfc_drvcfg_s drvcfg; /* driver side config */
};
/**
/*
* IOC firmware IO stats
*/
struct bfa_fw_io_stats_s {
......@@ -152,7 +152,7 @@ struct bfa_fw_io_stats_s {
*/
};
/**
/*
* IOC port firmware stats
*/
......@@ -262,7 +262,7 @@ struct bfa_fw_fcoe_stats_s {
u32 mac_invalids; /* Invalid mac assigned */
};
/**
/*
* IOC firmware FCoE port stats
*/
struct bfa_fw_fcoe_port_stats_s {
......@@ -270,7 +270,7 @@ struct bfa_fw_fcoe_port_stats_s {
struct bfa_fw_fip_stats_s fip_stats;
};
/**
/*
* IOC firmware FC uport stats
*/
struct bfa_fw_fc_uport_stats_s {
......@@ -278,7 +278,7 @@ struct bfa_fw_fc_uport_stats_s {
struct bfa_fw_port_lksm_stats_s lksm_stats;
};
/**
/*
* IOC firmware FC port stats
*/
union bfa_fw_fc_port_stats_s {
......@@ -286,7 +286,7 @@ union bfa_fw_fc_port_stats_s {
struct bfa_fw_fcoe_port_stats_s fcoe_stats;
};
/**
/*
* IOC firmware port stats
*/
struct bfa_fw_port_stats_s {
......@@ -295,7 +295,7 @@ struct bfa_fw_port_stats_s {
union bfa_fw_fc_port_stats_s fc_port;
};
/**
/*
* fcxchg module statistics
*/
struct bfa_fw_fcxchg_stats_s {
......@@ -308,7 +308,7 @@ struct bfa_fw_lpsm_stats_s {
u32 cls_tx;
};
/**
/*
* Trunk statistics
*/
struct bfa_fw_trunk_stats_s {
......@@ -334,7 +334,7 @@ struct bfa_fw_advsm_stats_s {
u32 elp_dropped; /* ELP dropped */
};
/**
/*
* IOCFC firmware stats
*/
struct bfa_fw_iocfc_stats_s {
......@@ -345,7 +345,7 @@ struct bfa_fw_iocfc_stats_s {
u32 set_intr_reqs; /* set interrupt reqs */
};
/**
/*
* IOC attributes returned in queries
*/
struct bfa_iocfc_attr_s {
......@@ -353,7 +353,7 @@ struct bfa_iocfc_attr_s {
struct bfa_iocfc_intr_attr_s intr_attr; /* interrupt attr */
};
/**
/*
* Eth_sndrcv mod stats
*/
struct bfa_fw_eth_sndrcv_stats_s {
......@@ -361,7 +361,7 @@ struct bfa_fw_eth_sndrcv_stats_s {
u32 rsvd; /* 64bit align */
};
/**
/*
* CT MAC mod stats
*/
struct bfa_fw_mac_mod_stats_s {
......@@ -379,7 +379,7 @@ struct bfa_fw_mac_mod_stats_s {
u32 rsvd; /* 64bit align */
};
/**
/*
* CT MOD stats
*/
struct bfa_fw_ct_mod_stats_s {
......@@ -391,7 +391,7 @@ struct bfa_fw_ct_mod_stats_s {
u32 rsvd; /* 64bit align */
};
/**
/*
* IOC firmware stats
*/
struct bfa_fw_stats_s {
......@@ -412,7 +412,7 @@ struct bfa_fw_stats_s {
#define BFA_IOCFC_PATHTOV_MAX 60
#define BFA_IOCFC_QDEPTH_MAX 2000
/**
/*
* QoS states
*/
enum bfa_qos_state {
......@@ -420,7 +420,7 @@ enum bfa_qos_state {
BFA_QOS_OFFLINE = 2, /* QoS is offline */
};
/**
/*
* QoS Priority levels.
*/
enum bfa_qos_priority {
......@@ -430,7 +430,7 @@ enum bfa_qos_priority {
BFA_QOS_LOW = 3, /* QoS Priority Level Low */
};
/**
/*
* QoS bandwidth allocation for each priority level
*/
enum bfa_qos_bw_alloc {
......@@ -439,7 +439,7 @@ enum bfa_qos_bw_alloc {
BFA_QOS_BW_LOW = 10, /* bandwidth allocation for Low */
};
#pragma pack(1)
/**
/*
* QoS attribute returned in QoS Query
*/
struct bfa_qos_attr_s {
......@@ -448,7 +448,7 @@ struct bfa_qos_attr_s {
u32 total_bb_cr; /* Total BB Credits */
};
/**
/*
* These fields should be displayed only from the CLI.
* There will be a separate BFAL API (get_qos_vc_attr ?)
* to retrieve this.
......@@ -471,7 +471,7 @@ struct bfa_qos_vc_attr_s {
* total_vc_count */
};
/**
/*
* QoS statistics
*/
struct bfa_qos_stats_s {
......@@ -489,7 +489,7 @@ struct bfa_qos_stats_s {
u32 rsvd; /* padding for 64 bit alignment */
};
/**
/*
* FCoE statistics
*/
struct bfa_fcoe_stats_s {
......@@ -540,7 +540,7 @@ struct bfa_fcoe_stats_s {
u64 rxf_bcast_vlan; /* Rx FCoE broadcast vlan frames */
};
/**
/*
* QoS or FCoE stats (fcport stats excluding physical FC port stats)
*/
union bfa_fcport_stats_u {
......@@ -639,7 +639,7 @@ enum bfa_port_states {
BFA_PORT_ST_MAX_STATE,
};
/**
/*
* Port operational type (in sync with SNIA port type).
*/
enum bfa_port_type {
......@@ -651,7 +651,7 @@ enum bfa_port_type {
BFA_PORT_TYPE_VPORT = 22, /* NPIV - virtual port */
};
/**
/*
* Port topology setting. A port's topology and fabric login status
* determine its operational type.
*/
......@@ -662,7 +662,7 @@ enum bfa_port_topology {
BFA_PORT_TOPOLOGY_AUTO = 3, /* auto topology selection */
};
/**
/*
* Physical port loopback types.
*/
enum bfa_port_opmode {
......@@ -679,7 +679,7 @@ enum bfa_port_opmode {
(_mode == BFA_PORT_OPMODE_LB_SLW) || \
(_mode == BFA_PORT_OPMODE_LB_EXT))
/**
/*
* Port link state
*/
enum bfa_port_linkstate {
......@@ -687,7 +687,7 @@ enum bfa_port_linkstate {
BFA_PORT_LINKDOWN = 2, /* Physical port/Trunk link down */
};
/**
/*
* Port link state reason code
*/
enum bfa_port_linkstate_rsn {
......@@ -733,7 +733,7 @@ enum bfa_port_linkstate_rsn {
CEE_ISCSI_PRI_OVERLAP_FCOE_PRI = 43
};
#pragma pack(1)
/**
/*
* Physical port configuration
*/
struct bfa_port_cfg_s {
......@@ -753,7 +753,7 @@ struct bfa_port_cfg_s {
};
#pragma pack()
/**
/*
* Port attribute values.
*/
struct bfa_port_attr_s {
......@@ -800,7 +800,7 @@ struct bfa_port_attr_s {
u8 rsvd1[6];
};
/**
/*
* Port FCP mappings.
*/
struct bfa_port_fcpmap_s {
......@@ -815,7 +815,7 @@ struct bfa_port_fcpmap_s {
char luid[256];
};
/**
/*
* Port RNID info.
*/
struct bfa_port_rnid_s {
......@@ -848,7 +848,7 @@ struct bfa_fcport_fcf_s {
mac_t mac; /* FCF mac */
};
/**
/*
* Trunk states for BCU/BFAL
*/
enum bfa_trunk_state {
......@@ -857,7 +857,7 @@ enum bfa_trunk_state {
BFA_TRUNK_OFFLINE = 2, /* Trunk is offline */
};
/**
/*
* VC attributes for trunked link
*/
struct bfa_trunk_vc_attr_s {
......@@ -867,7 +867,7 @@ struct bfa_trunk_vc_attr_s {
u16 vc_credits[8];
};
/**
/*
* Link state information
*/
struct bfa_port_link_s {
......@@ -959,7 +959,7 @@ struct bfa_rport_hal_stats_s {
u32 rsvd;
};
#pragma pack(1)
/**
/*
* Rport's QoS attributes
*/
struct bfa_rport_qos_attr_s {
......@@ -987,7 +987,7 @@ struct bfa_itnim_ioprofile_s {
struct bfa_itnim_latency_s io_latency;
};
/**
/*
* FC physical port statistics.
*/
struct bfa_port_fc_stats_s {
......@@ -1022,7 +1022,7 @@ struct bfa_port_fc_stats_s {
u64 err_enc; /* Encoding err frame_8b10b */
};
/**
/*
* Eth Physical Port statistics.
*/
struct bfa_port_eth_stats_s {
......@@ -1070,7 +1070,7 @@ struct bfa_port_eth_stats_s {
u64 tx_iscsi_zero_pause; /* Tx iSCSI zero pause */
};
/**
/*
* Port statistics.
*/
union bfa_port_stats_u {
......
......@@ -17,7 +17,7 @@
#include "bfa_modules.h"
/**
/*
* BFA module list terminated by NULL
*/
struct bfa_module_s *hal_mods[] = {
......@@ -31,7 +31,7 @@ struct bfa_module_s *hal_mods[] = {
NULL
};
/**
/*
* Message handlers for various modules.
*/
bfa_isr_func_t bfa_isrs[BFI_MC_MAX] = {
......@@ -70,7 +70,7 @@ bfa_isr_func_t bfa_isrs[BFI_MC_MAX] = {
};
/**
/*
* Message handlers for mailbox command classes
*/
bfa_ioc_mbox_mcfunc_t bfa_mbox_isrs[BFI_MC_MAX] = {
......
......@@ -1029,7 +1029,7 @@ struct link_e2e_beacon_req_s {
struct link_e2e_beacon_param_s beacon_parm;
};
/**
/*
* If RPSC request is sent to the Domain Controller, the request is for
* all the ports within that domain (TODO - I don't think FOS implements
* this...).
......@@ -1049,7 +1049,7 @@ struct fc_rpsc_acc_s {
struct fc_rpsc_speed_info_s speed_info[1];
};
/**
/*
* If RPSC2 request is sent to the Domain Controller,
*/
#define FC_BRCD_TOKEN 0x42524344
......@@ -1094,7 +1094,7 @@ struct fc_rpsc2_acc_s {
struct fc_rpsc2_port_info_s port_info[1]; /* port information */
};
/**
/*
* bit fields so that multiple classes can be specified
*/
enum fc_cos {
......@@ -1131,7 +1131,7 @@ struct fc_alpabm_s {
#define FC_VF_ID_MAX 0xEFF
#define FC_VF_ID_CTL 0xFEF /* control VF_ID */
/**
/*
* Virtual Fabric Tagging header format
* @caution This is defined only in BIG ENDIAN format.
*/
......@@ -1463,7 +1463,7 @@ struct fcgs_gidpn_resp_s {
u32 dap:24; /* port identifier */
};
/**
/*
* RFT_ID
*/
struct fcgs_rftid_req_s {
......@@ -1472,7 +1472,7 @@ struct fcgs_rftid_req_s {
u32 fc4_type[8]; /* fc4 types */
};
/**
/*
* RFF_ID : Register FC4 features.
*/
......@@ -1487,7 +1487,7 @@ struct fcgs_rffid_req_s {
u32 fc4_type:8; /* corresponding FC4 Type */
};
/**
/*
* GID_FT Request
*/
struct fcgs_gidft_req_s {
......@@ -1497,7 +1497,7 @@ struct fcgs_gidft_req_s {
u8 fc4_type; /* FC_TYPE_FCP for SCSI devices */
}; /* GID_FT Request */
/**
/*
* GID_FT Response
*/
struct fcgs_gidft_resp_s {
......@@ -1506,7 +1506,7 @@ struct fcgs_gidft_resp_s {
u32 pid:24; /* port identifier */
}; /* GID_FT Response */
/**
/*
* RSPN_ID
*/
struct fcgs_rspnid_req_s {
......@@ -1516,7 +1516,7 @@ struct fcgs_rspnid_req_s {
u8 spn[256]; /* symbolic port name */
};
/**
/*
* RPN_ID
*/
struct fcgs_rpnid_req_s {
......@@ -1525,7 +1525,7 @@ struct fcgs_rpnid_req_s {
wwn_t port_name;
};
/**
/*
* RNN_ID
*/
struct fcgs_rnnid_req_s {
......@@ -1534,7 +1534,7 @@ struct fcgs_rnnid_req_s {
wwn_t node_name;
};
/**
/*
* RCS_ID
*/
struct fcgs_rcsid_req_s {
......@@ -1543,7 +1543,7 @@ struct fcgs_rcsid_req_s {
u32 cos;
};
/**
/*
* RPT_ID
*/
struct fcgs_rptid_req_s {
......@@ -1553,7 +1553,7 @@ struct fcgs_rptid_req_s {
u32 rsvd1:24;
};
/**
/*
* GA_NXT Request
*/
struct fcgs_ganxt_req_s {
......@@ -1561,7 +1561,7 @@ struct fcgs_ganxt_req_s {
u32 port_id:24;
};
/**
/*
* GA_NXT Response
*/
struct fcgs_ganxt_rsp_s {
......
This diff is collapsed.
This diff is collapsed.
......@@ -104,7 +104,7 @@ struct bfa_fcpim_mod_s {
bfa_fcpim_profile_t profile_start;
};
/**
/*
* BFA IO (initiator mode)
*/
struct bfa_ioim_s {
......@@ -137,7 +137,7 @@ struct bfa_ioim_sp_s {
struct bfa_tskim_s *tskim; /* Relevant TM cmd */
};
/**
/*
* BFA Task management command (initiator mode)
*/
struct bfa_tskim_s {
......@@ -160,7 +160,7 @@ struct bfa_tskim_s {
};
/**
/*
* BFA i-t-n (initiator mode)
*/
struct bfa_itnim_s {
......@@ -303,7 +303,7 @@ bfa_status_t bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim,
struct bfa_itnim_ioprofile_s *ioprofile);
#define bfa_itnim_get_reqq(__ioim) (((struct bfa_ioim_s *)__ioim)->itnim->reqq)
/**
/*
* BFA completion callback for bfa_itnim_online().
*
* @param[in] itnim FCS or driver itnim instance
......@@ -312,7 +312,7 @@ bfa_status_t bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim,
*/
void bfa_cb_itnim_online(void *itnim);
/**
/*
* BFA completion callback for bfa_itnim_offline().
*
* @param[in] itnim FCS or driver itnim instance
......@@ -323,7 +323,7 @@ void bfa_cb_itnim_offline(void *itnim);
void bfa_cb_itnim_tov_begin(void *itnim);
void bfa_cb_itnim_tov(void *itnim);
/**
/*
* BFA notification to FCS/driver for second level error recovery.
*
* Atleast one I/O request has timedout and target is unresponsive to
......@@ -351,7 +351,7 @@ void bfa_ioim_delayed_comp(struct bfa_ioim_s *ioim,
bfa_boolean_t iotov);
/**
/*
* I/O completion notification.
*
* @param[in] dio driver IO structure
......@@ -368,7 +368,7 @@ void bfa_cb_ioim_done(void *bfad, struct bfad_ioim_s *dio,
u8 scsi_status, int sns_len,
u8 *sns_info, s32 residue);
/**
/*
* I/O good completion notification.
*
* @param[in] dio driver IO structure
......@@ -377,7 +377,7 @@ void bfa_cb_ioim_done(void *bfad, struct bfad_ioim_s *dio,
*/
void bfa_cb_ioim_good_comp(void *bfad, struct bfad_ioim_s *dio);
/**
/*
* I/O abort completion notification
*
* @param[in] dio driver IO that was aborted
......
This diff is collapsed.
......@@ -196,7 +196,7 @@ struct bfa_fcs_fabric_s {
#define bfa_fcs_fabric_is_switched(__f) \
((__f)->fab_type == BFA_FCS_FABRIC_SWITCHED)
/**
/*
* The design calls for a single implementation of base fabric and vf.
*/
#define bfa_fcs_vf_t struct bfa_fcs_fabric_s
......@@ -216,7 +216,7 @@ struct bfa_fcs_fabric_s;
#define bfa_fcs_lport_t struct bfa_fcs_lport_s
/**
/*
* Symbolic Name related defines
* Total bytes 255.
* Physical Port's symbolic name 128 bytes.
......@@ -239,7 +239,7 @@ struct bfa_fcs_fabric_s;
#define BFA_FCS_PORT_SYMBNAME_OSINFO_SZ 48
#define BFA_FCS_PORT_SYMBNAME_OSPATCH_SZ 16
/**
/*
* Get FC port ID for a logical port.
*/
#define bfa_fcs_lport_get_fcid(_lport) ((_lport)->pid)
......@@ -262,7 +262,7 @@ bfa_fcs_lport_get_drvport(struct bfa_fcs_lport_s *port)
#define bfa_fcs_lport_get_fabric_ipaddr(_lport) \
((_lport)->fabric->fabric_ip_addr)
/**
/*
* bfa fcs port public functions
*/
......@@ -342,7 +342,7 @@ struct bfa_fcs_vport_s {
#define bfa_fcs_vport_get_port(vport) \
((struct bfa_fcs_lport_s *)(&vport->port))
/**
/*
* bfa fcs vport public functions
*/
bfa_status_t bfa_fcs_vport_create(struct bfa_fcs_vport_s *vport,
......@@ -393,7 +393,7 @@ struct bfa_fcs_rpf_s {
enum bfa_port_speed rpsc_speed;
/* Current Speed from RPSC. O if RPSC fails */
enum bfa_port_speed assigned_speed;
/**
/*
* Speed assigned by the user. will be used if RPSC is
* not supported by the rport.
*/
......@@ -434,7 +434,7 @@ bfa_fcs_rport_get_halrport(struct bfa_fcs_rport_s *rport)
return rport->bfa_rport;
}
/**
/*
* bfa fcs rport API functions
*/
bfa_status_t bfa_fcs_rport_add(struct bfa_fcs_lport_s *port, wwn_t *pwwn,
......@@ -573,7 +573,7 @@ bfa_fcs_itnim_get_halitn(struct bfa_fcs_itnim_s *itnim)
return itnim->bfa_itnim;
}
/**
/*
* bfa fcs FCP Initiator mode API functions
*/
void bfa_fcs_itnim_get_attr(struct bfa_fcs_itnim_s *itnim,
......@@ -677,22 +677,9 @@ void bfa_fcs_exit(struct bfa_fcs_s *fcs);
void bfa_fcs_trc_init(struct bfa_fcs_s *fcs, struct bfa_trc_mod_s *trcmod);
void bfa_fcs_start(struct bfa_fcs_s *fcs);
/**
/*
* bfa fcs vf public functions
*/
bfa_status_t bfa_fcs_vf_mode_enable(struct bfa_fcs_s *fcs, u16 vf_id);
bfa_status_t bfa_fcs_vf_mode_disable(struct bfa_fcs_s *fcs);
bfa_status_t bfa_fcs_vf_create(bfa_fcs_vf_t *vf, struct bfa_fcs_s *fcs,
u16 vf_id, struct bfa_lport_cfg_s *port_cfg,
struct bfad_vf_s *vf_drv);
bfa_status_t bfa_fcs_vf_delete(bfa_fcs_vf_t *vf);
void bfa_fcs_vf_list(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs);
void bfa_fcs_vf_list_all(struct bfa_fcs_s *fcs, u16 *vf_ids, int *nvfs);
void bfa_fcs_vf_get_attr(bfa_fcs_vf_t *vf, struct bfa_vf_attr_s *vf_attr);
void bfa_fcs_vf_get_stats(bfa_fcs_vf_t *vf,
struct bfa_vf_stats_s *vf_stats);
void bfa_fcs_vf_clear_stats(bfa_fcs_vf_t *vf);
void bfa_fcs_vf_get_ports(bfa_fcs_vf_t *vf, wwn_t vpwwn[], int *nports);
bfa_fcs_vf_t *bfa_fcs_vf_lookup(struct bfa_fcs_s *fcs, u16 vf_id);
u16 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric);
......@@ -729,11 +716,11 @@ u16 bfa_fcs_fabric_get_switch_oui(struct bfa_fcs_fabric_s *fabric);
void bfa_fcs_uf_attach(struct bfa_fcs_s *fcs);
void bfa_fcs_port_attach(struct bfa_fcs_s *fcs);
/**
/*
* BFA FCS callback interfaces
*/
/**
/*
* fcb Main fcs callbacks
*/
......@@ -742,7 +729,7 @@ struct bfad_vf_s;
struct bfad_vport_s;
struct bfad_rport_s;
/**
/*
* lport callbacks
*/
struct bfad_port_s *bfa_fcb_lport_new(struct bfad_s *bfad,
......@@ -754,19 +741,19 @@ void bfa_fcb_lport_delete(struct bfad_s *bfad, enum bfa_lport_role roles,
struct bfad_vf_s *vf_drv,
struct bfad_vport_s *vp_drv);
/**
/*
* vport callbacks
*/
void bfa_fcb_pbc_vport_create(struct bfad_s *bfad, struct bfi_pbc_vport_s);
/**
/*
* rport callbacks
*/
bfa_status_t bfa_fcb_rport_alloc(struct bfad_s *bfad,
struct bfa_fcs_rport_s **rport,
struct bfad_rport_s **rport_drv);
/**
/*
* itnim callbacks
*/
void bfa_fcb_itnim_alloc(struct bfad_s *bfad, struct bfa_fcs_itnim_s **itnim,
......
......@@ -15,7 +15,7 @@
* General Public License for more details.
*/
/**
/*
* fcpim.c - FCP initiator mode i-t nexus state machine
*/
......@@ -38,7 +38,7 @@ static void bfa_fcs_itnim_prli_response(void *fcsarg,
bfa_status_t req_status, u32 rsp_len,
u32 resid_len, struct fchs_s *rsp_fchs);
/**
/*
* fcs_itnim_sm FCS itnim state machine events
*/
......@@ -84,7 +84,7 @@ static struct bfa_sm_table_s itnim_sm_table[] = {
{BFA_SM(bfa_fcs_itnim_sm_initiator), BFA_ITNIM_INITIATIOR},
};
/**
/*
* fcs_itnim_sm FCS itnim state machine
*/
......@@ -494,11 +494,11 @@ bfa_fcs_itnim_free(struct bfa_fcs_itnim_s *itnim)
/**
/*
* itnim_public FCS ITNIM public interfaces
*/
/**
/*
* Called by rport when a new rport is created.
*
* @param[in] rport - remote port.
......@@ -554,7 +554,7 @@ bfa_fcs_itnim_create(struct bfa_fcs_rport_s *rport)
return itnim;
}
/**
/*
* Called by rport to delete the instance of FCPIM.
*
* @param[in] rport - remote port.
......@@ -566,7 +566,7 @@ bfa_fcs_itnim_delete(struct bfa_fcs_itnim_s *itnim)
bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_DELETE);
}
/**
/*
* Notification from rport that PLOGI is complete to initiate FC-4 session.
*/
void
......@@ -586,7 +586,7 @@ bfa_fcs_itnim_rport_online(struct bfa_fcs_itnim_s *itnim)
}
}
/**
/*
* Called by rport to handle a remote device offline.
*/
void
......@@ -596,7 +596,7 @@ bfa_fcs_itnim_rport_offline(struct bfa_fcs_itnim_s *itnim)
bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_OFFLINE);
}
/**
/*
* Called by rport when remote port is known to be an initiator from
* PRLI received.
*/
......@@ -608,7 +608,7 @@ bfa_fcs_itnim_is_initiator(struct bfa_fcs_itnim_s *itnim)
bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_INITIATOR);
}
/**
/*
* Called by rport to check if the itnim is online.
*/
bfa_status_t
......@@ -625,7 +625,7 @@ bfa_fcs_itnim_get_online_state(struct bfa_fcs_itnim_s *itnim)
}
}
/**
/*
* BFA completion callback for bfa_itnim_online().
*/
void
......@@ -637,7 +637,7 @@ bfa_cb_itnim_online(void *cbarg)
bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_HCB_ONLINE);
}
/**
/*
* BFA completion callback for bfa_itnim_offline().
*/
void
......@@ -649,7 +649,7 @@ bfa_cb_itnim_offline(void *cb_arg)
bfa_sm_send_event(itnim, BFA_FCS_ITNIM_SM_HCB_OFFLINE);
}
/**
/*
* Mark the beginning of PATH TOV handling. IO completion callbacks
* are still pending.
*/
......@@ -661,7 +661,7 @@ bfa_cb_itnim_tov_begin(void *cb_arg)
bfa_trc(itnim->fcs, itnim->rport->pwwn);
}
/**
/*
* Mark the end of PATH TOV handling. All pending IOs are already cleaned up.
*/
void
......@@ -674,7 +674,7 @@ bfa_cb_itnim_tov(void *cb_arg)
itnim_drv->state = ITNIM_STATE_TIMEOUT;
}
/**
/*
* BFA notification to FCS/driver for second level error recovery.
*
* Atleast one I/O request has timedout and target is unresponsive to
......@@ -736,7 +736,7 @@ bfa_fcs_itnim_stats_get(struct bfa_fcs_lport_s *port, wwn_t rpwwn,
if (itnim == NULL)
return BFA_STATUS_NO_FCPIM_NEXUS;
bfa_os_memcpy(stats, &itnim->stats, sizeof(struct bfa_itnim_stats_s));
memcpy(stats, &itnim->stats, sizeof(struct bfa_itnim_stats_s));
return BFA_STATUS_OK;
}
......@@ -753,7 +753,7 @@ bfa_fcs_itnim_stats_clear(struct bfa_fcs_lport_s *port, wwn_t rpwwn)
if (itnim == NULL)
return BFA_STATUS_NO_FCPIM_NEXUS;
bfa_os_memset(&itnim->stats, 0, sizeof(struct bfa_itnim_stats_s));
memset(&itnim->stats, 0, sizeof(struct bfa_itnim_stats_s));
return BFA_STATUS_OK;
}
......
This diff is collapsed.
This diff is collapsed.
......@@ -22,7 +22,7 @@ void
bfa_hwcb_reginit(struct bfa_s *bfa)
{
struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs;
bfa_os_addr_t kva = bfa_ioc_bar0(&bfa->ioc);
void __iomem *kva = bfa_ioc_bar0(&bfa->ioc);
int i, q, fn = bfa_ioc_pcifn(&bfa->ioc);
if (fn == 0) {
......@@ -60,8 +60,8 @@ bfa_hwcb_reqq_ack(struct bfa_s *bfa, int reqq)
static void
bfa_hwcb_reqq_ack_msix(struct bfa_s *bfa, int reqq)
{
bfa_reg_write(bfa->iocfc.bfa_regs.intr_status,
__HFN_INT_CPE_Q0 << CPE_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), reqq));
writel(__HFN_INT_CPE_Q0 << CPE_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), reqq),
bfa->iocfc.bfa_regs.intr_status);
}
void
......@@ -72,8 +72,8 @@ bfa_hwcb_rspq_ack(struct bfa_s *bfa, int rspq)
static void
bfa_hwcb_rspq_ack_msix(struct bfa_s *bfa, int rspq)
{
bfa_reg_write(bfa->iocfc.bfa_regs.intr_status,
__HFN_INT_RME_Q0 << RME_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), rspq));
writel(__HFN_INT_RME_Q0 << RME_Q_NUM(bfa_ioc_pcifn(&bfa->ioc), rspq),
bfa->iocfc.bfa_regs.intr_status);
}
void
......@@ -102,7 +102,7 @@ bfa_hwcb_msix_getvecs(struct bfa_s *bfa, u32 *msix_vecs_bmap,
*num_vecs = __HFN_NUMINTS;
}
/**
/*
* No special setup required for crossbow -- vector assignments are implicit.
*/
void
......@@ -129,7 +129,7 @@ bfa_hwcb_msix_init(struct bfa_s *bfa, int nvecs)
bfa->msix.handler[i] = bfa_msix_lpu_err;
}
/**
/*
* Crossbow -- dummy, interrupts are masked
*/
void
......@@ -142,7 +142,7 @@ bfa_hwcb_msix_uninstall(struct bfa_s *bfa)
{
}
/**
/*
* No special enable/disable -- vector assignments are implicit.
*/
void
......
......@@ -31,15 +31,15 @@ static void
bfa_hwct_msix_lpu_err_set(struct bfa_s *bfa, bfa_boolean_t msix, int vec)
{
int fn = bfa_ioc_pcifn(&bfa->ioc);
bfa_os_addr_t kva = bfa_ioc_bar0(&bfa->ioc);
void __iomem *kva = bfa_ioc_bar0(&bfa->ioc);
if (msix)
bfa_reg_write(kva + __ct_msix_err_vec_reg[fn], vec);
writel(vec, kva + __ct_msix_err_vec_reg[fn]);
else
bfa_reg_write(kva + __ct_msix_err_vec_reg[fn], 0);
writel(0, kva + __ct_msix_err_vec_reg[fn]);
}
/**
/*
* Dummy interrupt handler for handling spurious interrupt during chip-reinit.
*/
static void
......@@ -51,7 +51,7 @@ void
bfa_hwct_reginit(struct bfa_s *bfa)
{
struct bfa_iocfc_regs_s *bfa_regs = &bfa->iocfc.bfa_regs;
bfa_os_addr_t kva = bfa_ioc_bar0(&bfa->ioc);
void __iomem *kva = bfa_ioc_bar0(&bfa->ioc);
int i, q, fn = bfa_ioc_pcifn(&bfa->ioc);
if (fn == 0) {
......@@ -88,8 +88,8 @@ bfa_hwct_reqq_ack(struct bfa_s *bfa, int reqq)
{
u32 r32;
r32 = bfa_reg_read(bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq]);
bfa_reg_write(bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq], r32);
r32 = readl(bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq]);
writel(r32, bfa->iocfc.bfa_regs.cpe_q_ctrl[reqq]);
}
void
......@@ -97,8 +97,8 @@ bfa_hwct_rspq_ack(struct bfa_s *bfa, int rspq)
{
u32 r32;
r32 = bfa_reg_read(bfa->iocfc.bfa_regs.rme_q_ctrl[rspq]);
bfa_reg_write(bfa->iocfc.bfa_regs.rme_q_ctrl[rspq], r32);
r32 = readl(bfa->iocfc.bfa_regs.rme_q_ctrl[rspq]);
writel(r32, bfa->iocfc.bfa_regs.rme_q_ctrl[rspq]);
}
void
......@@ -110,7 +110,7 @@ bfa_hwct_msix_getvecs(struct bfa_s *bfa, u32 *msix_vecs_bmap,
*num_vecs = BFA_MSIX_CT_MAX;
}
/**
/*
* Setup MSI-X vector for catapult
*/
void
......@@ -156,7 +156,7 @@ bfa_hwct_msix_uninstall(struct bfa_s *bfa)
bfa->msix.handler[i] = bfa_hwct_msix_dummy;
}
/**
/*
* Enable MSI-X vectors
*/
void
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment