PageRenderTime 44ms CodeModel.GetById 20ms app.highlight 14ms RepoModel.GetById 0ms app.codeStats 1ms

/drivers/scsi/bfa/include/bfi/bfi_rport.h

https://bitbucket.org/abioy/linux
C Header | 104 lines | 72 code | 16 blank | 16 comment | 0 complexity | e1d485206229ca02f2ea03c89d873e64 MD5 | raw file
Possible License(s): CC-BY-SA-3.0, GPL-2.0, LGPL-2.0, AGPL-1.0
  1/*
  2 * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
  3 * All rights reserved
  4 * www.brocade.com
  5 *
  6 * Linux driver for Brocade Fibre Channel Host Bus Adapter.
  7 *
  8 * This program is free software; you can redistribute it and/or modify it
  9 * under the terms of the GNU General Public License (GPL) Version 2 as
 10 * published by the Free Software Foundation
 11 *
 12 * This program is distributed in the hope that it will be useful, but
 13 * WITHOUT ANY WARRANTY; without even the implied warranty of
 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15 * General Public License for more details.
 16 */
 17
 18#ifndef __BFI_RPORT_H__
 19#define __BFI_RPORT_H__
 20
 21#include <bfi/bfi.h>
 22
 23#pragma pack(1)
 24
 25enum bfi_rport_h2i_msgs {
 26	BFI_RPORT_H2I_CREATE_REQ = 1,
 27	BFI_RPORT_H2I_DELETE_REQ = 2,
 28	BFI_RPORT_H2I_SET_SPEED_REQ  = 3,
 29};
 30
 31enum bfi_rport_i2h_msgs {
 32	BFI_RPORT_I2H_CREATE_RSP = BFA_I2HM(1),
 33	BFI_RPORT_I2H_DELETE_RSP = BFA_I2HM(2),
 34	BFI_RPORT_I2H_QOS_SCN    = BFA_I2HM(3),
 35};
 36
 37struct bfi_rport_create_req_s {
 38	struct bfi_mhdr_s  mh;		/*  common msg header		*/
 39	u16        bfa_handle;	/*  host rport handle		*/
 40	u16        max_frmsz;	/*  max rcv pdu size		*/
 41	u32        pid:24,		/*  remote port ID		*/
 42			lp_tag:8;	/*  local port tag		*/
 43	u32        local_pid:24,	/*  local port ID		*/
 44			cisc:8;
 45	u8         fc_class;	/*  supported FC classes	*/
 46	u8         vf_en;		/*  virtual fabric enable	*/
 47	u16        vf_id;		/*  virtual fabric ID		*/
 48};
 49
 50struct bfi_rport_create_rsp_s {
 51	struct bfi_mhdr_s  mh;		/*  common msg header		*/
 52	u8         status;		/*  rport creation status	*/
 53	u8         rsvd[3];
 54	u16        bfa_handle;	/*  host rport handle		*/
 55	u16        fw_handle;	/*  firmware rport handle	*/
 56	struct bfa_rport_qos_attr_s qos_attr;  /* QoS Attributes */
 57};
 58
 59struct bfa_rport_speed_req_s {
 60	struct bfi_mhdr_s  mh;		/*  common msg header		*/
 61	u16        fw_handle;	/*  firmware rport handle	*/
 62	u8		speed;		/*! rport's speed via RPSC  */
 63	u8		rsvd;
 64};
 65
 66struct bfi_rport_delete_req_s {
 67	struct bfi_mhdr_s  mh;		/*  common msg header		*/
 68	u16        fw_handle;	/*  firmware rport handle	*/
 69	u16        rsvd;
 70};
 71
 72struct bfi_rport_delete_rsp_s {
 73	struct bfi_mhdr_s  mh;		/*  common msg header		*/
 74	u16        bfa_handle;	/*  host rport handle		*/
 75	u8         status;		/*  rport deletion status	*/
 76	u8         rsvd;
 77};
 78
 79struct bfi_rport_qos_scn_s {
 80	struct bfi_mhdr_s  mh;		/*  common msg header		*/
 81	u16        bfa_handle;	/*  host rport handle		*/
 82	u16        rsvd;
 83	struct bfa_rport_qos_attr_s old_qos_attr;  /* Old QoS Attributes */
 84	struct bfa_rport_qos_attr_s new_qos_attr;  /* New QoS Attributes */
 85};
 86
 87union bfi_rport_h2i_msg_u {
 88	struct bfi_msg_s 		*msg;
 89	struct bfi_rport_create_req_s	*create_req;
 90	struct bfi_rport_delete_req_s	*delete_req;
 91	struct bfi_rport_speed_req_s	*speed_req;
 92};
 93
 94union bfi_rport_i2h_msg_u {
 95	struct bfi_msg_s 		*msg;
 96	struct bfi_rport_create_rsp_s	*create_rsp;
 97	struct bfi_rport_delete_rsp_s	*delete_rsp;
 98	struct bfi_rport_qos_scn_s	*qos_scn_evt;
 99};
100
101#pragma pack()
102
103#endif /* __BFI_RPORT_H__ */
104