From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0059.outbound.protection.outlook.com [104.47.37.59]) by dpdk.org (Postfix) with ESMTP id A8B961B167 for ; Fri, 8 Jun 2018 02:51:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vkdWr+KEC+UPN4Z4NGNlSDaAgA5oWfYMZB3qytP7LK0=; b=kcJGZjZIa4Jxn+o4PMMhR4R/qNRG0BYM67uNJLO4V7PL2N8jwxbCQ3f/766cp5MxW5kDXW07i2UzdDrOEswL+R6iNao+7sMIFo9D0WtynONPRcyI67y2I1IemHOjuf98MGOcT/StoNzF5VjDDUEeQlqW3nF8BaWd5pLJ+YoLwLg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.0.2) by SN1PR07MB4031.namprd07.prod.outlook.com (2603:10b6:802:2b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.16; Fri, 8 Jun 2018 00:51:30 +0000 From: Rasesh Mody To: stable@dpdk.org Cc: Rasesh Mody , yliu@fridaylinux.org, Dept-EngDPDKDev@cavium.com Date: Thu, 7 Jun 2018 17:51:13 -0700 Message-Id: <1528419074-18954-4-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1528419074-18954-1-git-send-email-rasesh.mody@cavium.com> References: <1528419074-18954-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [198.186.0.2] X-ClientProxiedBy: BYAPR01CA0014.prod.exchangelabs.com (2603:10b6:a02:80::27) To SN1PR07MB4031.namprd07.prod.outlook.com (2603:10b6:802:2b::14) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(2017052603328)(7153060)(7193020); SRVR:SN1PR07MB4031; X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB4031; 3:Ygvfx7BLVmOz4//JKMCGmiTQzhl+eAjQ/VyEQbCP8VR99jQkZrbc0w2D/wYsmwUE7k71ESTHdaeGcQn+q5SjlYyVZBIlRfNP6JW6urvlkie2brn9CiBLy3ZUVKr5BlpbIpHAwnH+BapmgiQuQ8a6SISv5n+Sm4+4s2M/n+K+DNGUrdN2rCytkLIStnwPNEegTKzGmbyXI3GI44Z736DDFc8IEaiYBMrBBmmefCSF/pahG9C8NCUh2dmy9vywPPDb; 25:taXsTVRhu1YS8Gwc5fANbGNsxo3YRMd2eT9w3AScvNgTgo9SooglLkx1QkoKOHgam1zDGy37XsO3ZKogvAFNZRVZFJZPYEn5nnKn72rSPOagUGptS5qFVQZnIHRmY89WAi3kEAgkiTAK+yehlrPJDoQ3TuWZMkCh5xSM6bZkPYU7m4aWin1fSzDDJ3JrKnIw3GMgV6LSvQeg/tpCoeCdO1b7ICO62QOuhf4R8kc5TOWK+8JKJfP8EB3wsjJtRlOOO+wBJqQurpp7CzrHO0BoZOXxPQfniS9Pd8x5TFNrVDTa/DS2gvX5uRb4zjLazJaDWNBVZITWJk6X2Ti7wqhkYA==; 31:yntPXqq2Zj1Ccl8hmS6nY7aY1nXTiTZJC1c7kCq7CI+YfFX1KqzOLcU15QTnSxa4L1FtBhSmytrb6dhM3GM1xUjjcjCiFdBwS1tWRERxdOnSi6rAEG3Mqc1eTI5jufF+/QvztSk8lGWxRGf6XjhjzsDyrWkZRVqv0rqbrynFfPrzsiAxcG+aY6iDnSyNeLVHbDd7fmScnpergnWqva8QXPKU4njuTwuPU8Umqn4gLfs= X-MS-TrafficTypeDiagnostic: SN1PR07MB4031: X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB4031; 20:PW2LOGC/TgUMZn37rf+g3PwDFm6loxapZy/J6zXuuSrelgmaqXI0P+DERM8EqCn2c5QsEKWNSZaavWLfQSJ6Ei4v8TpsCrR2OThtCAs2g4cz7vDWm0qYuxgjtjQw3Rz3Q9QzigeEVN2sbIBZek6zIYDbKYjt732T4nIAWlY5lelL2MO4VxAtvLbC0cKKnDMRWYyr6uUDZTB4FJ8fGrFrefWliF70/YRthhpixbggmyzKo7tfTz9SfLFqp8taoQQPwJZs5zzXv5dkhVdzJwtazzsFW9/HmDTnzXnd0ckneWGOSOdzqlZb6z9ki9HuTLY+vUb3ZBjiEVFoX7fqtFHZ44/QzPA2GmD3vwMPbIYN2OLAZZ6WfKSCM9apwYaEqKYkWsS/vBPfN0zfZ5HOWWyv32rpkG+wxeHe9KtU3Y58RwiDZrbwCviLUlsvKAlQxa9LvC/M2Vn4y+R5OVk/3UBGt2H236Ni4Q8P/xT0J5Aj1h74oZATCseIzcqc+sLW/VAo; 4:aj9+DQkoamcDdOrDxQ6e9YklJtdzb5m9M53BeQEDJzMkXF/X9TWSYTl5RGQcsZmvkB44p8wO0p/mdJj8e6ZqpVQn5e4TtXYM5rSXmCGWfdpqpBvHxCT2ksICwRZFqZvm5bDt7ipBS72urKjjuN9+0PiDZN953ANO5nj7xOjVuAdQJicpPxb5Luf7oKmT5KD9sGh57VqWOGY6HAQ/Rwj/xg+dt2MfS6ysxFam2+9rQfAIpuWNE5bXdILUwhmbFPSLI8XJfzOtUusaQN6fCyfrqA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(3231254)(944501410)(52105095)(10201501046)(93006095)(93001095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:SN1PR07MB4031; BCL:0; PCL:0; RULEID:; SRVR:SN1PR07MB4031; X-Forefront-PRVS: 06973FFAD3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(366004)(39860400002)(346002)(396003)(376002)(199004)(189003)(25786009)(81166006)(55016002)(50226002)(6116002)(3846002)(50466002)(81156014)(21086003)(16586007)(486006)(53936002)(7736002)(72206003)(305945005)(8936002)(2616005)(26005)(476003)(48376002)(316002)(956004)(44832011)(11346002)(7696005)(52116002)(86362001)(97736004)(186003)(16526019)(51416003)(386003)(76176011)(106356001)(5660300001)(6916009)(2906002)(4720700003)(69596002)(8676002)(47776003)(59450400001)(446003)(68736007)(2361001)(6666003)(2351001)(66066001)(4326008)(36756003)(478600001)(107886003)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR07MB4031; H:cavium.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR07MB4031; 23:YyNrE1exp0CWmVseg6cXjvlUOixzaEWwNh9FwNdgP?= =?us-ascii?Q?Waz6ixMGpWjabSNc9AJoHPEG8vQnp1FvabLGtlH7YWQ8xt3guuLiKAK5Nk/3?= =?us-ascii?Q?+bgkWUl7aNHVHeWarJhkGq3WSypRRmZ5gzhf6z/sJ6+xt0JeaZNhCoOH0zDa?= =?us-ascii?Q?Nj8qL0obxCAF8cykwKDqvYvKbRFrEhbN9b7amSd7Kgh8+oG3xlA3XPG7OYTn?= =?us-ascii?Q?LY8o4RJxvbGLG4AwexFOOc5NtKqPOPXYgj3oLYcExxvm+Qo54+34HA6EH4/a?= =?us-ascii?Q?YgQ+Mol1hNxexs72N58AymB72tKPDQOxThkBr3e4u2RNkbYuNFwTWWJ32XxJ?= =?us-ascii?Q?cLS/yxX4VOqtyf1alGPOGdULPMJX7b6ndwl/mYhZheQYpGT6n7kBuKBd/5pZ?= =?us-ascii?Q?76A/RXVlRzZ6w/AODJYIbuTnYaiGcYcuO0KvOTzmmoGgD2Om823tGO2tl74M?= =?us-ascii?Q?TqGKJ/7gk2rEzpbJ4YlpW2rjp2hmvmU3KV0xpvGedkHPi+d9vU5PB3lxSSak?= =?us-ascii?Q?OrXuWjEkm6ga0GMtwkxyuU61xwqvnpUrQtKnWos/snI+d481M6i12B80yAcZ?= =?us-ascii?Q?qrDHUlycPRlJlVuBEsLMV73lMCFLnHmTQEbyHmtCNRcPDgw2voohygQITZ4F?= =?us-ascii?Q?sXkkrd6ah0/47FnYdDRzrXbgojydI0A/MAxGPb8CLdzLLk4f8oPmj+fxRt98?= =?us-ascii?Q?RTdNsvpeLIyRTX8D0GposZbZ7IjQfriBuVCZZXBym0WW3mtVuxjoSF9DUMyS?= =?us-ascii?Q?UMUGKCfUSHqdqMFO8yv3NrTMlzPita69zRw4vCBg/KtngnvVumsjJPRx2UjI?= =?us-ascii?Q?J4QEQGB/SsUUpZN+kfLV+rT48VyS59fmLuj38GBDNTaSjK1djl/2lxM4gGlI?= =?us-ascii?Q?+HANB3OLsO3APssgbdjNVV1U2/KjYPTqDHlTJBfTuBzFY2xNlYJ6VhiYvkvi?= =?us-ascii?Q?cvv+7BL1ZGSVE2zhNHxlbUOH+3SHch2TSgurWzuYAZPkvxM1G7qIY3Ktjmvc?= =?us-ascii?Q?2XthM5Ri89x55XWCMQkYASzxjHp6p99pncwqMDJg1BHiHWitqe2uRPVBnFWT?= =?us-ascii?Q?H1dyZKujdWeZtz9+Lad+4P7Rs92vtzUT7989nsOTiXk3cBIf0hWuq+QOQGOR?= =?us-ascii?Q?athVeAmCPAVxUn6dA3WXLIIyX15p7I/wBtXBf1VS1sIQTtx2BBnr975PtG9p?= =?us-ascii?Q?qVRxi4CGybPvQQiOEcV1qfPDSkErTpuL/rYkxzox7h7fD2DTvRBewyr7pudA?= =?us-ascii?Q?6KsA7q1qBngYrVAbBnYpfK2CgTTb8XDaVwOpQibtESYd5qFgpKvF1+0zXjeQ?= =?us-ascii?Q?rI0jQhY8UvR4gkzuVkW4JM50rGz/AbCztIrQEPFUE63esQlHRc6j2no4lpwY?= =?us-ascii?Q?R2oxQ=3D=3D?= X-Microsoft-Antispam-Message-Info: cIwqswqZZAuO6JiPIM0jaPOXCQpeonoffIEDIaX0RUzFksVOOYPIKMoPRhGAguEyQNC/8hAeMIuLmW6H+KxXlewKnl11RWpWRR3LNe0LTA8qQH51WIgt5Ajlctb8pb7w6s54fx5fVVIyI1wLuwELKYuilIYCcqDW4haPJQx4gZpYwRzCBZbIK4xPWCmb3Bm3 X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB4031; 6:3N99x0NgpsnGuQmfjFwP0jg9XiSm1h0CXMI7y3a1cVNOgxTVZW3ZDBqIihccb3RXiSNcPWqYC709R+HCXTsXjH5ix76h+xYkCId7DWzFbGpIhBb4LaZZ6+UtV3iy6TzhASvcIMUDvQwb3ye8ZIyR8u4a7cMo/m6mawZy1+L98iSLMO3UIJaVBN5TbLMD9GrPnboLhumeVC2ZLjQURgKdACVWtv7pET6x3GpAkO/IsU7HS4Uc+etFfpe26Is0gkM7iR0BDZm9SHRr9Pt74BXCnL/1ehxDsJshBOaaIYbx7CYyOwXiEdCUTLZ9nOsXnJ1D5sd8VXmX09Q/9CexFjjFQpUkD0xObI5jk26ZhX+ZyqvKWQFRIsjdLiG/Sep29MbyFaf5ABLjbmanXPKs4a7tE26ny4H4WcbJ7OAfiGHJIP8f8yD7D8Rp20scVWQfLKd/xixL+5qecJAqtPlu1J3Gqg==; 5:j6b81wDvg+6KZrSh9g8RqcVnrF6w6qlYRqyOZy9+DYKDOvFmguYp4U1hAhiTTtDdKRrUNm1DEPLFwRTtNEsddWKik8svx0COAfxchcL6ElkDZAYlwT1HumSyzH2ALlAzkwtlEbPxYNxakjLsojR1mm4AiMrw5aQYaJPgR2s1y2E=; 24:GbiaZ6AGKMBAldeRGnIa4MjvHNov0Lxu6L8nhDL6W/x8dkAkA/i7TpDPHYm/sBbxXPY23Xqwrg4J3N7ST5Xr9luMtl93phcHb0ulLnmZ5Eg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB4031; 7:MGTxvyrSsWKvFjfA+iZY4qEa7smaRGyugeT1i+ZI9AWDG5rUvNcWKmu5W9050d/drvlqhOJlfn1dk1apRXjm08Q6SUd73ysmtF+U1Fk1gmv3fCLuMe1jgII72NByXzt+bDwaAm6rkTVN4ZCMd5Zc30Q4g8kdLtCtDDb8oZhHiEI2umXHzEhBxdJ+xbA3TNGMYSFd6iGdbIPBQngDlxmLdRlqrplDv/v2OsSgTmgwSGlD6VTjQmK4m4dPO+7/0qu/ X-MS-Office365-Filtering-Correlation-Id: 0f006e96-c6bf-454a-a0a2-08d5ccd9f9bd X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2018 00:51:30.9754 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0f006e96-c6bf-454a-a0a2-08d5ccd9f9bd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB4031 Subject: [dpdk-stable] [PATCH 17.11 4/5] net/qede/base: fix to support OVLAN mode X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jun 2018 00:51:33 -0000 [ upstream commit 36f45bce2537b6c8d4b00bc8434b96103341c74c ] This fix allows driver to program NIC configuration to support OVLAN mode in multi-function scenario Fixes: 47af701989bc ("net/qede/base: add UFP support") Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 6 ++++++ drivers/net/qede/base/ecore_dcbx.c | 5 +++++ drivers/net/qede/base/ecore_dcbx_api.h | 1 + drivers/net/qede/base/ecore_dev.c | 10 ++++++++-- drivers/net/qede/base/ecore_hsi_common.h | 5 ++++- drivers/net/qede/base/ecore_sp_commands.c | 29 ++++++++++++++++++++--------- 6 files changed, 44 insertions(+), 12 deletions(-) diff --git a/drivers/net/qede/base/ecore.h b/drivers/net/qede/base/ecore.h index ce5f3a9..a44ce51 100644 --- a/drivers/net/qede/base/ecore.h +++ b/drivers/net/qede/base/ecore.h @@ -534,6 +534,12 @@ enum ecore_mf_mode_bit { ECORE_MF_UFP_SPECIFIC, ECORE_MF_DISABLE_ARFS, + + /* Use vlan for steering */ + ECORE_MF_8021Q_TAGGING, + + /* Use stag for steering */ + ECORE_MF_8021AD_TAGGING, }; enum ecore_ufp_mode { diff --git a/drivers/net/qede/base/ecore_dcbx.c b/drivers/net/qede/base/ecore_dcbx.c index 21ddda9..157a605 100644 --- a/drivers/net/qede/base/ecore_dcbx.c +++ b/drivers/net/qede/base/ecore_dcbx.c @@ -149,6 +149,10 @@ u8 ecore_dcbx_get_dscp_value(struct ecore_hwfn *p_hwfn, u8 pri) } p_data->arr[type].update = UPDATE_DCB_DSCP; + /* Do not add valn tag 0 when DCB is enabled and port is in UFP mode */ + if (OSAL_TEST_BIT(ECORE_MF_UFP_SPECIFIC, &p_hwfn->p_dev->mf_bits)) + p_data->arr[type].dont_add_vlan0 = true; + /* QM reconf data */ if (p_hwfn->hw_info.personality == personality) p_hwfn->hw_info.offload_tc = tc; @@ -935,6 +939,7 @@ static void ecore_dcbx_update_protocol_data(struct protocol_dcb_data *p_data, p_data->dcb_tc = p_src->arr[type].tc; p_data->dscp_enable_flag = p_src->arr[type].dscp_enable; p_data->dscp_val = p_src->arr[type].dscp_val; + p_data->dcb_dont_add_vlan0 = p_src->arr[type].dont_add_vlan0; } /* Set pf update ramrod command params */ diff --git a/drivers/net/qede/base/ecore_dcbx_api.h b/drivers/net/qede/base/ecore_dcbx_api.h index 9ff4df4..4df99ae 100644 --- a/drivers/net/qede/base/ecore_dcbx_api.h +++ b/drivers/net/qede/base/ecore_dcbx_api.h @@ -29,6 +29,7 @@ struct ecore_dcbx_app_data { u8 tc; /* Traffic Class */ bool dscp_enable; /* DSCP enabled */ u8 dscp_val; /* DSCP value */ + bool dont_add_vlan0; /* Do not insert a vlan tag with id 0 */ }; #ifndef __EXTRACT__LINUX__ diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c index da1830c..9affcbc 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -3496,9 +3496,14 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn, break; case NVM_CFG1_GLOB_MF_MODE_UFP: p_hwfn->p_dev->mf_bits = 1 << ECORE_MF_OVLAN_CLSS | - 1 << ECORE_MF_UFP_SPECIFIC; + 1 << ECORE_MF_UFP_SPECIFIC | + 1 << ECORE_MF_8021Q_TAGGING; + break; + case NVM_CFG1_GLOB_MF_MODE_BD: + p_hwfn->p_dev->mf_bits = 1 << ECORE_MF_OVLAN_CLSS | + 1 << ECORE_MF_LLH_PROTO_CLSS | + 1 << ECORE_MF_8021AD_TAGGING; break; - case NVM_CFG1_GLOB_MF_MODE_NPAR1_0: p_hwfn->p_dev->mf_bits = 1 << ECORE_MF_LLH_MAC_CLSS | 1 << ECORE_MF_LLH_PROTO_CLSS | @@ -3527,6 +3532,7 @@ static enum _ecore_status_t ecore_hw_get_resc(struct ecore_hwfn *p_hwfn, */ switch (mf_mode) { case NVM_CFG1_GLOB_MF_MODE_MF_ALLOWED: + case NVM_CFG1_GLOB_MF_MODE_BD: p_hwfn->p_dev->mf_mode = ECORE_MF_OVLAN; break; case NVM_CFG1_GLOB_MF_MODE_NPAR1_0: diff --git a/drivers/net/qede/base/ecore_hsi_common.h b/drivers/net/qede/base/ecore_hsi_common.h index d8abd60..31ae2a0 100644 --- a/drivers/net/qede/base/ecore_hsi_common.h +++ b/drivers/net/qede/base/ecore_hsi_common.h @@ -1515,7 +1515,10 @@ struct protocol_dcb_data { u8 dcb_priority /* dcbPri flag value */; u8 dcb_tc /* dcb TC value */; u8 dscp_val /* dscp value to write if dscp_enable_flag is set */; - u8 reserved0; +/* When DCB is enabled - if this flag is set, dont add VLAN 0 tag to untagged + * frames + */ + u8 dcb_dont_add_vlan0; }; /* diff --git a/drivers/net/qede/base/ecore_sp_commands.c b/drivers/net/qede/base/ecore_sp_commands.c index 7598e7a..83705b8 100644 --- a/drivers/net/qede/base/ecore_sp_commands.c +++ b/drivers/net/qede/base/ecore_sp_commands.c @@ -295,6 +295,7 @@ static void ecore_set_hw_tunn_mode_port(struct ecore_hwfn *p_hwfn, } #define ETH_P_8021Q 0x8100 +#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, @@ -308,7 +309,7 @@ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn, struct ecore_sp_init_data init_data; enum _ecore_status_t rc = ECORE_NOTIMPL; u8 page_cnt; - int i; + u8 i; /* update initial eq producer */ ecore_eq_prod_update(p_hwfn, @@ -343,18 +344,27 @@ enum _ecore_status_t ecore_sp_pf_start(struct ecore_hwfn *p_hwfn, p_ramrod->outer_tag_config.outer_tag.tci = OSAL_CPU_TO_LE16(p_hwfn->hw_info.ovlan); + if (OSAL_TEST_BIT(ECORE_MF_8021Q_TAGGING, &p_hwfn->p_dev->mf_bits)) { + p_ramrod->outer_tag_config.outer_tag.tpid = ETH_P_8021Q; + } else if (OSAL_TEST_BIT(ECORE_MF_8021AD_TAGGING, + &p_hwfn->p_dev->mf_bits)) { + p_ramrod->outer_tag_config.outer_tag.tpid = ETH_P_8021AD; + p_ramrod->outer_tag_config.enable_stag_pri_change = 1; + } + + p_ramrod->outer_tag_config.pri_map_valid = 1; + for (i = 0; i < ECORE_MAX_PFC_PRIORITIES; i++) + p_ramrod->outer_tag_config.inner_to_outer_pri_map[i] = i; + /* enable_stag_pri_change should be set if port is in BD mode or, + * UFP with Host Control mode or, UFP with DCB over base interface. + */ if (OSAL_TEST_BIT(ECORE_MF_UFP_SPECIFIC, &p_hwfn->p_dev->mf_bits)) { - p_ramrod->outer_tag_config.outer_tag.tpid = - OSAL_CPU_TO_LE16(ETH_P_8021Q); - if (p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) + if ((p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) || + (p_hwfn->p_dcbx_info->results.dcbx_enabled)) p_ramrod->outer_tag_config.enable_stag_pri_change = 1; else p_ramrod->outer_tag_config.enable_stag_pri_change = 0; - p_ramrod->outer_tag_config.pri_map_valid = 1; - for (i = 0; i < 8; i++) - p_ramrod->outer_tag_config.inner_to_outer_pri_map[i] = - (u8)i; } /* Place EQ address in RAMROD */ @@ -451,7 +461,8 @@ enum _ecore_status_t ecore_sp_pf_update_ufp(struct ecore_hwfn *p_hwfn) return rc; p_ent->ramrod.pf_update.update_enable_stag_pri_change = true; - if (p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) + if ((p_hwfn->ufp_info.pri_type == ECORE_UFP_PRI_OS) || + (p_hwfn->p_dcbx_info->results.dcbx_enabled)) p_ent->ramrod.pf_update.enable_stag_pri_change = 1; else p_ent->ramrod.pf_update.enable_stag_pri_change = 0; -- 1.7.10.3