1*d14abf15SRobert Mustacchi /******************************************************************************* 2*d14abf15SRobert Mustacchi * CDDL HEADER START 3*d14abf15SRobert Mustacchi * 4*d14abf15SRobert Mustacchi * The contents of this file are subject to the terms of the 5*d14abf15SRobert Mustacchi * Common Development and Distribution License (the "License"). 6*d14abf15SRobert Mustacchi * You may not use this file except in compliance with the License. 7*d14abf15SRobert Mustacchi * 8*d14abf15SRobert Mustacchi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*d14abf15SRobert Mustacchi * or http://www.opensolaris.org/os/licensing. 10*d14abf15SRobert Mustacchi * See the License for the specific language governing permissions 11*d14abf15SRobert Mustacchi * and limitations under the License. 12*d14abf15SRobert Mustacchi * 13*d14abf15SRobert Mustacchi * When distributing Covered Code, include this CDDL HEADER in each 14*d14abf15SRobert Mustacchi * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*d14abf15SRobert Mustacchi * If applicable, add the following below this CDDL HEADER, with the 16*d14abf15SRobert Mustacchi * fields enclosed by brackets "[]" replaced with your own identifying 17*d14abf15SRobert Mustacchi * information: Portions Copyright [yyyy] [name of copyright owner] 18*d14abf15SRobert Mustacchi * 19*d14abf15SRobert Mustacchi * CDDL HEADER END 20*d14abf15SRobert Mustacchi * 21*d14abf15SRobert Mustacchi * Copyright 2014 QLogic Corporation 22*d14abf15SRobert Mustacchi * The contents of this file are subject to the terms of the 23*d14abf15SRobert Mustacchi * QLogic End User License (the "License"). 24*d14abf15SRobert Mustacchi * You may not use this file except in compliance with the License. 25*d14abf15SRobert Mustacchi * 26*d14abf15SRobert Mustacchi * You can obtain a copy of the License at 27*d14abf15SRobert Mustacchi * http://www.qlogic.com/Resources/Documents/DriverDownloadHelp/ 28*d14abf15SRobert Mustacchi * QLogic_End_User_Software_License.txt 29*d14abf15SRobert Mustacchi * See the License for the specific language governing permissions 30*d14abf15SRobert Mustacchi * and limitations under the License. 31*d14abf15SRobert Mustacchi * 32*d14abf15SRobert Mustacchi * 33*d14abf15SRobert Mustacchi * Module Description: 34*d14abf15SRobert Mustacchi * 35*d14abf15SRobert Mustacchi * 36*d14abf15SRobert Mustacchi * History: 37*d14abf15SRobert Mustacchi * 28/06/11 ShayH Inception. 38*d14abf15SRobert Mustacchi ******************************************************************************/ 39*d14abf15SRobert Mustacchi #ifndef _LM_DCBX_MP_H 40*d14abf15SRobert Mustacchi #define _LM_DCBX_MP_H 41*d14abf15SRobert Mustacchi 42*d14abf15SRobert Mustacchi /******************************************************************************* 43*d14abf15SRobert Mustacchi * Constants. 44*d14abf15SRobert Mustacchi ******************************************************************************/ 45*d14abf15SRobert Mustacchi #define MAX_NUM_OF_ETH_CONS_PER_COS (MAX_RSS_CHAINS) 46*d14abf15SRobert Mustacchi #define ETH_MP_MAX_COS_SUPPORTED (3) 47*d14abf15SRobert Mustacchi 48*d14abf15SRobert Mustacchi /******************************************************************************* 49*d14abf15SRobert Mustacchi * Defines. 50*d14abf15SRobert Mustacchi ******************************************************************************/ 51*d14abf15SRobert Mustacchi 52*d14abf15SRobert Mustacchi #define MAX_ETH_TX_ONLY_CONS ((ETH_MP_MAX_COS_SUPPORTED - 1)*(MAX_NUM_OF_ETH_CONS_PER_COS)) 53*d14abf15SRobert Mustacchi #define MAX_ETH_TX_ONLY_CHAINS ((ETH_MP_MAX_COS_SUPPORTED - 1)*(MAX_HW_CHAINS)) 54*d14abf15SRobert Mustacchi 55*d14abf15SRobert Mustacchi 56*d14abf15SRobert Mustacchi typedef enum 57*d14abf15SRobert Mustacchi { 58*d14abf15SRobert Mustacchi lm_chain_type_cos_reg = 0, 59*d14abf15SRobert Mustacchi lm_chain_type_cos_tx_only = 1, 60*d14abf15SRobert Mustacchi lm_chain_type_not_cos = 2 61*d14abf15SRobert Mustacchi }lm_chain_type_t; 62*d14abf15SRobert Mustacchi 63*d14abf15SRobert Mustacchi /** 64*d14abf15SRobert Mustacchi * @description 65*d14abf15SRobert Mustacchi * Get COS number based on chain. 66*d14abf15SRobert Mustacchi * If the chain doesn't belong to a specific COS (e.g. ISCSI L2 67*d14abf15SRobert Mustacchi * chain) 68*d14abf15SRobert Mustacchi * @param pdev 69*d14abf15SRobert Mustacchi * @param chain 70*d14abf15SRobert Mustacchi * 71*d14abf15SRobert Mustacchi * @return u8_t 72*d14abf15SRobert Mustacchi */ 73*d14abf15SRobert Mustacchi u8_t 74*d14abf15SRobert Mustacchi lm_mp_cos_from_chain(IN struct _lm_device_t *pdev, 75*d14abf15SRobert Mustacchi IN const u32_t chain); 76*d14abf15SRobert Mustacchi 77*d14abf15SRobert Mustacchi /** 78*d14abf15SRobert Mustacchi * @description 79*d14abf15SRobert Mustacchi * Get max cos chain used. 80*d14abf15SRobert Mustacchi * @param pdev 81*d14abf15SRobert Mustacchi * @param chain 82*d14abf15SRobert Mustacchi * @param cos 83*d14abf15SRobert Mustacchi * 84*d14abf15SRobert Mustacchi * @return u32_t 85*d14abf15SRobert Mustacchi */ 86*d14abf15SRobert Mustacchi u8_t 87*d14abf15SRobert Mustacchi lm_mp_max_cos_chain_used( 88*d14abf15SRobert Mustacchi IN struct _lm_device_t *pdev); 89*d14abf15SRobert Mustacchi 90*d14abf15SRobert Mustacchi #endif// _LM_DCBX_MP_H 91