From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60075.outbound.protection.outlook.com [40.107.6.75]) by dpdk.org (Postfix) with ESMTP id 664FD2C54 for ; Tue, 30 Oct 2018 08:49:14 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7MzmJBtpSliQbOTzC6S/Aq7xA0N353F/KJBqX8yPSuw=; b=bVNduKy0ooHvZZwZye9RqZc8WdnmD3JsyIAdL08mED7BZ/NcgLL+EUV+J+N4UTt1DUyOk9YFlGS8MxDTEpTeLqDtdNuA/btBh3CdI+u8ZBCBR10n3pwhLb5E9dWqVSTaO8J1Jk9k25BbuePv09cnK58TxbxKbRY/rvv2974v3rs= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB3962.eurprd05.prod.outlook.com (52.134.67.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.26; Tue, 30 Oct 2018 07:49:13 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::f8a1:fcab:94f0:97cc%4]) with mapi id 15.20.1273.027; Tue, 30 Oct 2018 07:49:13 +0000 From: Yongseok Koh To: Shahaf Shuler CC: "dev@dpdk.org" , Yongseok Koh Thread-Topic: [PATCH v2 1/2] net/mlx5: move device spawn configuration to probing Thread-Index: AQHUcCUMAXwCfiXRG0CgRdtORKMc5g== Date: Tue, 30 Oct 2018 07:49:13 +0000 Message-ID: <20181030074901.40342-2-yskoh@mellanox.com> References: <20181029231509.39886-1-yskoh@mellanox.com> <20181030074901.40342-1-yskoh@mellanox.com> In-Reply-To: <20181030074901.40342-1-yskoh@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR05CA0033.namprd05.prod.outlook.com (2603:10b6:a03:c0::46) To DB3PR0502MB3980.eurprd05.prod.outlook.com (2603:10a6:8:10::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB3PR0502MB3962; 6:r2xqB4kEOeIGiF4CD5kwXn2kd0/OEn0MwM8HVSJMDw8crXFLV4+eML9XhRFiMDSA7c9q/S8DcusKVMMqEgEs56RyqRJuWPJF9M83lg5XmMvGvo0EDCGEuQ2E4uva5OvCjmWHcHK9g0RwbzXaRn3MaiUFZffaQexiGuOi6xWAlDioy+5xCnXAURVPJSXfp3+vN7gHK+odJbci30h34RKe2w64+OhVdB2BmkdTNB6i4AQlAOT91rFN0sQq4ShITlaW/sUgAprBqrmZT5LqIH9twr63b0RSNLTg5Tqi9dJ7lwInDVUj/C1m+ci4ZpPfaAYHguMWOz6a0mRUBSl3DxTFlLGG65B3GoiCFyK8IRGYMXZMOi+jfHQvlHUGLFDWAlO8Dr4orFGs18MnvAlYgFGtlfYyVQhkArLnGMl3TqKF/DavxUVJh6G82L2Re+7cxwlKh4w3iKva7ox5aC1zSVY7Sw==; 5:ybY7p6vm8vSrrFZg82AUyuoF1NPGIZC9ALoApX2HHrcrJYAw+N/jmbwp6rcZpteSwTp3ufwWEEwNgkNhj8febX3jhcYrGJICCya9HrigJaRL4EVqXe3ZVuVB8u20US8uvWgmHmuhANPYOdXpSTeS4PwCEPax0GMJTQqz/lfjaCc=; 7:UPWPFkx29p4sB+UmZ8E1XPCUTRDRginJllRLqoLDbIXlMVG7r3EmGCxXwXBmGguMuAdYMQu24LTCO2xE1gQF9DafAjCt16jxQXdguwnJrkFr4IPIqcNkcA5/1p3eNSpLCU5iXKYXpHGKhYdVHHvdkQ== x-ms-office365-filtering-correlation-id: 8222c32e-8972-4388-ca25-08d63e3c2eda x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB3962; x-ms-traffictypediagnostic: DB3PR0502MB3962: 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)(3231382)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123560045)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:DB3PR0502MB3962; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB3962; x-forefront-prvs: 08417837C5 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39860400002)(366004)(376002)(136003)(396003)(189003)(199004)(476003)(6636002)(25786009)(6506007)(8936002)(386003)(305945005)(186003)(7736002)(102836004)(2906002)(66066001)(2900100001)(71200400001)(71190400001)(53936002)(4326008)(107886003)(14454004)(54906003)(37006003)(486006)(68736007)(86362001)(11346002)(97736004)(2616005)(256004)(26005)(446003)(14444005)(8676002)(5250100002)(81156014)(52116002)(81166006)(76176011)(5660300001)(6862004)(3846002)(6116002)(478600001)(1076002)(6486002)(6436002)(316002)(99286004)(106356001)(105586002)(36756003)(6512007)(309714004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB3962; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 5jGxlBQpPV/2QE+Fre2kjbZkqbvgkqHIAYZcQAUXw4OpbjRGkYPvnCXgKdXifWQ85/TcJAjcEDxVziTLchSuAu/XyBfRis44kWpVx4PE21Di6gSGvicgJgbaTsjdBCQkpBrfcF364RPfC+C1+QsZQAkQ7D/nsyZNrB0ZK8zY9yNhkcBUuy2EyCfdTsOEipV4axmxvOU8YiTdPn7njY6omzsMMLTos1Vu2fZcQW65pRk/ki73m5DyKggRwQOwCAeblO+6TbNsUU88GHlyZFfa4tn1HBfZy3KbyguZ4Qhf0YV8hdDt5hvQ1H5h5RYG+m2LoqJF4npzL2soe02Q1jtCYkTyObQwwVvwNl8hH/fLRhk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8222c32e-8972-4388-ca25-08d63e3c2eda X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2018 07:49:13.1138 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB3962 Subject: [dpdk-dev] [PATCH v2 1/2] net/mlx5: move device spawn configuration to probing X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Oct 2018 07:49:14 -0000 Signed-off-by: Yongseok Koh --- drivers/net/mlx5/mlx5.c | 54 ++++++++++++++++++++++++---------------------= ---- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index ec6a482a9a..6fa50ba1b1 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -704,8 +704,8 @@ mlx5_uar_init_secondary(struct rte_eth_dev *dev) * Backing DPDK device. * @param ibv_dev * Verbs device. - * @param vf - * If nonzero, enable VF-specific features. + * @param config + * Device configuration parameters * @param[in] switch_info * Switch properties of Ethernet device. * @@ -719,7 +719,7 @@ mlx5_uar_init_secondary(struct rte_eth_dev *dev) static struct rte_eth_dev * mlx5_dev_spawn(struct rte_device *dpdk_dev, struct ibv_device *ibv_dev, - int vf, + struct mlx5_dev_config config, const struct mlx5_switch_info *switch_info) { struct ibv_context *ctx; @@ -727,24 +727,6 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, struct ibv_port_attr port_attr; struct ibv_pd *pd =3D NULL; struct mlx5dv_context dv_attr =3D { .comp_mask =3D 0 }; - struct mlx5_dev_config config =3D { - .vf =3D !!vf, - .cqe_pad =3D 0, - .mps =3D MLX5_ARG_UNSET, - .tx_vec_en =3D 1, - .rx_vec_en =3D 1, - .mpw_hdr_dseg =3D 0, - .txq_inline =3D MLX5_ARG_UNSET, - .txqs_inline =3D MLX5_ARG_UNSET, - .inline_max_packet_sz =3D MLX5_ARG_UNSET, - .vf_nl_en =3D 1, - .mprq =3D { - .enabled =3D 0, - .stride_num_n =3D MLX5_MPRQ_STRIDE_NUM_N, - .max_memcpy_len =3D MLX5_MPRQ_MEMCPY_DEFAULT_LEN, - .min_rxqs_num =3D MLX5_MPRQ_MIN_RXQS, - }, - }; struct rte_eth_dev *eth_dev =3D NULL; struct priv *priv =3D NULL; int err =3D 0; @@ -1176,7 +1158,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, eth_dev->dev_ops =3D &mlx5_dev_ops; /* Register MAC address. */ claim_zero(mlx5_mac_addr_add(eth_dev, &mac, 0, 0)); - if (vf && config.vf_nl_en) + if (config.vf && config.vf_nl_en) mlx5_nl_mac_addr_sync(eth_dev); priv->tcf_context =3D mlx5_flow_tcf_context_create(); if (!priv->tcf_context) { @@ -1345,7 +1327,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_u= nused, { struct ibv_device **ibv_list; unsigned int n =3D 0; - int vf; + struct mlx5_dev_config dev_config; int ret; =20 assert(pci_drv =3D=3D &mlx5_driver); @@ -1443,21 +1425,39 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte= _unused, */ if (n) qsort(list, n, sizeof(*list), mlx5_dev_spawn_data_cmp); + /* Default configuration. */ + dev_config =3D (struct mlx5_dev_config){ + .mps =3D MLX5_ARG_UNSET, + .tx_vec_en =3D 1, + .rx_vec_en =3D 1, + .txq_inline =3D MLX5_ARG_UNSET, + .txqs_inline =3D MLX5_ARG_UNSET, + .inline_max_packet_sz =3D MLX5_ARG_UNSET, + .vf_nl_en =3D 1, + .mprq =3D { + .enabled =3D 0, /* Disabled by default. */ + .stride_num_n =3D MLX5_MPRQ_STRIDE_NUM_N, + .max_memcpy_len =3D MLX5_MPRQ_MEMCPY_DEFAULT_LEN, + .min_rxqs_num =3D MLX5_MPRQ_MIN_RXQS, + }, + }; + /* Device speicific configuration. */ switch (pci_dev->id.device_id) { case PCI_DEVICE_ID_MELLANOX_CONNECTX4VF: case PCI_DEVICE_ID_MELLANOX_CONNECTX4LXVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5VF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF: - vf =3D 1; + dev_config.vf =3D 1; break; default: - vf =3D 0; + break; } for (i =3D 0; i !=3D n; ++i) { uint32_t restore; =20 - list[i].eth_dev =3D mlx5_dev_spawn - (&pci_dev->device, list[i].ibv_dev, vf, &list[i].info); + list[i].eth_dev =3D mlx5_dev_spawn(&pci_dev->device, + list[i].ibv_dev, dev_config, + &list[i].info); if (!list[i].eth_dev) { if (rte_errno !=3D EBUSY && rte_errno !=3D EEXIST) break; --=20 2.11.0