From patchwork Mon Jun 12 11:11:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Savolainen X-Patchwork-Id: 103614 Delivered-To: patch@linaro.org Received: by 10.182.29.35 with SMTP id g3csp834264obh; Mon, 12 Jun 2017 04:12:21 -0700 (PDT) X-Received: by 10.237.33.208 with SMTP id m16mr25801329qtc.33.1497265941378; Mon, 12 Jun 2017 04:12:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497265941; cv=none; d=google.com; s=arc-20160816; b=vUxLW7wBYFc7AVm2fXmBbagdwOGh/8L/zAom3lgZnA/ByPraal9fZIR3Le5Wvl1p/b Y+Ry4bxrikjO93pLNmDmlvCMmcRatGEajB5sa+jvCp+Q+b2/Rz/8vRwRDK6cUL8PQrVw n1USEBWM8IYFnaxHZ+4i2lxj/MHxLzG3v5ZJpK51gQBTpIfZ9XRUdLVu/yydS97JNF92 fnTjYp5q1EVhkYLd24Iyqlm4h7i1beL9fUzk0SBIx9t5i5SxhalIZveWdjv6Y6+s5/Or BIUrBSl9fGoFxRpwK4/IIVxYnO3jHtg1wGXHgj0CfwBZmY9Gwxebf9T3lYaCq4GCCyck hRFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:message-id:date:to:from :delivered-to:arc-authentication-results; bh=5BlWtnm4gZGh6SotwPhkBIjXdiLlKT4zR4YgFQHT9ow=; b=HlcQD/8iisYniWKOaBtZDBAu3yoCW7aqYNWc5AxqJatB+1/Lzx1o5TTap5blrDHbZ4 2qXeJBr1EbMtXRqA7iaLttbmR1c0evG84mSQba1eHFnPIch36VPLpdnrV0z+fzLUfcwJ GmUzBvvx5057eigcrzs7ACqKPDrFXTYK17FE+WIKz/TkcbRZcRNDUSCMaELhZ+TLe6GA k+q4y+YjrCs2s4SGIQU8IXL7skaTmL0FY1FavGIVka8H2Ol72jjiTlwNzrjLE6RfzhLH ooABp1nv6R7264bFS2UH1kEnUswHbz7MSG9fhMyohGVims87BczSqueqT419taCPvXWe oY/A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id x188si8255750qkc.108.2017.06.12.04.12.20; Mon, 12 Jun 2017 04:12:21 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id A2C1A60BDE; Mon, 12 Jun 2017 11:12:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-4.7 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id E4E0C60A39; Mon, 12 Jun 2017 11:12:08 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 721CE60A3D; Mon, 12 Jun 2017 11:12:05 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0093.outbound.protection.outlook.com [104.47.0.93]) by lists.linaro.org (Postfix) with ESMTPS id EAB5960A36 for ; Mon, 12 Jun 2017 11:12:01 +0000 (UTC) Received: from AM5PR0701CA0052.eurprd07.prod.outlook.com (2603:10a6:203:2::14) by AMXPR07MB053.eurprd07.prod.outlook.com (2a01:111:e400:1007::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1178.5; Mon, 12 Jun 2017 11:11:59 +0000 Received: from DB5EUR03FT061.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::208) by AM5PR0701CA0052.outlook.office365.com (2603:10a6:203:2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1178.10 via Frontend Transport; Mon, 12 Jun 2017 11:11:59 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning linaro.org discourages use of 131.228.2.240 as permitted sender) Received: from mailrelay.int.nokia.com (131.228.2.240) by DB5EUR03FT061.mail.protection.outlook.com (10.152.21.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1143.11 via Frontend Transport; Mon, 12 Jun 2017 11:11:59 +0000 Received: from fihe3nok0734.emea.nsn-net.net (localhost [127.0.0.1]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v5CBBXgV014636 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 12 Jun 2017 14:11:33 +0300 Received: from 10.144.19.15 ([10.144.104.219]) by fihe3nok0734.emea.nsn-net.net (8.14.9/8.14.5) with ESMTP id v5CBBXKw014626 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Mon, 12 Jun 2017 14:11:33 +0300 X-HPESVCS-Source-Ip: 10.144.104.219 From: Petri Savolainen To: Date: Mon, 12 Jun 2017 14:11:33 +0300 Message-ID: <20170612111133.1018-1-petri.savolainen@linaro.org> X-Mailer: git-send-email 2.13.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:131.228.2.240; IPV:CAL; SCL:-1; CTRY:FI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39450400003)(39850400002)(39860400002)(39410400002)(39400400002)(39840400002)(2980300002)(199003)(189002)(9170700003)(8676002)(50226002)(356003)(50986999)(498600001)(36756003)(22756006)(305945005)(189998001)(2351001)(86362001)(575784001)(5660300001)(33646002)(105596002)(6916009)(5003940100001)(81166006)(38730400002)(2906002)(53936002)(77096006)(8936002)(47776003)(48376002)(110136004)(1076002); DIR:OUT; SFP:1102; SCL:1; SRVR:AMXPR07MB053; H:mailrelay.int.nokia.com; FPR:; SPF:SoftFail; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB5EUR03FT061; 1:16PLoJfUTnCbVgbbGoo7+DuHpY4sXFCrx28LEo7RHfy79fH3LFQOuFcSYKRHy+ltHimBDsESRoXZnLf5RuMmX9/dZFYPhF+yHPwkr6efVB25dA8iqhzmpPUklkg7HW5A+uNdTDtPryotX56845McBMQ21Op3Dh2vFXtPdWhT7dfZ9t8lnqAJLZXUxoVGOzOS1tkk6fZeoB4wJAS0EQHVEa4/pJOyJc9uBspCdNBA7kEQYOcPkVZ9qhvE5ChsfQh2fDapKjPUPjSTIocjSh7xI8YaB/Ums4RzYLsf29VsLWle3UINIdvrxf0urvg82Yw0uQf9jmZtNNKAer279PEoJgrQmAHc+EbIxLVLrUTgiK/Ok/YU4HxWggw4LA9QxK9xbr9YU2Yh7u0OHp5N+6gYGvsbhsp1DsHQ0M0H7liJhdOL6KSs+7puqmcrkw1R1V6Y51pnd6WWKXxUNXhLnCzrCCRFNz+9RXsaLJ3MBbZ/PHS/AggqH4sbORr9q9x1nhsZYTQRenHvGdYh9tPIzfEoxQ== MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a1ec971a-0819-4c6e-b6a2-08d4b183d86e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:AMXPR07MB053; X-Microsoft-Exchange-Diagnostics: 1; AMXPR07MB053; 3:sQ9cZ+UOQ79F6/KhDTru+WoMmmPQzUaBXleoxO2tTKTp6W418mKyGdH5p0su75cYCpDJ4lxrWkRnqh2i0xwpNxarKEJS4bEbUXy1XTwzeQSUhxCx3JcclUlOmyxXfRc4VzwXh1hfCmJIla40Z/EPNy/l0CvRslcCSIH7YczroBH/Vgy2WrcKFTwKPGKsMhBh+6VyKLUJr3MIoR1RfYBeA91MpFx/LXGMnkWfdWvad6JN8qC7AeRUWaptIzYoNbRyONEbIhnBA8iDlLrc1pBPtEbUD//VLyGokDLe9p7LEnXbe60Mly3oflUOXTsbr9ccQa9w33sFSJblQQlRhgzr+4Y1dmvF9Xmcm6wyZ7DGwwBd33IhC6XmmJn3EdJKT9hPCKNd4VWmAX7i44mMIOueFguL7Bypsrd6nGmGNqZGg8lcdZneTbeWRp+/mAS0/dLDL4GZujVYjvrQeLGzgDHT7w== X-MS-TrafficTypeDiagnostic: AMXPR07MB053: X-Microsoft-Exchange-Diagnostics: 1; AMXPR07MB053; 25:f18DFK4FVN6X7DqARATmTqrukVl2H3ApnxHoKA7GjiCr4pyt2xFhMZkVTRMPEiImvKAOqpjlyX3WG9c/+e7k2aFbw8tgC22V60/lClFKBdU0dpLK8tyQyIkTAKBumjjx44P1OFOeDzVWvfm229+HjyJG6tvboY6OHJsvrHpnF/zWQ5tAD99N7Cpp+uXA9cK6Kkb/eWGmoS9a7+8Ohi+jYG0OqSPa05EZEELTWIWzmfujhBVjDKkE5Z8zPcw2PErg1WBeQ4wRQr6fMrfiirjzuQjQcjm3nCRn8QzzyC7FqYr8jvpUTzjF4OyYHgbSoudUMG8UjUQqCdU32ZIt+Ru382knVUg8EvYAr+UEpM2ELaB5sACLza8rFC8yXHUWiGjBxKGs05Nr26mS/LsYkNc40N1zzSVqTBnwKEiE/PUmAPrl0ZWsgv/tS/tQdzEA1X026JZ7IV0yDE6fF5l+ajf2JoL9HkKEJoeCJlRUep/4gKk=; 31:o6w8YIO6uG6IIVBfLohEs1pFNag/R4ga8oFaW+GAlMF/YBKaiQmRKVCf7aSxvERUWqf7h1EQr4EPqVCIIsI6JEjuIBWqXdRpXGflO0vi13xbfPL9NR0czsTeoi5ajA6TRjYYSXG4x3UaH0EZ/RA7FtTbjqMX7yWF3GEr1J4tPu6pExFjp7FVKc+1nE6Qet10jHRbGW9bN/zaQxhe3jiRM0i7ZY3iERGDxxtLP+RO84aPAhGy6ZAtP+s7NrGzxcGPlX4YZZBb8ONS9KPkt0jx9A== X-Microsoft-Exchange-Diagnostics: 1; AMXPR07MB053; 20:IU8MHQRJGT3YC28PLcso83xdkn3xlAJvDfeqhz/hXgL8rAAFUH0SRrjEuMtwIe5xVGNkLuOZKMgJkJ7hDGoGJRuc9x/E7sub8boiE0SdDPJk+bUIbnLZLHdIXzIkD9/hzcKF6/T3sJ0sAfHq4E6vvmAR6i+RxyWsKcDE6RDCeK0ybyDvs1ws3GP7Tu1N509KG74kpNkgHhdzbvLzqks6uOafeq0sA/QK2EY2Ao9BDxrz1Yd4f8Qc2mFslisRw0Lg0rEbBtcbZSQZxeFsy+lNX7Xb2DuWJrBqxaeTuzq6DOYMSLQOR0O8XuMhXHY0A0EQTL8KR/UuMLD4oWG/JPXPOA7B+76eRlbLEC+vkTinrNtybbPP9CLyOYJ7vDz3NRHuzYSJQv3taueRkgOn+Yq2yEm0mGVYYUBy4KlgHM2rfNAQdCfA6/Np1Ujg8myiANyEnWd0qvP4+UbAerZGtJCf+BZqHAHlmj6dFgWvj1Rz3pzFHgIHW9v6VYjTkcX7OGNp0g2H85h2QFg+N/+XOE6cyfHLHEuHleU724guzYmNkljEFDMkEdyC2eJI3ByEWVYToh4soTYvjgwrnv6VWV2CRlMx/yfGuoNtADpDi2v2CYE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(22766785571888); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(13021025)(13013025)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93003095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123560025)(20161123562025)(20161123555025)(20161123558100)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AMXPR07MB053; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AMXPR07MB053; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AMXPR07MB053; 4:hHmam02ndCcPWbb3XzHxmpKtQMXP+hRaztWp6QlWz7B?= SM0bnJ9bF2w3NXeRLOIV77D03v49T6Mkj33Src48Je3G5Lpnad9Dee3gSDTR0i/m26Iw2vOos8NN+a3V/NtN8RQZAa5jm8wWlM9/nRFK4dJm9zENYnotgzis3o8PLKNGEGiJ+wffrzH4r6KUjAuNnxxmbtJqeYGmaR5kPwa1XOwumFXEIPGyMXOdCQs185TNmoHxoG3kkkN6+HhEc8rYPrnoYeJ+mJFk3+JPbRRhgDPvrMGLkaMD4rfjFZuAwKK+pe+qSnPSjBMOc+z+lFU1zcdGxWTEq0ENDO4iRdrM6B7iAljExi+uyjUP/hFKzCfcqv+Xe+sMnfSF48EkTJwSEG4qr/PecqaGSJ9l6+N+lznrxtPnd7dL+rm8Ffk5LmPOijs6IDwgqv+7zyFZQwbDULkLyrTwx/x1Aq4djLo1zM3+l7a34Ftkqqc4QdyA9Q+YcJYzOlkRQig/zx9DeFIYZp03D1Cg6g1Q0NOkySRklL801OakUbxe0QPaeTFt03EKk92Qy2/3Sa7RUGWWLrxYkAiECw07N/XSCO9wNh1OiiSUq2yLOzqQqeHH11+KsvWkePbpiypzAODxe23eIuRL7Qbns6TuWs405++QJ46pysAdRrbQjJJ+HlQ6Eyco/IAP5ORYy6OhiZbikUxA+zFGIwv7lCY+cL+KeV2KvMwCtF1/uuEjXSGW4XcbM6S631QQ5vdZMXK/uwHGfYqmVrDuVKH+NPzKES6qOHYhhplbjsxl3EASKkJGJ3HkuR/5XF6xb5M5vEGAOiLOa5IVol3wfxYkNx3C0V/4WqNq9sNaP5qk72pBIp9yECjWEC04XA/Z8/ctLtbDQf3/GCfA/nfYjP0GjRk3yrMFtcwgfKTxhM0IGbBONkSrYa7hPvSzy5Me7YnBUvymUQjwMpr51bsEWHtfJDyBRY2s3FtpPBnUW8iZTAUR4LL5AwB6W3rUwQakeS3yM2bNQS8SRLPgWUcaj9lEYjEk5M35gSNnOx1b+j37cY+bXvv6oIH3mMxEt7bxDJbk2lqpoHvyssIjIdVzeoloEyZwgl9GDfgizwJmjyaGhkQrDjMeF2N/03D8TQ+giKjvvDuTYpEKSrLq7s0Xt50/Nw3u74zSRMpYu3xy20QoRhOSZ0jbFqtH6giQ0EbzaU+fsbvlVDXKTKYVNvGhWwPQ+qP4kyUVXr7wVPwS60NcnrHQIpDN/V6o4vAx17XM= X-Forefront-PRVS: 03361FCC43 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AMXPR07MB053; 23:QqfWCP9z6Y2ilTbX+6bg92SLd0cBSsCa7lUczIJXOe?= em3Sei3u0mFdEIqRFBlDrCf++Fo9PkUlii+QazNkvV9Y1oLVd6XRMv0AVlegc6OmkXg3Bwjzxgyg59XxPs1Ah2Qt6WvXE4QqFh6TExaNVwLfyCZEo0z3gwVRya4FEtRGlqZ9ZJ2ToivUVq81cKVcrupjrm0A7NHDYhbOWKZ45jzM6Ra1MFo1E8xwmZsA5gvq/VyxBPawq5Et7hM5anXQBQB6DEyN4jEbaqGiKEUglfukeY3JcazkWK9JmNKitBwQMdC+RPD5Mz8Kd8HBEk4Xztj9ocCSg3FJzCfDI1kW4WiaSBT2QzeI8DjLaIrxguqKXj7JGyMOXKhA65v5aqzVgVvkKVI84eaAh3kMy5x0H5rjAXbt0q11e97ersu8IhELujS6+9Tb7gGn/K+aS4Pl+WfK+E46FkZOxTjUUvDhFhPJy5GSJeXbvfphtc069quBbLPhBawKT4Bzf/IRaux81XW1XhvU8Q/OpTpZaRLzdGCYe8ZaKRkrtvyTYxlwsy0/+lrrVg8yguw0NKjREgRE2TNaBg7Ytjo5kAGCWe7DvSFbQLmjV4/r73G6RC4t/GTma09CrV5mu8ZJity0QhEV6x/84+/dy0bVaMg0esTTODISAY8xqWSLCWU9HX93eQtovmpZ/xMeJlCMZEtmVMcsKIHyzk8MX0ydwQdvL0ml9/SL8Wb9iPTfMgqFauaMDA4GmkCcGyR147R6YjWfZkNmnwemk6PWd+d4Qxg6vneH4gWn9SnU5o0pvwi7AO5qHBWD/5fdcOXiTNbG89YSkeN6fM9LGhwvSrmbFMJpSYO39VjmWttkfP8dCb1hvEEcs8QRbH5c3DBOOaqDol+ULVCYaQUjWW4rfXP29iIazqxCT2ZrGemGcutSwmv2CZwVUuCU2Qug7ox2xo0u06O0XvjrDExWQY/8+n1EyS7Y5hoineWXgq02WbGpRk/TCjOxs6S60= X-Microsoft-Exchange-Diagnostics: 1; AMXPR07MB053; 6:i2QLq0yt0761pmM3VH5M7ZvxZe8N0S02gQLR08xIDtk2bKNrpUrk1f6pQmAky3i+ylP0wkz7MwBwrro4/ZU4zBjhE+zXcEiPg+QmEvenRgkfbf4cEFD7iobg0VjrBDnEq/1rUTn2ecwgfUwzZNU0fZJG1GStaVkiYLwisldhAKmqUfbQjepMdAPAtYcepEVAhQDPEYa1rUcTVaymMDqJ7sHqQLZ1THWUgG/IrLGS7xiCmbaWL5uwE/qDTuH/BluvRbsMEoBYxG8jNtRCC/dFIgauDxLcDbYYQDxS85+/LEMTpTn9DuyAdp15XEUmUGB071trcid7sLZUSnXpHDZCMXzELckaFjWOnds0yDoDy3fJGiPUlYGYOHAUZm3WyiQfKffWKBHgcxJtaijGh4XSmXuM8U54JAvoAi1dsY83ZouJBUv0XMGvS96kJP/WlLCwRe23HS3ohAFGu7Md9GOoOadtAIpEMWaWCl2NHu8soN/askEkSC2O3JHEjsGkdfcaMPH6G3tj3cONwkoYEcxNIKa0kkuNBUKxThuGcnnTlVdvOYj4fDeZ5jCn2AAnFjsY73D7KnSQMY+ZhB67h+OCyQ== X-Microsoft-Exchange-Diagnostics: 1; AMXPR07MB053; 5:5S/KLG8jsUHXnN8micnSGw4lPAVztEV2HsqiOiCUUIKmiFjZyBx92sJ4Cr4Xv5tJb3bm0rwx0tB0dRWlpSHBEwtTRY9JfsrhKJqpRcUcM/kGz5q9RPkIiuso7Gg0/NnPe5AIYDYjss62pVpWbKn5sq4gQAy9A4MeCyebilYoPlkZE9ZiDjDdeG5cebaJlWvZU3kM2NHyYW4jXtN+nrNk0VF4EC0SFAX6lsHvzScZwhkbAiacj8pJBdQmj24pjLiZ4zwOhOZbbNYbxTzsbhmjDkYfuUJi3py4zGHOx11f18Be25kj/3GOP2JSd4cY4LWNF3G6HZ/IXPmzRlsrUKFi/pavKUT5wpSryjEkmDkzoyAvXN7AtFvaPr2f/oQFuqtu8iGoJz1rKaZ9m/FDu4aAQIGummVKdXJFIx5cHc+1lPqX4XyGiARajE84pkr8h2NlQ++6comtj+zm24Nee6PHonNs4+n+4TyGLT80OyrzgCje6cI/vaOKYY/+peUEjpLj; 24:mMGRQ2PCnobmhduCL1LnMV33g0K74gP9MXzz2wXwMIsMYEt6Y19S3550fcLyes7gNQZivnKyVIKy1jX2cRGVf+fbra1nfodO/4JrduNsTgc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AMXPR07MB053; 7:j8E31PK7V5YFFCowsOchQBk6bstYixS8zio9wvZyGJJlmz5uNUsSi2YzP4FUwI+CpnVAnEm1kGAOywrmNOWkm+rihbUnwz+XhXef2CN1ZEflXQdSlJW2yNmLk2MeZ/SyrzuoFhzFvGokNkmoXFWwQVVipiSQAtkXRt5GcTfVtwdC9CHx2D6RmGRvZP5c4RYF+o9mgHbMokcHVJc1XpYLVV1kh6fVi22/RKYDTChHe+THpp04HBR+BdK8Cr4K94FQxjsFYZVsqG4U25Z1jzf4hSNejJFOz5/QMTAStdpgo/Wl2g+IH9DHOOLgTttkioEg/pHaADyUAW5cP8v6FuMc9g== X-OriginatorOrg: nokia.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2017 11:11:59.4017 (UTC) X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0; Ip=[131.228.2.240]; Helo=[mailrelay.int.nokia.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMXPR07MB053 Subject: [lng-odp] [API-NEXT PATCH] linux-gen: queue: clean up after modular interface X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Clean up function and parameter naming after modular interface patch. Queue_t type is referred as "queue internal": queue_int or q_int. Term "handle" is reserved for API level handles (e.g. odp_queue_t, odp_pktio_t, etc) through out linux-gen implementation. Signed-off-by: Petri Savolainen --- platform/linux-generic/include/odp_queue_if.h | 28 +-- .../linux-generic/include/odp_queue_internal.h | 4 +- platform/linux-generic/include/odp_schedule_if.h | 2 +- platform/linux-generic/odp_queue.c | 218 +++++++++++---------- platform/linux-generic/odp_schedule.c | 4 +- platform/linux-generic/odp_schedule_iquery.c | 4 +- platform/linux-generic/odp_schedule_sp.c | 4 +- 7 files changed, 133 insertions(+), 131 deletions(-) -- 2.13.0 diff --git a/platform/linux-generic/include/odp_queue_if.h b/platform/linux-generic/include/odp_queue_if.h index 4359435f..168d0e9e 100644 --- a/platform/linux-generic/include/odp_queue_if.h +++ b/platform/linux-generic/include/odp_queue_if.h @@ -53,24 +53,24 @@ typedef int (*queue_term_global_fn_t)(void); typedef int (*queue_init_local_fn_t)(void); typedef int (*queue_term_local_fn_t)(void); typedef queue_t (*queue_from_ext_fn_t)(odp_queue_t handle); -typedef odp_queue_t (*queue_to_ext_fn_t)(queue_t handle); -typedef int (*queue_enq_fn_t)(queue_t handle, odp_buffer_hdr_t *); -typedef int (*queue_enq_multi_fn_t)(queue_t handle, odp_buffer_hdr_t **, int); -typedef odp_buffer_hdr_t *(*queue_deq_fn_t)(queue_t handle); -typedef int (*queue_deq_multi_fn_t)(queue_t handle, odp_buffer_hdr_t **, int); -typedef odp_pktout_queue_t (*queue_get_pktout_fn_t)(queue_t handle); -typedef void (*queue_set_pktout_fn_t)(queue_t handle, odp_pktio_t pktio, +typedef odp_queue_t (*queue_to_ext_fn_t)(queue_t q_int); +typedef int (*queue_enq_fn_t)(queue_t q_int, odp_buffer_hdr_t *); +typedef int (*queue_enq_multi_fn_t)(queue_t q_int, odp_buffer_hdr_t **, int); +typedef odp_buffer_hdr_t *(*queue_deq_fn_t)(queue_t q_int); +typedef int (*queue_deq_multi_fn_t)(queue_t q_int, odp_buffer_hdr_t **, int); +typedef odp_pktout_queue_t (*queue_get_pktout_fn_t)(queue_t q_int); +typedef void (*queue_set_pktout_fn_t)(queue_t q_int, odp_pktio_t pktio, int index); -typedef odp_pktin_queue_t (*queue_get_pktin_fn_t)(queue_t handle); -typedef void (*queue_set_pktin_fn_t)(queue_t handle, odp_pktio_t pktio, +typedef odp_pktin_queue_t (*queue_get_pktin_fn_t)(queue_t q_int); +typedef void (*queue_set_pktin_fn_t)(queue_t q_int, odp_pktio_t pktio, int index); -typedef void (*queue_set_enq_fn_t)(queue_t handle, queue_enq_fn_t func); -typedef void (*queue_set_enq_multi_fn_t)(queue_t handle, +typedef void (*queue_set_enq_fn_t)(queue_t q_int, queue_enq_fn_t func); +typedef void (*queue_set_enq_multi_fn_t)(queue_t q_int, queue_enq_multi_fn_t func); -typedef void (*queue_set_deq_fn_t)(queue_t handle, queue_deq_fn_t func); -typedef void (*queue_set_deq_multi_fn_t)(queue_t handle, +typedef void (*queue_set_deq_fn_t)(queue_t q_int, queue_deq_fn_t func); +typedef void (*queue_set_deq_multi_fn_t)(queue_t q_int, queue_deq_multi_fn_t func); -typedef void (*queue_set_type_fn_t)(queue_t handle, odp_queue_type_t type); +typedef void (*queue_set_type_fn_t)(queue_t q_int, odp_queue_type_t type); /* Queue functions towards other internal components */ typedef struct { diff --git a/platform/linux-generic/include/odp_queue_internal.h b/platform/linux-generic/include/odp_queue_internal.h index 0c31ce8a..d79abd23 100644 --- a/platform/linux-generic/include/odp_queue_internal.h +++ b/platform/linux-generic/include/odp_queue_internal.h @@ -78,9 +78,9 @@ static inline uint32_t queue_to_id(odp_queue_t handle) return _odp_typeval(handle) - 1; } -static inline queue_entry_t *qentry_from_int(queue_t handle) +static inline queue_entry_t *qentry_from_int(queue_t q_int) { - return (queue_entry_t *)(void *)(handle); + return (queue_entry_t *)(void *)(q_int); } static inline queue_t qentry_to_int(queue_entry_t *qentry) diff --git a/platform/linux-generic/include/odp_schedule_if.h b/platform/linux-generic/include/odp_schedule_if.h index 9adacef7..5d10cd37 100644 --- a/platform/linux-generic/include/odp_schedule_if.h +++ b/platform/linux-generic/include/odp_schedule_if.h @@ -26,7 +26,7 @@ typedef int (*schedule_init_queue_fn_t)(uint32_t queue_index, typedef void (*schedule_destroy_queue_fn_t)(uint32_t queue_index); typedef int (*schedule_sched_queue_fn_t)(uint32_t queue_index); typedef int (*schedule_unsched_queue_fn_t)(uint32_t queue_index); -typedef int (*schedule_ord_enq_multi_fn_t)(queue_t handle, +typedef int (*schedule_ord_enq_multi_fn_t)(queue_t q_int, void *buf_hdr[], int num, int *ret); typedef int (*schedule_init_global_fn_t)(void); typedef int (*schedule_term_global_fn_t)(void); diff --git a/platform/linux-generic/odp_queue.c b/platform/linux-generic/odp_queue.c index 3e18f578..19945584 100644 --- a/platform/linux-generic/odp_queue.c +++ b/platform/linux-generic/odp_queue.c @@ -35,20 +35,22 @@ #include #include +static int queue_init(queue_entry_t *queue, const char *name, + const odp_queue_param_t *param); + typedef struct queue_table_t { queue_entry_t queue[ODP_CONFIG_QUEUES]; } queue_table_t; static queue_table_t *queue_tbl; -static queue_t queue_from_ext(odp_queue_t handle); -static int _queue_enq(queue_t handle, odp_buffer_hdr_t *buf_hdr); -static odp_buffer_hdr_t *_queue_deq(queue_t handle); +static inline queue_entry_t *handle_to_qentry(odp_queue_t handle) +{ + uint32_t queue_id; -static int _queue_enq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], - int num); -static int _queue_deq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], - int num); + queue_id = queue_to_id(handle); + return get_qentry(queue_id); +} static inline odp_queue_t queue_from_id(uint32_t queue_id) { @@ -70,50 +72,6 @@ queue_entry_t *get_qentry(uint32_t queue_id) return &queue_tbl->queue[queue_id]; } -static int queue_init(queue_entry_t *queue, const char *name, - const odp_queue_param_t *param) -{ - if (name == NULL) { - queue->s.name[0] = 0; - } else { - strncpy(queue->s.name, name, ODP_QUEUE_NAME_LEN - 1); - queue->s.name[ODP_QUEUE_NAME_LEN - 1] = 0; - } - memcpy(&queue->s.param, param, sizeof(odp_queue_param_t)); - if (queue->s.param.sched.lock_count > sched_fn->max_ordered_locks()) - return -1; - - if (param->type == ODP_QUEUE_TYPE_SCHED) { - queue->s.param.deq_mode = ODP_QUEUE_OP_DISABLED; - - if (param->sched.sync == ODP_SCHED_SYNC_ORDERED) { - unsigned i; - - odp_atomic_init_u64(&queue->s.ordered.ctx, 0); - odp_atomic_init_u64(&queue->s.ordered.next_ctx, 0); - - for (i = 0; i < queue->s.param.sched.lock_count; i++) - odp_atomic_init_u64(&queue->s.ordered.lock[i], - 0); - } - } - queue->s.type = queue->s.param.type; - - queue->s.enqueue = _queue_enq; - queue->s.dequeue = _queue_deq; - queue->s.enqueue_multi = _queue_enq_multi; - queue->s.dequeue_multi = _queue_deq_multi; - - queue->s.pktin = PKTIN_INVALID; - queue->s.pktout = PKTOUT_INVALID; - - queue->s.head = NULL; - queue->s.tail = NULL; - - return 0; -} - - static int queue_init_global(void) { uint32_t i; @@ -204,27 +162,27 @@ static int queue_capability(odp_queue_capability_t *capa) static odp_queue_type_t queue_type(odp_queue_t handle) { - return qentry_from_int(queue_from_ext(handle))->s.type; + return handle_to_qentry(handle)->s.type; } static odp_schedule_sync_t queue_sched_type(odp_queue_t handle) { - return qentry_from_int(queue_from_ext(handle))->s.param.sched.sync; + return handle_to_qentry(handle)->s.param.sched.sync; } static odp_schedule_prio_t queue_sched_prio(odp_queue_t handle) { - return qentry_from_int(queue_from_ext(handle))->s.param.sched.prio; + return handle_to_qentry(handle)->s.param.sched.prio; } static odp_schedule_group_t queue_sched_group(odp_queue_t handle) { - return qentry_from_int(queue_from_ext(handle))->s.param.sched.group; + return handle_to_qentry(handle)->s.param.sched.group; } static int queue_lock_count(odp_queue_t handle) { - queue_entry_t *queue = qentry_from_int(queue_from_ext(handle)); + queue_entry_t *queue = handle_to_qentry(handle); return queue->s.param.sched.sync == ODP_SCHED_SYNC_ORDERED ? (int)queue->s.param.sched.lock_count : -1; @@ -299,7 +257,7 @@ void sched_cb_queue_destroy_finalize(uint32_t queue_index) static int queue_destroy(odp_queue_t handle) { queue_entry_t *queue; - queue = qentry_from_int(queue_from_ext(handle)); + queue = handle_to_qentry(handle); if (handle == ODP_QUEUE_INVALID) return -1; @@ -352,14 +310,14 @@ static int queue_context_set(odp_queue_t handle, void *context, uint32_t len ODP_UNUSED) { odp_mb_full(); - qentry_from_int(queue_from_ext(handle))->s.param.context = context; + handle_to_qentry(handle)->s.param.context = context; odp_mb_full(); return 0; } static void *queue_context(odp_queue_t handle) { - return qentry_from_int(queue_from_ext(handle))->s.param.context; + return handle_to_qentry(handle)->s.param.context; } static odp_queue_t queue_lookup(const char *name) @@ -385,7 +343,7 @@ static odp_queue_t queue_lookup(const char *name) return ODP_QUEUE_INVALID; } -static inline int enq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], +static inline int enq_multi(queue_t q_int, odp_buffer_hdr_t *buf_hdr[], int num) { int sched = 0; @@ -393,8 +351,8 @@ static inline int enq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], queue_entry_t *queue; odp_buffer_hdr_t *hdr, *tail, *next_hdr; - queue = qentry_from_int(handle); - if (sched_fn->ord_enq_multi(handle, (void **)buf_hdr, num, &ret)) + queue = qentry_from_int(q_int); + if (sched_fn->ord_enq_multi(q_int, (void **)buf_hdr, num, &ret)) return ret; /* Optimize the common case of single enqueue */ @@ -462,17 +420,17 @@ static inline int enq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], return num; /* All events enqueued */ } -static int _queue_enq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], - int num) +static int queue_int_enq_multi(queue_t q_int, odp_buffer_hdr_t *buf_hdr[], + int num) { - return enq_multi(handle, buf_hdr, num); + return enq_multi(q_int, buf_hdr, num); } -static int _queue_enq(queue_t handle, odp_buffer_hdr_t *buf_hdr) +static int queue_int_enq(queue_t q_int, odp_buffer_hdr_t *buf_hdr) { int ret; - ret = enq_multi(handle, &buf_hdr, 1); + ret = enq_multi(q_int, &buf_hdr, 1); if (ret == 1) return 0; @@ -489,7 +447,7 @@ static int queue_enq_multi(odp_queue_t handle, const odp_event_t ev[], int num) if (num > QUEUE_MULTI_MAX) num = QUEUE_MULTI_MAX; - queue = qentry_from_int(queue_from_ext(handle)); + queue = handle_to_qentry(handle); for (i = 0; i < num; i++) buf_hdr[i] = buf_hdl_to_hdr(odp_buffer_from_event(ev[i])); @@ -503,13 +461,13 @@ static int queue_enq(odp_queue_t handle, odp_event_t ev) odp_buffer_hdr_t *buf_hdr; queue_entry_t *queue; - queue = qentry_from_int(queue_from_ext(handle)); + queue = handle_to_qentry(handle); buf_hdr = buf_hdl_to_hdr(odp_buffer_from_event(ev)); return queue->s.enqueue(qentry_to_int(queue), buf_hdr); } -static inline int deq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], +static inline int deq_multi(queue_t q_int, odp_buffer_hdr_t *buf_hdr[], int num) { odp_buffer_hdr_t *hdr, *next; @@ -517,7 +475,7 @@ static inline int deq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], queue_entry_t *queue; int updated = 0; - queue = qentry_from_int(handle); + queue = qentry_from_int(q_int); LOCK(&queue->s.lock); if (odp_unlikely(queue->s.status < QUEUE_STATUS_READY)) { /* Bad queue, or queue has been destroyed. @@ -583,18 +541,18 @@ static inline int deq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], return i; } -static int _queue_deq_multi(queue_t handle, odp_buffer_hdr_t *buf_hdr[], - int num) +static int queue_int_deq_multi(queue_t q_int, odp_buffer_hdr_t *buf_hdr[], + int num) { - return deq_multi(handle, buf_hdr, num); + return deq_multi(q_int, buf_hdr, num); } -static odp_buffer_hdr_t *_queue_deq(queue_t handle) +static odp_buffer_hdr_t *queue_int_deq(queue_t q_int) { odp_buffer_hdr_t *buf_hdr = NULL; int ret; - ret = deq_multi(handle, &buf_hdr, 1); + ret = deq_multi(q_int, &buf_hdr, 1); if (ret == 1) return buf_hdr; @@ -611,7 +569,7 @@ static int queue_deq_multi(odp_queue_t handle, odp_event_t events[], int num) if (num > QUEUE_MULTI_MAX) num = QUEUE_MULTI_MAX; - queue = qentry_from_int(queue_from_ext(handle)); + queue = handle_to_qentry(handle); ret = queue->s.dequeue_multi(qentry_to_int(queue), buf_hdr, num); @@ -627,7 +585,7 @@ static odp_event_t queue_deq(odp_queue_t handle) queue_entry_t *queue; odp_buffer_hdr_t *buf_hdr; - queue = qentry_from_int(queue_from_ext(handle)); + queue = handle_to_qentry(handle); buf_hdr = queue->s.dequeue(qentry_to_int(queue)); if (buf_hdr) @@ -636,6 +594,49 @@ static odp_event_t queue_deq(odp_queue_t handle) return ODP_EVENT_INVALID; } +static int queue_init(queue_entry_t *queue, const char *name, + const odp_queue_param_t *param) +{ + if (name == NULL) { + queue->s.name[0] = 0; + } else { + strncpy(queue->s.name, name, ODP_QUEUE_NAME_LEN - 1); + queue->s.name[ODP_QUEUE_NAME_LEN - 1] = 0; + } + memcpy(&queue->s.param, param, sizeof(odp_queue_param_t)); + if (queue->s.param.sched.lock_count > sched_fn->max_ordered_locks()) + return -1; + + if (param->type == ODP_QUEUE_TYPE_SCHED) { + queue->s.param.deq_mode = ODP_QUEUE_OP_DISABLED; + + if (param->sched.sync == ODP_SCHED_SYNC_ORDERED) { + unsigned i; + + odp_atomic_init_u64(&queue->s.ordered.ctx, 0); + odp_atomic_init_u64(&queue->s.ordered.next_ctx, 0); + + for (i = 0; i < queue->s.param.sched.lock_count; i++) + odp_atomic_init_u64(&queue->s.ordered.lock[i], + 0); + } + } + queue->s.type = queue->s.param.type; + + queue->s.enqueue = queue_int_enq; + queue->s.dequeue = queue_int_deq; + queue->s.enqueue_multi = queue_int_enq_multi; + queue->s.dequeue_multi = queue_int_deq_multi; + + queue->s.pktin = PKTIN_INVALID; + queue->s.pktout = PKTOUT_INVALID; + + queue->s.head = NULL; + queue->s.tail = NULL; + + return 0; +} + void queue_lock(queue_entry_t *queue) { LOCK(&queue->s.lock); @@ -776,64 +777,65 @@ static uint64_t queue_to_u64(odp_queue_t hdl) return _odp_pri(hdl); } -static odp_pktout_queue_t queue_get_pktout(queue_t handle) +static odp_pktout_queue_t queue_get_pktout(queue_t q_int) { - return qentry_from_int(handle)->s.pktout; + return qentry_from_int(q_int)->s.pktout; } -static void queue_set_pktout(queue_t handle, odp_pktio_t pktio, int index) +static void queue_set_pktout(queue_t q_int, odp_pktio_t pktio, int index) { - qentry_from_int(handle)->s.pktout.pktio = pktio; - qentry_from_int(handle)->s.pktout.index = index; + queue_entry_t *qentry = qentry_from_int(q_int); + + qentry->s.pktout.pktio = pktio; + qentry->s.pktout.index = index; } -static odp_pktin_queue_t queue_get_pktin(queue_t handle) +static odp_pktin_queue_t queue_get_pktin(queue_t q_int) { - return qentry_from_int(handle)->s.pktin; + return qentry_from_int(q_int)->s.pktin; } -static void queue_set_pktin(queue_t handle, odp_pktio_t pktio, int index) +static void queue_set_pktin(queue_t q_int, odp_pktio_t pktio, int index) { - qentry_from_int(handle)->s.pktin.pktio = pktio; - qentry_from_int(handle)->s.pktin.index = index; + queue_entry_t *qentry = qentry_from_int(q_int); + + qentry->s.pktin.pktio = pktio; + qentry->s.pktin.index = index; } -static void queue_set_enq_func(queue_t handle, queue_enq_fn_t func) +static void queue_set_enq_func(queue_t q_int, queue_enq_fn_t func) { - qentry_from_int(handle)->s.enqueue = func; + qentry_from_int(q_int)->s.enqueue = func; } -static void queue_set_enq_multi_func(queue_t handle, queue_enq_multi_fn_t func) +static void queue_set_enq_multi_func(queue_t q_int, queue_enq_multi_fn_t func) { - qentry_from_int(handle)->s.enqueue_multi = func; + qentry_from_int(q_int)->s.enqueue_multi = func; } -static void queue_set_deq_func(queue_t handle, queue_deq_fn_t func) +static void queue_set_deq_func(queue_t q_int, queue_deq_fn_t func) { - qentry_from_int(handle)->s.dequeue = func; + qentry_from_int(q_int)->s.dequeue = func; } -static void queue_set_deq_multi_func(queue_t handle, queue_deq_multi_fn_t func) +static void queue_set_deq_multi_func(queue_t q_int, queue_deq_multi_fn_t func) { - qentry_from_int(handle)->s.dequeue_multi = func; + qentry_from_int(q_int)->s.dequeue_multi = func; } -static void queue_set_type(queue_t handle, odp_queue_type_t type) +static void queue_set_type(queue_t q_int, odp_queue_type_t type) { - qentry_from_int(handle)->s.type = type; + qentry_from_int(q_int)->s.type = type; } static queue_t queue_from_ext(odp_queue_t handle) { - uint32_t queue_id; - - queue_id = queue_to_id(handle); - return qentry_to_int(get_qentry(queue_id)); + return qentry_to_int(handle_to_qentry(handle)); } -static odp_queue_t queue_to_ext(queue_t handle) +static odp_queue_t queue_to_ext(queue_t q_int) { - return qentry_from_int(handle)->s.handle; + return qentry_from_int(q_int)->s.handle; } /* API functions */ @@ -866,10 +868,10 @@ queue_fn_t queue_default_fn = { .term_local = queue_term_local, .from_ext = queue_from_ext, .to_ext = queue_to_ext, - .enq = _queue_enq, - .enq_multi = _queue_enq_multi, - .deq = _queue_deq, - .deq_multi = _queue_deq_multi, + .enq = queue_int_enq, + .enq_multi = queue_int_enq_multi, + .deq = queue_int_deq, + .deq_multi = queue_int_deq_multi, .get_pktout = queue_get_pktout, .set_pktout = queue_set_pktout, .get_pktin = queue_get_pktin, diff --git a/platform/linux-generic/odp_schedule.c b/platform/linux-generic/odp_schedule.c index 011d4dc4..92634235 100644 --- a/platform/linux-generic/odp_schedule.c +++ b/platform/linux-generic/odp_schedule.c @@ -712,12 +712,12 @@ static inline int copy_events(odp_event_t out_ev[], unsigned int max) return i; } -static int schedule_ord_enq_multi(queue_t handle, void *buf_hdr[], +static int schedule_ord_enq_multi(queue_t q_int, void *buf_hdr[], int num, int *ret) { int i; uint32_t stash_num = sched_local.ordered.stash_num; - queue_entry_t *dst_queue = qentry_from_int(handle); + queue_entry_t *dst_queue = qentry_from_int(q_int); queue_entry_t *src_queue = sched_local.ordered.src_queue; if (!sched_local.ordered.src_queue || sched_local.ordered.in_order) diff --git a/platform/linux-generic/odp_schedule_iquery.c b/platform/linux-generic/odp_schedule_iquery.c index bdf1a460..79086843 100644 --- a/platform/linux-generic/odp_schedule_iquery.c +++ b/platform/linux-generic/odp_schedule_iquery.c @@ -1159,12 +1159,12 @@ static inline void schedule_release_context(void) schedule_release_atomic(); } -static int schedule_ord_enq_multi(queue_t handle, void *buf_hdr[], +static int schedule_ord_enq_multi(queue_t q_int, void *buf_hdr[], int num, int *ret) { int i; uint32_t stash_num = thread_local.ordered.stash_num; - queue_entry_t *dst_queue = qentry_from_int(handle); + queue_entry_t *dst_queue = qentry_from_int(q_int); queue_entry_t *src_queue = thread_local.ordered.src_queue; if (!thread_local.ordered.src_queue || thread_local.ordered.in_order) diff --git a/platform/linux-generic/odp_schedule_sp.c b/platform/linux-generic/odp_schedule_sp.c index 91d70e3a..66715c13 100644 --- a/platform/linux-generic/odp_schedule_sp.c +++ b/platform/linux-generic/odp_schedule_sp.c @@ -414,10 +414,10 @@ static int unsched_queue(uint32_t qi ODP_UNUSED) return 0; } -static int ord_enq_multi(queue_t handle, void *buf_hdr[], int num, +static int ord_enq_multi(queue_t q_int, void *buf_hdr[], int num, int *ret) { - (void)handle; + (void)q_int; (void)buf_hdr; (void)num; (void)ret;