From patchwork Sat May 27 10:25:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyansh Jain X-Patchwork-Id: 24766 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id E67E57D00; Sat, 27 May 2017 12:18:40 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0055.outbound.protection.outlook.com [104.47.36.55]) by dpdk.org (Postfix) with ESMTP id 84D0D2986 for ; Sat, 27 May 2017 12:18:29 +0200 (CEST) Received: from BN3PR03CA0088.namprd03.prod.outlook.com (2a01:111:e400:7a4d::48) by DM2PR0301MB0912.namprd03.prod.outlook.com (2a01:111:e400:501d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9; Sat, 27 May 2017 10:18:27 +0000 Received: from BL2FFO11FD017.protection.gbl (2a01:111:f400:7c09::193) by BN3PR03CA0088.outlook.office365.com (2a01:111:e400:7a4d::48) 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; Sat, 27 May 2017 10:18:28 +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 BL2FFO11FD017.mail.protection.outlook.com (10.173.161.35) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1075.5 via Frontend Transport; Sat, 27 May 2017 10:18:27 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.39]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v4RAHYu3029968; Sat, 27 May 2017 03:18:25 -0700 From: Shreyansh Jain To: CC: , Date: Sat, 27 May 2017 15:55:13 +0530 Message-ID: <1495880735-1651-18-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495880735-1651-1-git-send-email-shreyansh.jain@nxp.com> References: <1495880735-1651-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131403539074593818; (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)(39400400002)(39850400002)(39450400003)(39840400002)(39410400002)(39860400002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(2906002)(68736007)(76176999)(77096006)(50986999)(5660300001)(104016004)(356003)(81166006)(8656002)(2351001)(85426001)(50226002)(8936002)(305945005)(48376002)(54906002)(50466002)(106466001)(105606002)(86362001)(36756003)(6916009)(2950100002)(189998001)(38730400002)(4326008)(33646002)(110136004)(53936002)(47776003)(8676002)(6666003)(5003940100001)(498600001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0912; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD017; 1:vXbl0Y6veO5iYX8j/PWyoHZ0ZnUKmLZz/d+9QBjqry27m5NW0Q9wieYjFAV2moguHCpvg/BujaRbsJRKhYxHi1tOLgCkgpz3Hd2BvxZN4mU0PBDzuAxGGWLKmqWanZ/E2gDIY/nHFosiPvQtT6OlxFHxDFkSxP/6iLbGa852VnorJk0WI4k+u+uhQMw8QumDONykqsTx29uyDkXznqa44SbwiG1XB5Omj9/DoV2ssAAnAFScwvxT/Xo8cTPnmQfDJtGreRmqMxgXIhTkS1miRNknEorVRL+W/NhP/1jSEVyMG4M4T/6ST24Gc87RsXUQqi+5P5ALPh+ZLMyeTQQ/gjlQhu2Hsa++DlFYI8eXfOCEqnOpS1ZxUTl1QjEBQqRfhkFJf0eiMultOpVL4kWzwXgS18RGo6bdupJbpBc7V2byPddrC93WRZoZZgLS5rKS3Jas00ROdtGFJSo/d8OJWkzZB1krgN0S7IXnurmsIxUJKM0fXEdHVreMV5jvUxfy+wgUKviMQpwiKmXWhFS60n6TapLbigWpw9VuHhhVqnWXf/SdfYRcyIHCLv+aAkCK+DQCAkeZlfa3Q0MoQp5N/KeSursIazU5z21W4I3pAxoLyQsUYRs1Pc+Eozd8BFjwr1viUItW9ZO66f+4hz/V5xNvMtdiYSVfcKPVFg5tuOzMaCserxR2gf78CabqylrL2Te18KKnez8Z9er7NM34xQ== MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM2PR0301MB0912: X-MS-Office365-Filtering-Correlation-Id: aac84f58-0939-4c18-341a-08d4a4e9b73c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:DM2PR0301MB0912; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0912; 3:69O3lZ2ZO1WHWP2dguh83nS4BdJ2NJyg5qgfME1w4R0M32PgXnqd9NVQ0MM+BSpPCZb36eyXMoWhYruafXjvwD0YjxFRHWbAEGJ0LT8pZPeLQRYq+NR8Oa6Mm0LUMzskSyGxjPdaa5HX0Rg8oxfFNwlZ6kkBkWRw03hXVqu66rgM16ajieGSFLZhqJ1HJ7v7vxXfKrDjbI9j8xBOBmzFvwfhQIz1BOgotkoV8aTG1ygAyjNrq/9p53KIZN+2dTTBP2u9ahFNI9bZTsJ+B6S0LHc/dJxkQ1BlSZOqMIstcDkOhoF1xUwudZP6LuTv3RgGufYsICRsg7QPThR9RiguS0Z0qWn+N9hskVkr688WuNZPPphMXKljx0vqHmNY1xbBq83BdTS8Gru0fjLgG5rfhz17Tbikt2R3wYEngsUX+xHtm+PphSy1YpD7GR8A18MY; 25:C8z0PPWoqhiOQGQ/2Jmv/J2U2jSJa1sVB0PP51V+oS9S0rj8UgL11tOzgTVhOctsWdYf4Ri1de0CYr5vulUJO6gUHoA1w4BfA/Glhcrrdjh4YVkc9KO3ohDDueGnSyNPvXenL+xUZpVG0IURGB+N7/1/kwGi8FQJ0dKM9gfvpGYmPkxw+RN3xXeFkiCS6OSEDI/9SFuNmbCjcVdhoKVA16O3DjjsBSyq7SNpr7L0LKOvtz3VIdzYRqb5qnbvR1C+R6k//FF9HrKLi9q7aLOFkZUZbX+b8PnjZdtcxxg+nKP6ZWJ6K9rXxjMOeNaiMqql1YGImFBL7+44z4FXUHMK9Uf0ZUbD6iOBOtOKC/an6E5VPig/e3v6N9gxu/1Zfs5yPEY9tZ5vH+jL43LZ4D8kwnc4V4eV1cnXLImIMzuaGqcaf3M7EfX8OTrsT0CQhsgxITbtgzsy8BdHu1haAcDQvdcH/G4Zpxe2cjN5wvMjE3k= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0912; 31:wZ+gV+kCH/60wFBUAaqk4bCc3E0+QhTtg8N7coVP9AhUvcek2Eg+AAR6P7mDIX4VNsgzBtC04aYMxCIicr/5z51oFGe/CdMuiqEl8GhOT9H2re/YbGY31OhjDGKz3e5XZXz9a1ugPNdZEwhJjl9AJrDq0HMpITPAIryhCZQdTiWM2K0rvyUisZ9nPVJlGAcD1slO37Nhs2hYL9O37rJTOvfvuoY4eA7oGGPYqmymVFMOHFGUAhGrkOTDwOXW/5TpCy/anfKuhxvjj7JMEXadrA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13016025)(5005006)(8121501046)(13018025)(10201501046)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123556025)(20161123561025)(20161123563025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123565025)(20161123559100); SRVR:DM2PR0301MB0912; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0912; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0912; 4:fapp19gtYUPcdoPMezTK/qk6kKA3gZ7B2AYFYoGa8rIsEnZjoRDkYzNW3a0W4gIJtGesZZlGAqhBt8JEraPLFW+K/HCbx5pmatuJuQFvHXE778Rv+TIdkPTvkaaSYFNPduRVZRvyAoXjif8/YlMaUAPEbRRiWtDtbGYKuu+xadouue8Qa/WQBJaXwjUrHol4vnWFyu1LyyOBnh2SnhpK5Dxmf2pckglL0r3lyeqmOT6MoEzrZd2IIA/whn9xGrF2RalXSjtZ8g/PrdMjrvdhdzj3NMskorc+zyUa3rN76f9absu+hE4zipVUXMRL2KD8ffceWtXhLuSHP79/JbApi3ET+umgDxYpz9M8Ccg/0yJheYaFF9zsSiH6hRF3u+Wsqw02k3f9ur8HEJRZ4EYA6D/81XA8n2BEPLYYjynLmNR2W4IQ9OWjz/WFaEiXLGy/EzRxF7i52J3CuBOaa1fXE8U17zQNQWwxeOgr3xZyObs0tPnJUK8E9GBTlGJPaWsGADbtU8Ls5vDbHPj3OlIiKnozRWYAPtuYxs6Iyvl03Rzb1pl78+ydz5CxDjHlGTnXrxdAie2/LCh7ggls+iYdOpwImz4PZIF8Ud9pMWLvsIEg/JFLEsVba9EMlEKnu7INmFpBqw0dra8D7Y2v7Xuce9QzGyKISlv+ss76L4m2d5bQYIyknGwEOBrCZD6PD0NnBN1cRHOr6uenl2mO9706/t//ZB/7nlrXkioRYHlTNip1ce8FsD8o8PyZqv7Ay4NCR/q05lxodlDiKION03ANa1ekaKG7vSol4RKWRkGWfx9MGkAhentNGRzYrtmyBekkoM7W9MCRxlG0tqYws+XfZWrG+T5vWNKbF1F8IkXdKrRLzp/22UDsw+6RzZM3p3EsM37kJa/Ln2YVT2yM2wcBLw9huTJ+wVHsTeI+Ablg0t6SMnIwtpGumqjfebc2Ph7T X-Forefront-PRVS: 0320B28BE1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0912; 23:jJk1bTNkjsYdYZgUflpscBmvcf8cMM7/ZiVBTBQ?= JtrVi98v7zJTtqv82FUGSGvcFko1cU6+qYC5PiteICs86psvSvu3vRy2fPZv6tmUHBN9n6FKbK8C56KQY29MA/5OLmgwJyasNf5Miu/07Mge5IQ1OACv7OL3I0cKY3VqwdGdjk8XreJURaiAjB2DwvfaxpzJ6UI0B+qg54p0V642Z5641pfSC5tJRMcQ+wvsS3finCAoIgkAFPiBNenX+WdcMJd4KXHropC40LOVoP3bkT5bRINiwlA41fNfEDMFk0UrlF7Dl/6KNjgJ05E+F/cx5V0lEoxTjzR1Mhan5urTrsYtH72PFlHcOTT0+AEFt7Ayqw5IeWWe0uGaguvrvDT6Fb+eiblulLjGaG7pMXYHQPr/NNeCnpT0uTqEcQPzOyxHqDz8dubBR23ZbyGbbRZtTek0/sQ96wcD3lpoxz+UtDsS4N0F80ZEP/pMup6GdjxjrJwZVx8Tfb4UmPJBwhVihkbsU9hirjzQY19NLHgGMNh2WoZBqwVGqIlTyICB4T6fO4YqHyyJp0ruBxrJPTKiE6biyGpG2LDRxPxuHTZnYfu7ebwuP5Pr/OOtatdzTGiHFJwilCrbSISsiPiIGEfyiEhqa/atSL97wduedYFho1nTOHHeQywVWO/d/ORZaZW5e/LW+sh3rk1GHM+oZAx3HaRJRmCwGfkRbBK+BRUGF6SeHJIUewh20WXx318nOaPnUl1NgAyd4Zf8xPf4Oj9ZefoSpcf/I2NavDHNpKYBtADc5GekeQ99eF1zUCEPwsXJdZax2NCT4vuyBmFPXLjL9YBI4oNvvCIi+iz5QxAOlQMKLlhPFecsq02vmZkjs0IkO9uKysmiPUn+rDolGShMgQG03xZHDkYBIne7Bwa34dOOFnIJi8MobR3EhVDH26gve2yZ2xwMu5ZEFjevSwqNayKWffk3VwejVpEBA6F8JiXymP+uURmNVmfIjYpYaeM8GiS8ZFgRL2EcZnayQw+Rnx+prDRNL/U9SwIp1Tr876NhidfK1MdmYcipeDG/qWQe2/k3WqDJ0iXjjQ0MJzIEbDUW2FA/j6xWr0ZoAhxAWvJzzEl3AV4YUmxdUTzJZ4VH8da9fULwg8BP8ro/suEJXJCx71TSZikd17BjBgKeDgzpMbrQy35ws1YkgWOtxM+qquvpZZhuMcAlbfd6/GQJorvEzRw6GAtZxI27lspQNC5jLP6AcYKxlHePR+1XHYjaD4qYJ6qLUHeynDTpZ9dxW X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0912; 6:ddcLtdyfOn0YwW3juwUps7SiwOeSQRww9zRdI0D94samzH+7s5SYuOgsBxmK10rUFJYN8xLGp0pRN4lUldGmGYXZ5YlP7dU9XWKw/ODRTK0szqGbefqTXkvHG6dTtMxe3srjvY1l5jWGaSchtrI2R7uUR+RR6nDUUh+AOC9E4yBiJjeYc2H2loVmWPUcj0aOJz67yizVbQ1iLnV7Vudq16NPhe+AiGkzJtSLdcAKTTSzR77fYQje5PHKzundOCa6A0VWQ4tpU07fizL7tDgipfqMIdIrENtrKSj4bHn9fxDWzArM8lzVTzq9v7F4Ax/6qJfZ7g5E36diRCC2Y+uGO55SYl1cHJpZwcYHWhEttt4kFvHHknr7a3ugBDCONSHm/46xBwCZa0SFPRhF3ImG6Y0vULuIo8aKgzoNbjysFV47doKcTcPrxo12GABtVgCqFajaJ4r6Ywjt9c9j4daygxBme3rzbQHfvinLOJQE3uYB5IK5q5ffGciiPO8E8aBTWRfpCN6R94cvmEPfesU/7w==; 5:dWdadZXFoU33ymFFWdOgMrXsZUNdcFk6GzVkTx54Y/jnxsnQYe7oSYnx4pEW/IPsinCQoAKKZriq5KtPBZAOaD7dS3ypewMC8Xdy7WLt+hfgfXt1mM389EDGv7xGPt9pGsxi353uVzGeUCB2MPOoVgJZF5MUgxqbQHfCMkcR3Lmfs908bQoKmWZqZQhwGs6y; 24:qlKmJfuJX7BKTMNoPRS4ENncqCErdLMxWqE4/QhHp2spt1kEjP5yJW5SMaEo6v3yJ8Sn1uxbrf+5dQl811e0od2whwT+2rB6lHt29C//KjA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0912; 7:i6S5b2jQeDPQ/yqml8tT+tQurJSXxILF7wvlOD6MDPqJ2I/5sPFSTcVAeBtbH2qhAtTUcwWQywDSlyT+b88ysdGll0vk70eR8roqrqeqt/VPEgyBMF/RLY0qZO0SjkbA6NSFI9GAPOuD7RlKjY76lT0gUIrPnIx7Hxhr201Nx2bbSDZmOzONybsS3iUsF7F3l/lN6MjxkKOT3O+FfwVEoTxpqCxfXJq8l5VBCe5JMDkWINZiqu21FKHypkHie5y2+dyeOFotOUpYtHEqQH2/W5wH9BTsKd536v72fmUZkDE59YpfWFYSK7ngitQyYmHQzQTYgnrUa4F0d94DmHdRfA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2017 10:18:27.2409 (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: DM2PR0301MB0912 Subject: [dpdk-dev] [RFC Patch 17/39] bus/dpaa: add fman flow control threshold setting 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Geoff Thorpe Signed-off-by: Roy Pledge Signed-off-by: Hemant Agrawal Signed-off-by: Shreyansh Jain --- drivers/bus/dpaa/base/fman/fman_hw.c | 28 ++++++++++++++++++++++++++++ drivers/bus/dpaa/include/fsl_fman.h | 7 +++++++ 2 files changed, 35 insertions(+) diff --git a/drivers/bus/dpaa/base/fman/fman_hw.c b/drivers/bus/dpaa/base/fman/fman_hw.c index 77908ec..7618fc1 100644 --- a/drivers/bus/dpaa/base/fman/fman_hw.c +++ b/drivers/bus/dpaa/base/fman/fman_hw.c @@ -37,6 +37,7 @@ */ #include #include +#include /* Instantiate the global variable that the inline CRC64 implementation (in * ) depends on. @@ -437,6 +438,33 @@ fman_if_set_bp(struct fman_if *fm_if, unsigned num __always_unused, } int +fman_if_get_fc_threshold(struct fman_if *fm_if) +{ + struct __fman_if *__if = container_of(fm_if, struct __fman_if, __if); + unsigned int *fmbm_mpd; + + assert(fman_ccsr_map_fd != -1); + + fmbm_mpd = &((struct rx_bmi_regs *)__if->bmi_map)->fmbm_mpd; + return in_be32(fmbm_mpd); +} + +int +fman_if_set_fc_threshold(struct fman_if *fm_if, u32 high_water, + u32 low_water, u32 bpid) +{ + struct __fman_if *__if = container_of(fm_if, struct __fman_if, __if); + unsigned int *fmbm_mpd; + + assert(fman_ccsr_map_fd != -1); + + fmbm_mpd = &((struct rx_bmi_regs *)__if->bmi_map)->fmbm_mpd; + out_be32(fmbm_mpd, FMAN_ENABLE_BPOOL_DEPLETION); + return bm_pool_set_hw_threshold(bpid, low_water, high_water); + +} + +int fman_if_get_fc_quanta(struct fman_if *fm_if) { struct __fman_if *__if = container_of(fm_if, struct __fman_if, __if); diff --git a/drivers/bus/dpaa/include/fsl_fman.h b/drivers/bus/dpaa/include/fsl_fman.h index 0aff22c..b94bc56 100644 --- a/drivers/bus/dpaa/include/fsl_fman.h +++ b/drivers/bus/dpaa/include/fsl_fman.h @@ -120,6 +120,13 @@ void fman_if_loopback_disable(struct fman_if *); void fman_if_set_bp(struct fman_if *fm_if, unsigned int num, int bpid, size_t bufsize); +/* Get Flow Control threshold parameters on specific interface */ +int fman_if_get_fc_threshold(struct fman_if *fm_if); + +/* Enable and Set Flow Control threshold parameters on specific interface */ +int fman_if_set_fc_threshold(struct fman_if *fm_if, + u32 high_water, u32 low_water, u32 bpid); + /* Get Flow Control pause quanta on specific interface */ int fman_if_get_fc_quanta(struct fman_if *fm_if);