From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0065.outbound.protection.outlook.com [104.47.42.65]) by dpdk.org (Postfix) with ESMTP id E2C659A02 for ; Fri, 26 May 2017 08:51:48 +0200 (CEST) Received: from DM5PR03CA0014.namprd03.prod.outlook.com (10.175.104.24) by CY1PR0301MB0906.namprd03.prod.outlook.com (10.160.165.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14; Fri, 26 May 2017 06:51:47 +0000 Received: from BY2FFO11FD015.protection.gbl (2a01:111:f400:7c0c::169) by DM5PR03CA0014.outlook.office365.com (2603:10b6:3:118::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9 via Frontend Transport; Fri, 26 May 2017 06:51:47 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BY2FFO11FD015.mail.protection.outlook.com (10.1.14.131) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1075.5 via Frontend Transport; Fri, 26 May 2017 06:51:46 +0000 Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.134.28]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v4Q6pQMZ014894; Thu, 25 May 2017 23:51:45 -0700 From: Hemant Agrawal To: CC: , Date: Fri, 26 May 2017 12:21:15 +0530 Message-ID: <1495781485-2236-11-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1495781485-2236-1-git-send-email-hemant.agrawal@nxp.com> References: <1495445969-29199-1-git-send-email-hemant.agrawal@nxp.com> <1495781485-2236-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131402551066846840; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39840400002)(39860400002)(39450400003)(39400400002)(39850400002)(39380400002)(39410400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(8656002)(50466002)(54906002)(105606002)(106466001)(53936002)(6916009)(2950100002)(356003)(2351001)(6666003)(77096006)(85426001)(69596002)(4326008)(189998001)(47776003)(81156014)(8936002)(81166006)(15650500001)(33646002)(5660300001)(8676002)(86362001)(50986999)(76176999)(50226002)(2906002)(48376002)(5003940100001)(498600001)(305945005)(36756003)(38730400002)(110136004)(104016004); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0906; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD015; 1:kUgOcU26ZZPmHGUadpXvGq7/Cpjqw2jqW/ESq3WHRhW2qy6drKPGfQsClWu7G6eGOJkgMRgW0moc5OA5V5Y6Mw4GYuEc6zV0D7zbHmk5yP3Sxl4UnnqcBeXxKh8D+9rD9gm8uBuFZ/6Hlx+ulnVm2TIggpb0S7OJNjwZFSlPUTbCSYzHbMrLcJSSk2JP2go/mJkLXpEMo+Q+ZlQaXq8WcDS8m3hX1GhsbDHKKO48cs6EzCI8OaWF39bpCLrs/6kTd0cSIhMIkPM4ISs7BVp3vjtleUsXIqwOCh83a/5QOvUTK5IrdsWJYDJo39uQn4qA0eXz9iMNXus07M/1jTilLnN2L6pMNx5ClnJwE4T5BJzDM9O9saUPWef+3UH/77JWUStTOL8JbkgpS9S/HutyvyWEYslIDfO+e/oa4i6Kd0oTD8QWqYlcFwUTgJIuTMNGHsYZxnLFC21wqFQKBSeEssFsNVqavtfm8IQsE8Ql33G/wFEw6WVuzOnJdPdiDqrSJiHaT+5/uH4bdCj0ybNUKDEeKU+P3fSgP6imOihBuh4+7/3MqCb9Pmm1pB4IMDkkl2t+rf9jg8crqgaKnWc1yBTXI+MVn6ABBhu6wHVrQpUQrgWe1g/T8cD4uVyLfF2snVTzHXWWvYA1iVz1AaR+TX/AxeU8vQ06x9bBY/VrK1RvlvHcmIQRAnV965SslpGHR7vbnRF6jSMsJvMjV3YNMw== MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY1PR0301MB0906: X-MS-Office365-Filtering-Correlation-Id: 1becbb08-405d-4bad-5b70-08d4a403ad4f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:CY1PR0301MB0906; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0906; 3:9AOnG8CXLubrbk8VoO0Ug92p/fnABiXWLjwT/GJUbTpmZPAw0AVgKXrU70ZON2d5/Km0MT8uDjnk/2xPWaZMtjpGuJlgM+u9LoTIYKxf9b/tif80sMBpEh7M2WunACc4HHJ7s7KoIMJsho3+KoIrbeYjBbN9SveUqyGx2Kt2tfYFsn75ieYCE7CuBExT8rUocrxOw5eJVYdNuWh1dui7zf/MH5tVHUYG47P0CbCoe/gJu+l+9890WOnS2oP4JNR0tNf9qpCKMUniht5ejQD+1yyVIhMll6RDQfZwQSXyMcF1zXhDCxDJ6yW3sQmbKqQig6FUtECe3JROtf5uoQdX7mgOOKW3lOGCp0pn04G+M4VjsTrpKeUIl2YKiprwLOeFygkVacszDujFmy+CdFGlgrN/52T+J1XT8dsWVBXjtejcsXqmL8F9AvS76soUXVNx; 25:x45pdUpkhuT2foeFH1XnsIt8uGqnHDa0TmB/QIc5rFdCGWpyDQfKu3dUxnrSOp+4N6d+Fqp3kHKHEFX6pTyifFcnD9+yuIOJWj+vmZTfstL/u4wFX16now0c14Nq1w3ZpemmSF8u80wazgNz/H37YFDkh2imFuan6SG5OEet0+0IfRY1UxioXLC0au+bfJr6NcvU0SP7vukmPg1JadwSTUZBE2586OiQ3H5aOP6WKCPASzYvwjpnOxTuGxBCipCSgEfoskTN13rrE3Tj3GpTxPfM2dR4JsP36fzDSC86lbGWmIFoRJyRNmSvMUs4Mm0xOAUbzcqfC1zHrUP5c+B9BlsS5MzWRg2c+M/8XFPlQeAqDw+StfTn6c/TJHzF8rDbohCNVS1+cIzMMN2o9rYMDuXp2Vhopoh+11ELmcNpTF+3KEiwgkOhfh3K4qgF4iNYehTvDgeavBkyA6/kX/CEqwfAt0rs03cpnejfq0k5JxQ= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0906; 31:s0JB9np92wcJp2DLr92hTahq8z/sJ8RSHZaOVaaoz4PcF5UrQuEiXct9Z5bAki7vYYLnN/T8I1AzYTJw1o9bfn+tEbnsi9rh6WNCi0OprIgQ+WwF5vVWF2lqTFoiPbbVmrEPpfcg9BWSENY6WNqzj8d13EbV9qd5rBVZWf3M0fIEWK9MwvEMT++JyUAiLq7kLuE3jLpw0f0EjGpEw2Ayn5nocBWcAm6zUFEcox+eZHW5+YEYMfzXCMbdEMZmcl9A X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13016025)(5005006)(13018025)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123559100)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123556025)(20161123565025)(20161123563025); SRVR:CY1PR0301MB0906; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB0906; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0906; 4:aCm5rKpHSjzKLKZFCiRaUrlfeU2nwlBAWJNykg5XUk10uUqejYoXNOb4AtIp8PP+kSxaD5a1kI1pP288uFX2l8BfbxneXJ9+MkfSYkIQakUf1CdIeI1biLyGwpe8EXlihoxGdQnXfAuRfElmr4Qc0tC4Yfrlr84HOynCgw7W7tA4k+OOMqV7eqIBioS8//W/9+xddS1RM1a72hQy98EveWP9DZzeYPH2Czth/Z2JSO2V9VWP5zQH8avef0tt1YDRTS17kxFZrwVudu7rpePLwSar2nzfk0Dpy1BcldPcBn91t61nDnVXRRSIEk06PZeGt7C7QLiBGB/NxNHKkQDfrduPWQO2tdSQpP2yruDN7HPPnNsJ3HLHolSKhyp2mwSYdLsKdYginP3rq40UFx5njl/SwwcIKOk53sfxLvjudZymTfCmBykUMepHAyU6QbLJub3z7OGIYolMJrQYRp7bR8+8bW026re/lJsYDNtD1JgqxMMJyFO0ZXw/d6mHazD0GSQQJ4DkP6hBD9szbxnphRG/9dG2SY4nLv28mzQwxlwyd8IZQl6sPOsWzIVMz2N54e83sWaGjBbX4To4vJQvuDHdkmEEHOcLOKNQNxgDNnim9FUEr8vtpepCSQjyGUSzjT4FEwXuWtC1KiePys1dtYdHmophzIwNzNXAcLQZoKGX5mnrzsCIY+5sRhm0XPidZoWhplCHj/Il4X63GWQSUEmLCVf+cEMxXqMyhTUJJjyeB7roOAA24Y2roVWU8+auq+czBnqvihem/2RE73g4YvntI8sW9A1/mp0e16oqGiPzrYiYaVvOYdbqWtcgE3AjoBPuIH/TB0/e3l6BYfL3D67cnq6eFRhshddenNebksklKuQwdznSX6pLfhzqHCMeJVpxGL2htFAlkiRBtOW4FS+2HRpLiIfsjaUIm+yo7H7KSE7AwwIFAFYmBhZsR2Qv X-Forefront-PRVS: 031996B7EF X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0906; 23:GMNnYyWLmbkKArsZ7EdveT+imhLPwY/Gh5Jy0w4?= =?us-ascii?Q?QVwZAXJI0F/OKOFLKYjqxCg4w2VUoDP0qWa/3sRX7uCoMFpguZxOREuo6Q2k?= =?us-ascii?Q?dM6NHrQB3mY5QDUwDnTX7X2U5ilV1Nx7AOXRuvrdFRq5gMH1aqWUc6xcXOuV?= =?us-ascii?Q?PD6+wE+3jgFtkm9nbjTFZVt6nbawcuOUDqCzDWXmfS2yy52i0XcnNV/4Xifg?= =?us-ascii?Q?Ypz3HhOt0y9HgIzgSCLhJxNyn14gV8pexcKPd75V9lHF4S1k3EETrmvehOVl?= =?us-ascii?Q?cBLEkEWQSwce+ukW0esb+jPtAQZL0c0oRiJbKJRM+HwndKDGhILPdt5WvA7I?= =?us-ascii?Q?lWtOoYIYi7xqoqVbcVaLgWSoW3cWz7/HJGqepSxrdDL8AJWactmC54pOmsrC?= =?us-ascii?Q?bNK6VqZq/jgve/MT+AGe7XJzJSW1dLxLTOx0RuuAJ1OyaUilHGw/GWXdefsI?= =?us-ascii?Q?ERHqQe+lMPQHfUkChKBH2U9eIBtwDiYXENLiF4PSFE9IoBp5/iACkSoc8Rs9?= =?us-ascii?Q?UHXk4ymbKQuPwThyHAJssP7Q8T6RTHdino6hpR0rBRLOKPZ/sZwz7KTtd2r5?= =?us-ascii?Q?VW0fnEun6z+GSUB0oSC/fFJGfhqp2izQMweNA8YYFTJSc2EOiPma16iDuKOK?= =?us-ascii?Q?Wu/v02HDcpzYcSbdcSm0pb8gbhH9vy+4VVI4UxAIIvAKcg3GcxMjkNElSwT8?= =?us-ascii?Q?tLqgtM8g/7TMr6hMgF5U9Nxvigz9oAZbJV9+ZhBzOb1U5qhX2JfUGpIutV60?= =?us-ascii?Q?I3R82U96Zt5CiKJ41dEZhZrOybhzpqnAKeKXDsy+vhxrj0113jsSYT135cQI?= =?us-ascii?Q?Hi8obiETSfxTPPcotLf69rKTc1o6noh2N55rg/K9/MvK/TP7Zy7Kszij8v/H?= =?us-ascii?Q?emUfbpQkomY34sHM6op9VNE9Cwwccp6JLaa+LgpqCtY17rsJcnzukh/dz1H/?= =?us-ascii?Q?3ZgRvWO3RVoiv+fwQD+IvQKi7yvNMVNNrgkV9vKqzHbSqo7QMs/zm09yfkpB?= =?us-ascii?Q?eMMBtbBDPs3IWJBEXMZhrssyfGkZqIGGmLKUT9rwUPBWSzHlU/6DQitHlIe2?= =?us-ascii?Q?rqqrigmS/SK42xgwDWSQWXRDsHaeDSSP4Db1d5PHOEBMwqzQ9C/Rin/EWluQ?= =?us-ascii?Q?ZBlHqneKt1s4E0iA1CspoGNEQdAw3qXaK4+5w5k+1VgU3sh8EiCepSqkN9qC?= =?us-ascii?Q?HWookZ0If69oidGNdwyNspXGNgonuXUKr5zQuMwQcrWvax9FNXHBD7AwvdzU?= =?us-ascii?Q?DqJuvkZ8vGeRvU8bmFfj+62K9U78fHex02z+tDv4vL0gXtvPdFBym9YkO8jz?= =?us-ascii?Q?njCRCz0I6tLgz19TXMz2JcWM=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0906; 6:qh4l9rU3ZVGNQOjsiyAYPcM0WQsUxzzC+2g/975BrVj6dxyitLe1IkNR5LkWs17SzAHRsriootc5trmdwUR9Di9hiIgZDXtn2RqQllLrsCf+CR+LHup3pNLwdOZBz1I33X0F/VuWBbMwOozdzMO5xYM6kH0TzmVgYRkOGEU9pd+nvP0gLbDYnD+EAEhaeHfRYEc0fr5Ny7G12jyQQOoi0nhA7Bo/vOOzY8YeipSZBo5DFwc3JrTYcyVfdXPwJdipk1rnDaOfkRMd+ItP+EMWeOmhD+9I9p7q5mjFyT8f0CshalEXDTlKXKfIKmejs2h50+GNeNrDRANT4JAPYYaLAJGqWIjhXmY0l+pHrRHueQ2+fsk3DQjEDnwbOFVrJC1+9lLzdq9bSkVuDCePuFpY5i5/7gixAR8BLOTXWNeyyLvzJ4LsW1UCDH8YNMPopEWUuq7CE1eCHuqq2pIDA2yBeVM456kJkRWU7zBxLlTGXnhS+1H9hiVoz8CmqsrZUAHmtUKcgNlrECOU45gOfmp0kQ==; 5:cokcvrUwsHKyWd88MLsX6brLSWcGVaqdxeOnvaf4ewxST07bA1F4poIniiiQuOLQwMr5jzYV+svQj1lfOeDktrJLDAVxHE3VW3FMjXZlnVGnEDxuOUp42YDny+90D5W0ofDYXYefiLLgGuTn0kJNSW+uiUVq8z3GEvbbCQCITTxci8cH0425TvuWdy/6TEwl; 24:ybRIsyYganK0YfWBtTjPJqUgNNVVzoUFxQwXrtH0wkXKR8je03H1+b97GBLvvwVWGytGv557TIQ689cF0mhWJKdsRrAHroRka9C4sflAL1c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0906; 7:fxj68vSPhc18xRYO+eEC3BhqUojAuGmXbvyp0I1cYX54x9iXz3cp9ltSdxyX+sU8ecGxvcx9RfjVLRFtFsJwwgbEP+6dRB2gAF9e49oKPPVURJMJK8wokpSrnxa7AhuB8sbEDnhM7QcVrMhJLv2QDT3dusTIKrOzhOnAOS+NNfPQFCdB3vl3pjkpDKrxPGcQFzYzQFD0BbpYogK/+fNV1JGyaWd1qRcUVeZb0IKk6B/yOYO8AOkL3vQ25Zqjvxz8t2OQpIWDV/VtVEIfnxlZgMP58x3QQAtv65yJ7irVTPtdMYuySehUhzP6rpioONtRGP/k9s6CMkcHnG74Ey5dpA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2017 06:51:46.4506 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0906 Subject: [dpdk-dev] [PATCH v4 10/20] bus/fslmc: update TAILQ usages in dpaa2 objects 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: Fri, 26 May 2017 06:51:49 -0000 This patch updates the usages of malloc and TAILQ in dpbp and dpio objects. Signed-off-by: Hemant Agrawal --- drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c | 28 +++++++++------------------- drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 32 ++++++++++++-------------------- 2 files changed, 21 insertions(+), 39 deletions(-) diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c index 2fb285c..644f01c 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c @@ -53,8 +53,9 @@ #include "portal/dpaa2_hw_pvt.h" #include "portal/dpaa2_hw_dpio.h" -TAILQ_HEAD(dpbp_device_list, dpaa2_dpbp_dev); -static struct dpbp_device_list *dpbp_dev_list; /*!< DPBP device list */ +TAILQ_HEAD(dpbp_dev_list, dpaa2_dpbp_dev); +static struct dpbp_dev_list dpbp_dev_list + = TAILQ_HEAD_INITIALIZER(dpbp_dev_list); /*!< DPBP device list */ int dpaa2_create_dpbp_device( @@ -63,19 +64,8 @@ struct dpaa2_dpbp_dev *dpbp_node; int ret; - if (!dpbp_dev_list) { - dpbp_dev_list = malloc(sizeof(struct dpbp_device_list)); - if (!dpbp_dev_list) { - PMD_INIT_LOG(ERR, "Memory alloc failed in DPBP list\n"); - return -1; - } - /* Initialize the DPBP List */ - TAILQ_INIT(dpbp_dev_list); - } - /* Allocate DPAA2 dpbp handle */ - dpbp_node = (struct dpaa2_dpbp_dev *) - malloc(sizeof(struct dpaa2_dpbp_dev)); + dpbp_node = rte_malloc(NULL, sizeof(struct dpaa2_dpbp_dev), 0); if (!dpbp_node) { PMD_INIT_LOG(ERR, "Memory allocation failed for DPBP Device"); return -1; @@ -88,7 +78,7 @@ if (ret) { PMD_INIT_LOG(ERR, "Resource alloc failure with err code: %d", ret); - free(dpbp_node); + rte_free(dpbp_node); return -1; } @@ -98,14 +88,14 @@ PMD_INIT_LOG(ERR, "Failure cleaning dpbp device with" " error code %d\n", ret); dpbp_close(&dpbp_node->dpbp, CMD_PRI_LOW, dpbp_node->token); - free(dpbp_node); + rte_free(dpbp_node); return -1; } dpbp_node->dpbp_id = dpbp_id; rte_atomic16_init(&dpbp_node->in_use); - TAILQ_INSERT_HEAD(dpbp_dev_list, dpbp_node, next); + TAILQ_INSERT_TAIL(&dpbp_dev_list, dpbp_node, next); PMD_INIT_LOG(DEBUG, "Buffer pool resource initialized %d", dpbp_id); @@ -117,7 +107,7 @@ struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void) struct dpaa2_dpbp_dev *dpbp_dev = NULL; /* Get DPBP dev handle from list using index */ - TAILQ_FOREACH(dpbp_dev, dpbp_dev_list, next) { + TAILQ_FOREACH(dpbp_dev, &dpbp_dev_list, next) { if (dpbp_dev && rte_atomic16_test_and_set(&dpbp_dev->in_use)) break; } @@ -130,7 +120,7 @@ void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp) struct dpaa2_dpbp_dev *dpbp_dev = NULL; /* Match DPBP handle and mark it free */ - TAILQ_FOREACH(dpbp_dev, dpbp_dev_list, next) { + TAILQ_FOREACH(dpbp_dev, &dpbp_dev_list, next) { if (dpbp_dev == dpbp) { rte_atomic16_dec(&dpbp_dev->in_use); return; diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c index 7c35f86..62c03a2 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c @@ -69,8 +69,9 @@ struct swp_active_dqs rte_global_active_dqs_list[NUM_MAX_SWP]; -TAILQ_HEAD(dpio_device_list, dpaa2_dpio_dev); -static struct dpio_device_list *dpio_dev_list; /*!< DPIO device list */ +TAILQ_HEAD(dpio_dev_list, dpaa2_dpio_dev); +static struct dpio_dev_list dpio_dev_list + = TAILQ_HEAD_INITIALIZER(dpio_dev_list); /*!< DPIO device list */ static uint32_t io_space_count; /*Stashing Macros default for LS208x*/ @@ -214,7 +215,7 @@ static inline struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void) int ret; /* Get DPIO dev handle from list using index */ - TAILQ_FOREACH(dpio_dev, dpio_dev_list, next) { + TAILQ_FOREACH(dpio_dev, &dpio_dev_list, next) { if (dpio_dev && rte_atomic16_test_and_set(&dpio_dev->ref_count)) break; } @@ -336,18 +337,8 @@ static inline struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void) return -1; } - if (!dpio_dev_list) { - dpio_dev_list = malloc(sizeof(struct dpio_device_list)); - if (!dpio_dev_list) { - PMD_INIT_LOG(ERR, "Memory alloc failed in DPIO list\n"); - return -1; - } - - /* Initialize the DPIO List */ - TAILQ_INIT(dpio_dev_list); - } - - dpio_dev = malloc(sizeof(struct dpaa2_dpio_dev)); + dpio_dev = rte_malloc(NULL, sizeof(struct dpaa2_dpio_dev), + RTE_CACHE_LINE_SIZE); if (!dpio_dev) { PMD_INIT_LOG(ERR, "Memory allocation failed for DPIO Device\n"); return -1; @@ -364,7 +355,7 @@ static inline struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void) reg_info.index = 0; if (ioctl(dpio_dev->vfio_fd, VFIO_DEVICE_GET_REGION_INFO, ®_info)) { PMD_INIT_LOG(ERR, "vfio: error getting region info\n"); - free(dpio_dev); + rte_free(dpio_dev); return -1; } @@ -381,14 +372,14 @@ static inline struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void) if (vfio_dmamap_mem_region(dpio_dev->qbman_portal_ce_paddr, reg_info.offset, reg_info.size)) { PMD_INIT_LOG(ERR, "DMAMAP for Portal CE area failed.\n"); - free(dpio_dev); + rte_free(dpio_dev); return -1; } reg_info.index = 1; if (ioctl(dpio_dev->vfio_fd, VFIO_DEVICE_GET_REGION_INFO, ®_info)) { PMD_INIT_LOG(ERR, "vfio: error getting region info\n"); - free(dpio_dev); + rte_free(dpio_dev); return -1; } @@ -403,13 +394,14 @@ static inline struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void) PMD_INIT_LOG(ERR, "Fail to configure the dpio qbman portal for %d\n", dpio_dev->hw_id); - free(dpio_dev); + rte_free(dpio_dev); return -1; } io_space_count++; dpio_dev->index = io_space_count; - TAILQ_INSERT_HEAD(dpio_dev_list, dpio_dev, next); + TAILQ_INSERT_TAIL(&dpio_dev_list, dpio_dev, next); + PMD_INIT_LOG(DEBUG, "DPAA2:Added [dpio-%d]", object_id); return 0; } -- 1.9.1