1*e6550b3eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 25df6d737SAbhijeet Joglekar /* 35df6d737SAbhijeet Joglekar * Copyright 2008 Cisco Systems, Inc. All rights reserved. 45df6d737SAbhijeet Joglekar * Copyright 2007 Nuova Systems, Inc. All rights reserved. 55df6d737SAbhijeet Joglekar */ 65df6d737SAbhijeet Joglekar #ifndef _VNIC_SCSI_H_ 75df6d737SAbhijeet Joglekar #define _VNIC_SCSI_H_ 85df6d737SAbhijeet Joglekar 95df6d737SAbhijeet Joglekar #define VNIC_FNIC_WQ_COPY_COUNT_MIN 1 105df6d737SAbhijeet Joglekar #define VNIC_FNIC_WQ_COPY_COUNT_MAX 1 115df6d737SAbhijeet Joglekar 125df6d737SAbhijeet Joglekar #define VNIC_FNIC_WQ_DESCS_MIN 64 135df6d737SAbhijeet Joglekar #define VNIC_FNIC_WQ_DESCS_MAX 128 145df6d737SAbhijeet Joglekar 155df6d737SAbhijeet Joglekar #define VNIC_FNIC_WQ_COPY_DESCS_MIN 64 165df6d737SAbhijeet Joglekar #define VNIC_FNIC_WQ_COPY_DESCS_MAX 512 175df6d737SAbhijeet Joglekar 185df6d737SAbhijeet Joglekar #define VNIC_FNIC_RQ_DESCS_MIN 64 195df6d737SAbhijeet Joglekar #define VNIC_FNIC_RQ_DESCS_MAX 128 205df6d737SAbhijeet Joglekar 215df6d737SAbhijeet Joglekar #define VNIC_FNIC_EDTOV_MIN 1000 225df6d737SAbhijeet Joglekar #define VNIC_FNIC_EDTOV_MAX 255000 235df6d737SAbhijeet Joglekar #define VNIC_FNIC_EDTOV_DEF 2000 245df6d737SAbhijeet Joglekar 255df6d737SAbhijeet Joglekar #define VNIC_FNIC_RATOV_MIN 1000 265df6d737SAbhijeet Joglekar #define VNIC_FNIC_RATOV_MAX 255000 275df6d737SAbhijeet Joglekar 285df6d737SAbhijeet Joglekar #define VNIC_FNIC_MAXDATAFIELDSIZE_MIN 256 295df6d737SAbhijeet Joglekar #define VNIC_FNIC_MAXDATAFIELDSIZE_MAX 2112 305df6d737SAbhijeet Joglekar 315df6d737SAbhijeet Joglekar #define VNIC_FNIC_FLOGI_RETRIES_MIN 0 325df6d737SAbhijeet Joglekar #define VNIC_FNIC_FLOGI_RETRIES_MAX 0xffffffff 335df6d737SAbhijeet Joglekar #define VNIC_FNIC_FLOGI_RETRIES_DEF 0xffffffff 345df6d737SAbhijeet Joglekar 355df6d737SAbhijeet Joglekar #define VNIC_FNIC_FLOGI_TIMEOUT_MIN 1000 365df6d737SAbhijeet Joglekar #define VNIC_FNIC_FLOGI_TIMEOUT_MAX 255000 375df6d737SAbhijeet Joglekar 385df6d737SAbhijeet Joglekar #define VNIC_FNIC_PLOGI_RETRIES_MIN 0 395df6d737SAbhijeet Joglekar #define VNIC_FNIC_PLOGI_RETRIES_MAX 255 405df6d737SAbhijeet Joglekar #define VNIC_FNIC_PLOGI_RETRIES_DEF 8 415df6d737SAbhijeet Joglekar 425df6d737SAbhijeet Joglekar #define VNIC_FNIC_PLOGI_TIMEOUT_MIN 1000 435df6d737SAbhijeet Joglekar #define VNIC_FNIC_PLOGI_TIMEOUT_MAX 255000 445df6d737SAbhijeet Joglekar 45fc85799eSHiral Patel #define VNIC_FNIC_IO_THROTTLE_COUNT_MIN 1 46fc85799eSHiral Patel #define VNIC_FNIC_IO_THROTTLE_COUNT_MAX 2048 475df6d737SAbhijeet Joglekar 485df6d737SAbhijeet Joglekar #define VNIC_FNIC_LINK_DOWN_TIMEOUT_MIN 0 495df6d737SAbhijeet Joglekar #define VNIC_FNIC_LINK_DOWN_TIMEOUT_MAX 240000 505df6d737SAbhijeet Joglekar 515df6d737SAbhijeet Joglekar #define VNIC_FNIC_PORT_DOWN_TIMEOUT_MIN 0 525df6d737SAbhijeet Joglekar #define VNIC_FNIC_PORT_DOWN_TIMEOUT_MAX 240000 535df6d737SAbhijeet Joglekar 545df6d737SAbhijeet Joglekar #define VNIC_FNIC_PORT_DOWN_IO_RETRIES_MIN 0 555df6d737SAbhijeet Joglekar #define VNIC_FNIC_PORT_DOWN_IO_RETRIES_MAX 255 565df6d737SAbhijeet Joglekar 575df6d737SAbhijeet Joglekar #define VNIC_FNIC_LUNS_PER_TARGET_MIN 1 585df6d737SAbhijeet Joglekar #define VNIC_FNIC_LUNS_PER_TARGET_MAX 1024 595df6d737SAbhijeet Joglekar 605df6d737SAbhijeet Joglekar /* Device-specific region: scsi configuration */ 615df6d737SAbhijeet Joglekar struct vnic_fc_config { 625df6d737SAbhijeet Joglekar u64 node_wwn; 635df6d737SAbhijeet Joglekar u64 port_wwn; 645df6d737SAbhijeet Joglekar u32 flags; 655df6d737SAbhijeet Joglekar u32 wq_enet_desc_count; 665df6d737SAbhijeet Joglekar u32 wq_copy_desc_count; 675df6d737SAbhijeet Joglekar u32 rq_desc_count; 685df6d737SAbhijeet Joglekar u32 flogi_retries; 695df6d737SAbhijeet Joglekar u32 flogi_timeout; 705df6d737SAbhijeet Joglekar u32 plogi_retries; 715df6d737SAbhijeet Joglekar u32 plogi_timeout; 725df6d737SAbhijeet Joglekar u32 io_throttle_count; 735df6d737SAbhijeet Joglekar u32 link_down_timeout; 745df6d737SAbhijeet Joglekar u32 port_down_timeout; 755df6d737SAbhijeet Joglekar u32 port_down_io_retries; 765df6d737SAbhijeet Joglekar u32 luns_per_tgt; 775df6d737SAbhijeet Joglekar u16 maxdatafieldsize; 785df6d737SAbhijeet Joglekar u16 ed_tov; 795df6d737SAbhijeet Joglekar u16 ra_tov; 805df6d737SAbhijeet Joglekar u16 intr_timer; 815df6d737SAbhijeet Joglekar u8 intr_timer_type; 825df6d737SAbhijeet Joglekar }; 835df6d737SAbhijeet Joglekar 845df6d737SAbhijeet Joglekar #define VFCF_FCP_SEQ_LVL_ERR 0x1 /* Enable FCP-2 Error Recovery */ 855df6d737SAbhijeet Joglekar #define VFCF_PERBI 0x2 /* persistent binding info available */ 8678112e55SJoe Eykholt #define VFCF_FIP_CAPABLE 0x4 /* firmware can handle FIP */ 875df6d737SAbhijeet Joglekar 885df6d737SAbhijeet Joglekar #endif /* _VNIC_SCSI_H_ */ 89