From patchwork Wed Nov 16 14:40:29 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Manoil X-Patchwork-Id: 695639 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tJnZq09DKz9s65 for ; Thu, 17 Nov 2016 02:03:47 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3tJnZp6FlMzDwnm for ; Thu, 17 Nov 2016 02:03:46 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0043.outbound.protection.outlook.com [104.47.34.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3tJn4l4l54zDvdX for ; Thu, 17 Nov 2016 01:41:11 +1100 (AEDT) Received: from BN6PR03CA0057.namprd03.prod.outlook.com (10.173.137.19) by BN6PR03MB2466.namprd03.prod.outlook.com (10.168.223.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.10; Wed, 16 Nov 2016 14:40:57 +0000 Received: from BN1AFFO11FD005.protection.gbl (2a01:111:f400:7c10::165) by BN6PR03CA0057.outlook.office365.com (2603:10b6:404:4c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8 via Frontend Transport; Wed, 16 Nov 2016 14:40:57 +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; nxp.com; dkim=none (message not signed) header.d=none; 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 BN1AFFO11FD005.mail.protection.outlook.com (10.58.52.65) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.721.5 via Frontend Transport; Wed, 16 Nov 2016 14:40:57 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:717; Count:10 Received: from fsr-fed1764-016.ea.freescale.net (fsr-fed1764-016.ea.freescale.net [10.171.81.161]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uAGEeVKj005542; Wed, 16 Nov 2016 07:40:55 -0700 From: Claudiu Manoil To: Subject: [PATCH 16/17] soc/qman: Clean up CGR CSCN target update operations Date: Wed, 16 Nov 2016 16:40:29 +0200 Message-ID: <1479307230-16650-17-git-send-email-claudiu.manoil@nxp.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1479307230-16650-1-git-send-email-claudiu.manoil@nxp.com> References: <1479307230-16650-1-git-send-email-claudiu.manoil@nxp.com> X-IncomingHeaderCount: 10 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131237808574315965; (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)(7916002)(2980300002)(1110001)(1109001)(336004)(339900001)(199003)(189002)(85426001)(47776003)(189998001)(77096005)(4326007)(2906002)(105606002)(2950100002)(81166006)(86362001)(81156014)(8936002)(50226002)(110136003)(50466002)(5660300001)(6666003)(68736007)(4720700003)(626004)(48376002)(76176999)(305945005)(106466001)(7846002)(15650500001)(8676002)(8666005)(2351001)(6916009)(356003)(87936001)(36756003)(69596002)(97736004)(50986999)(104016004)(5003940100001)(33646002)(92566002)(7059030)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2466; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD005; 1:6O7/+NR2SKWbRaW0oYfRPMEq17j1GRB79qCOSjrcwXGlpzSgOLU6lYsrbQALc6aUouIdr1sp2QcwtdJe5kEjFIbTBnVjV9wnySqIqiB7tS8BlQi8IWHeNutuCOKTzPDPnCKE/Mh1DUql0Xk5RWh8QUs6dYxo/xUP22FOYoUACPRiOuuDsMwedCJw7NDKAEf0HkPlq+WE8H7U3ACkbA9jHkZij527T3h7G92j9F7+iV/mQcKyAcSL3br7L9ZTqg/J4TTX5sy/yk5/c7HK9DFwBtrCy2n/ZRrxaNf/f1K2AMnyxDCu+pmVjuyPFoPmeHkwKUKpB97j/vcm/4L7dhf/bcQalzfp17UtDEvIUAKfQQ1WupZnNr1qa19uzQmPDsWYu7GhVBclU3EeZXYUs1PbO3t9YC/eD2PMUrDHppI+Zk2WjE4DzYwKJmuz1FOXpjryM83eAqyTIkmL+HvYfkuitvVpyxIGyCs8dUbvRGOs5tSJ/IToPvGvLov4qHlHhsy7Q6SgxJ1TFIJNYEDy5h5o9aNxuLE94MG09+LfkW/zMXXiHodQEUraZhcfpsJrABM05BQ+NfKi9PuentDb0+MC0xALeUDzQWBMLFmpwTxt23CzLvCM+gzSh9i26QRS5fLC/ehUyhajjOxiavdZVW5q12XF1weY1PzI9EIEzILroL0HW7qLLevJasI2+q/z7LbtuNO+/DARvF4aGM96rb2XicQRuGJuJNBdw953ZX+A8z4= MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2466; 2:1ZrPDBKJR2e4sQNWoykt3Jf3zXPDZ1H8r1qFGMe2TiTXKUtuRlhJIMk6BY3OA5muO0zFQ0ca0PAwOj9arc5j6SnU+wfi9b2mVmZm4xuU9vV4OJwOYm24QE1EZneCh5ELSlKBG5iKGruTutXGHRzfrjvi5wsUUn2tN6s3pRasDW4=; 3:kk1RvQPqv0+MRjXReBB4qS5WG+iFFfzcN9ILWD/gNI91q1y+Uyc1BNakP2khEcu4DsYMoCAyYNkOUcs78vQBm9GPEyT8XX/rvhCrxJdrzseErulOKDxP8KyoY6429vRPZZY+6a4fdVK4A53r6CNVfDcSQgjRk1t2XvswzkTIRkMneYO3oXDtS2+cZWZ4XgEzibvtzEzOhw7cm3SXssCEX21Kwwp6Qwo3nLPR7ztTKk4SwsEttu/LH2Jjylx8V2auVbPXQOoiFL7JdiCnUVUxjQ==; 25:kptgC+u/EaL2N/+gwn461RNuHkQJiI7uCWk/R3OkbbX7u5wVTnSjGORAU5fKnmM6VzJOc8Hy5ylKUPLVy+weT3rfzrQsSM16My1eZCNnMTOlKj0VB5XTL2/+LeuobbnpP1fEhAOlOk7+7sXNmAJH1TAZvaVRq/tEu9I63UF37HnHwMLsGBZfse8BpssiBg39wnvE76UB2GJS8gvxHw/WF5w69uRPShIfPRrpoMz3xwifkHFkMLc2m9iw6KbGUCDYKENSiwvfr9sUnXQ47/CGkQ0WJcD24VUTyZioEhWaM3dtXsZpZJvK2CRqqwK2pf9WZIzJdve54VPhZ/vA66LhltpieiqMQkz009UcxvLzJ7l48ELMo1ElHn7f9dROZhuIdAGrcAwy28rbDnDQavX50owul+vZQ0M4TN/qWOUECMY5YV+GJqowgFqcxTYiScY6LXCmhqeApd2z/wWW/mMlWA== X-MS-Office365-Filtering-Correlation-Id: c2657223-7641-4acc-32b5-08d40e2e9390 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN6PR03MB2466; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2466; 31:Ss4dcQPJVwsTyuY83RcLMbiu8Mlt/NmMtRIegCQsuFvh75bTwvVAWZY/rUBVACePjlQFBovgB1ksgklRNPz592J0a7Py23RvOOYFzm4HV2gvP9gYGzEUvgAwjjBBvs+dKtr4mN0ZkTBtoyIbqd8JXfhuHoNpUprhELws+wZb69bpulhbggJL+lxuWwWKTUSa3WuH0UMcqQGxweY60q8JHcMq4T+8KN+vkOcn+wVer9ViR/yhhH5QWQUrZsRe05u2WFgGJPtiSYSp5qk8fq2anw==; 4:ZvvzcI7e0giO2Ko2ViNTksb1hnLAIZLvHaJX2VsuyzXhQ6EFunCJEyj0+ba9LsJW0II1iAsuKf38NyQxssTcxC2Iqc8UikUwOZGzQd7kfxc0+hjZfYDJQIeF0xfPhrRXWzUZswNCAhWPzQ3J9ck57bClGkRLlfE+dCTblC89/9iKxh1Xa1EBm1P+6fuK2dm7wfImZjAnugP1XO8KJvuw/pi3OtmIfSkH3R5JXC8ANK6BdF1H94DjRuh+eiRlMEgBb9dqyROecMgo4uoBbNNoPJ0ccXkISv7m4nxM8VOVX+wwEf24Th4K8/LWD7PbfffCiA14B4GETd+nLBudMG37luz7B5oFIoZRS3q/axtjUYMUp6KDuC3qQzZspVO00hqo2BkBEiOitjNDc/pvJOAFfKbg77tFs04M6OxhJXJFIGZg40C2DZt8iK7cfkIs4MF7GYZmtvXuXzQnHqmDFHDPFwFsJZOmWmYou0heUq3FayJbVzh5HfaogiUhGMO32EefILg64BkiGEL+4QWgiwn/GG4OUmceeytWA1q/3hECbxUesOUmfrMMs+Wmdts/dVWXAaJm8AJqusvlCiOmIfhJbYUqaYCO+zMcC5IOErNj/TI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095035)(601004)(2401047)(8121501046)(13023025)(5005006)(13024025)(13018025)(13015025)(13017025)(10201501046)(3002001)(6055026)(6096035); SRVR:BN6PR03MB2466; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2466; X-Forefront-PRVS: 01283822F8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB2466; 23:HW89AIWF2wVxLfa7XqPPvygCHxO6wvGIotooxLrNN?= =?us-ascii?Q?oLWUPw4hGlDzZafhLyDS0nviGSHUe+NutAtqi+/PKgtRuWLoemGJkniHPzb/?= =?us-ascii?Q?LntcYR6ArNo/pqnUDHQnuylUV4F6AkUM1/kbrMRG4raE/i6hTwrB/y5/MvdF?= =?us-ascii?Q?7ENeIw7A2A7nFUHxQgU+VE8FmVnz+PR0i+hhcaEU8hlKScvCvcpWGctu/WW8?= =?us-ascii?Q?yYP9xE/CAfabYRRGJ8gS5zXz0akE8jlCdMIQmzrWFoey+DMKXpwM+8Xeb4ER?= =?us-ascii?Q?nTclZMJZnE6BQ4lWND8RRZjCwzvp/RqfJmpOwR3KpNprChRx4L3yiLN4Tom2?= =?us-ascii?Q?/EL295N7kIu+gJaNs+LUXWC8c7TutLNmkOoj/smDk6Fxe1en2XaXxWvLUpEC?= =?us-ascii?Q?tCdjuLF7Ggyl4NhjFIH2AQdg/ObsVpT4Z60Nz5EZtTGt8k+uVvSDOIHSt39F?= =?us-ascii?Q?wKX/QZQSygGRDJHGjV8OoqmyrOJmnSTvGsAjYnPSQYeREnGa53k9QvDkYWY7?= =?us-ascii?Q?vE3jOQ8jBKObqpwVjFY++lsM/wty5GeLeYMyWE4mgvgxXzfQiI9obaUOvFKj?= =?us-ascii?Q?uZ4/KY6sI19DcF3qm0R1yvLf9pPdbkUorolQqPoiz6Lu+MgzGs4aI4p9o3ji?= =?us-ascii?Q?oUoaH4DqzzJ+ZVHgdjMkxbRxp4RFFxct2y4Wvlq+NRHcSmdjn1X4kYXD1vjP?= =?us-ascii?Q?k9AAFiT556yogiN4+jF/ZiCKRYDLq6Y0gI0DUVeQfFNNM0yAAHpF3vJ+x71I?= =?us-ascii?Q?nGMmcMR5I66ko8lur4VGMLMN1k8IRYN9KmayHyCWDjTZ+rUjDu3UpNik4gKU?= =?us-ascii?Q?bEx3YNeNQftxkDGyAaocbZH4J/fgcK/JBzHiqrCeLM4adKwRJFFeGe76z8qG?= =?us-ascii?Q?sl/2kVeq68bbwNelJN7Sp8ufylFLV6q5+EnT89W5rH4gKQwwYVoALwDikrIs?= =?us-ascii?Q?W8phyi3K/Xncd3zXjQa8VAHyv8pEt5x+mrrnf8auCjxJv1BkLP8EEU56g59p?= =?us-ascii?Q?qTTLhsIVLOKq0995YyVlJUcWr+ijwHyeLpyN+GNjo0hBH7ZFEhhcv9hEXhgn?= =?us-ascii?Q?t1VSiVqWJacJk88z3i2d4tp1oBMgtE+M7EtzA9gZdj8XEuejUMYRJQ+1LvZW?= =?us-ascii?Q?TGBYCWnfkAOj/cSFDkHg5bnvnOmaGuds75P84mJ5907LCLi/Yh4Qs/HZ4z2a?= =?us-ascii?Q?VmLHpMJc2Xo7A8FegChETXxe133XqJXKTUr?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2466; 6:7xDDgUBCifBEeo1EgsK0z0BrV8Rm4WQgnFTFdLR6ayYrzRKhd5ymC57WpTsfxVfkxgSS0OvBorBukQcd8MnmRWKkeu57FWSw3YD5h0EdL/ujOfuoKTDKiAEYvuJ//uqylJgq++54Tg0hKTThaHOx4WydVtaNJJTQC9KjL53WdyKVj4afbM4rwmgr+nhPRwoLOQz/5CUeKtRGqIKl4mhQMd6yUFoCWD+RjI8fg7UN+QAS1FpYU8QKQpOvkk7IU7DBiHAbV1mB9YXmD1wHxlGUHB7H0b7jQFBMm77oO2usKPOXBgTYdHQOJGgJmGGqKDxqSnpLRxwLyhMRycx7BLCBSA==; 5:7zTO019hZeupPZDHx0YpzKfe5mIQRBeYODWdAZT6IxcJsqGkoMIfH5FFf+ZTmvYznpxzwwknGVYxTx5p6E4uPOKOgSFQr7bsjcve9sLRQOx9fD3nKnENypZPX/yd6fx/Vk8niT50REJe2/FL0BE/bhbbZF8MRrjq2EvAUcOGcO/99ZnIndg20aQeYEvggjIC; 24:xKkCCte2xQJk5RqOZgfDQrcLToz858FTqIAiGSJEIDt/YMd/op+b53Z87jkFeoAM6kmA43SOQFQVbCrsRcCgEL7J4dhBwuKG0zZCIftUKfQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2466; 7:BW3y5fo/7D24Y5Gg5pDxckAQEQSvtenvzJNYvAdjX2tmiZ1el39ttYvHPif0OeL5+QuoZqa4wNqp09zzl16CDSR28bgPjipF0bmSDI4oYb/uL2wCbEEiXkyGqj6VqjYNBv3hUvU5eHDXQ3rPwa/nRZPNVnK8ZNYaYOIxPnxXOdu2L8tl0qFaun1HRJnDc2Nc1FOeIv73ieYAspHCCOMtf2765WtPws2A/FbYuzo2UfYtyCQZF1Mx/GRUkXRGc8x/eWvByhvckoo+jl9+LWr0VjgGWqULwe8Z/3w+U+rxKCPAYdKxkFG6YqRnjcUrafa3W27y1uxZh1AnGbzFuepS2tIF1R++Xn5FzJG4HQlpWSs= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2016 14:40:57.0883 (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: BN6PR03MB2466 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Scott Wood , roy.pledge@nxp.com Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Signed-off-by: Claudiu Manoil --- drivers/soc/fsl/qbman/qman.c | 37 +++++++++++++++++++++++-------------- include/soc/fsl/qman.h | 4 ++-- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/drivers/soc/fsl/qbman/qman.c b/drivers/soc/fsl/qbman/qman.c index ac020fd..d287ef0 100644 --- a/drivers/soc/fsl/qbman/qman.c +++ b/drivers/soc/fsl/qbman/qman.c @@ -2248,7 +2248,23 @@ static int qm_modify_cgr(struct qman_cgr *cgr, u32 flags, } #define PORTAL_IDX(n) (n->config->channel - QM_CHANNEL_SWPORTAL0) -#define TARG_MASK(n) (BIT(31) >> PORTAL_IDX(n)) + +/* congestion state change notification target update control */ +static void qm_cgr_cscn_targ_set(struct __qm_mc_cgr *cgr, int pi, u32 val) +{ + if (qman_ip_rev >= QMAN_REV30) + cgr->cscn_targ_upd_ctrl = QM_CGR_TARG_UDP_CTRL_WRITE_BIT | pi; + else + cgr->cscn_targ = val | QM_CGR_TARG_PORTAL(pi); +} + +static void qm_cgr_cscn_targ_clear(struct __qm_mc_cgr *cgr, int pi, u32 val) +{ + if (qman_ip_rev >= QMAN_REV30) + cgr->cscn_targ_upd_ctrl = pi; + else + cgr->cscn_targ = val & ~QM_CGR_TARG_PORTAL(pi); +} static u8 qman_cgr_cpus[CGR_NUM]; @@ -2298,13 +2314,8 @@ int qman_create_cgr(struct qman_cgr *cgr, u32 flags, if (ret) goto out; - if ((qman_ip_rev & 0xFF00) >= QMAN_REV30) - local_opts.cgr.cscn_targ_upd_ctrl = - QM_CGR_TARG_UDP_CTRL_WRITE_BIT | PORTAL_IDX(p); - else - /* Overwrite TARG */ - local_opts.cgr.cscn_targ = cgr_state.cgr.cscn_targ | - TARG_MASK(p); + qm_cgr_cscn_targ_set(&local_opts.cgr, PORTAL_IDX(p), + cgr_state.cgr.cscn_targ); local_opts.we_mask |= QM_CGR_WE_CSCN_TARG; /* send init if flags indicate so */ @@ -2371,13 +2382,11 @@ int qman_delete_cgr(struct qman_cgr *cgr) list_add(&cgr->node, &p->cgr_cbs); goto release_lock; } - /* Overwrite TARG */ + local_opts.we_mask = QM_CGR_WE_CSCN_TARG; - if ((qman_ip_rev & 0xFF00) >= QMAN_REV30) - local_opts.cgr.cscn_targ_upd_ctrl = PORTAL_IDX(p); - else - local_opts.cgr.cscn_targ = cgr_state.cgr.cscn_targ & - ~(TARG_MASK(p)); + qm_cgr_cscn_targ_clear(&local_opts.cgr, PORTAL_IDX(p), + cgr_state.cgr.cscn_targ); + ret = qm_modify_cgr(cgr, 0, &local_opts); if (ret) /* add back to the list */ diff --git a/include/soc/fsl/qman.h b/include/soc/fsl/qman.h index c80ecca..d01d5a3 100644 --- a/include/soc/fsl/qman.h +++ b/include/soc/fsl/qman.h @@ -553,8 +553,8 @@ struct __qm_mc_cgr { u8 cscn_en; /* boolean, use QM_CGR_EN */ union { struct { - u16 cscn_targ_upd_ctrl; /* use QM_CSCN_TARG_UDP_ */ - u16 cscn_targ_dcp_low; /* CSCN_TARG_DCP low-16bits */ + u16 cscn_targ_upd_ctrl; /* use QM_CGR_TARG_UDP_* */ + u16 cscn_targ_dcp_low; }; u32 cscn_targ; /* use QM_CGR_TARG_* */ };