54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Huawei Hifc PCI Express Linux driver
|
|
* Copyright(c) 2017 Huawei Technologies Co., Ltd
|
|
*
|
|
*/
|
|
#ifndef __UNF_DISC_H__
|
|
#define __UNF_DISC_H__
|
|
|
|
#define UNF_DISC_RETRY_TIMES 3
|
|
#define UNF_DISC_NONE 0
|
|
#define UNF_DISC_FABRIC 1
|
|
#define UNF_DISC_LOOP 2
|
|
|
|
enum unf_disc_state_e {
|
|
UNF_DISC_ST_START = 0x3000,
|
|
UNF_DISC_ST_GIDPT_WAIT,
|
|
UNF_DISC_ST_GIDFT_WAIT,
|
|
UNF_DISC_ST_END
|
|
};
|
|
|
|
enum unf_disc_event_e {
|
|
UNF_EVENT_DISC_NORMAL_ENTER = 0x8000,
|
|
UNF_EVENT_DISC_FAILED = 0x8001,
|
|
UNF_EVENT_DISC_SUCCESS = 0x8002,
|
|
UNF_EVENT_DISC_RETRY_TIMEOUT = 0x8003,
|
|
UNF_EVENT_DISC_LINKDOWN = 0x8004
|
|
};
|
|
|
|
enum unf_disc_type_e {
|
|
UNF_DISC_GET_PORT_NAME = 0,
|
|
UNF_DISC_GET_NODE_NAME,
|
|
UNF_DISC_GET_FEATURE
|
|
};
|
|
|
|
struct unf_disc_gs_event_info {
|
|
void *lport;
|
|
void *rport;
|
|
unsigned int rport_id;
|
|
enum unf_disc_type_e entype;
|
|
struct list_head list_entry;
|
|
};
|
|
|
|
unsigned int unf_get_and_post_disc_event(void *v_lport,
|
|
void *v_sns_port,
|
|
unsigned int v_nport_id,
|
|
enum unf_disc_type_e v_en_type);
|
|
|
|
void unf_flush_disc_event(void *v_disc, void *v_vport);
|
|
void unf_disc_error_recovery(void *v_lport);
|
|
void unf_disc_mgr_destroy(void *v_lport);
|
|
void unf_disc_ctrl_size_inc(void *v_lport, unsigned int v_cmnd);
|
|
|
|
#endif
|