From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30062.outbound.protection.outlook.com [40.107.3.62]) by dpdk.org (Postfix) with ESMTP id ED6825F29 for ; Mon, 17 Sep 2018 14:47:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NjdT8OTqzjQV+4HTO4s5uBHdxLroWruYYCwcshPKA3Y=; b=oxYEyLyQNcbzR13K3/x4DXY0zku0vK/qr1hOJOlhKfrrzkDzDeeFhikCDrzkOClviqm8XtUfRNb9Z92bIUTzhzyuqN9f6PYIn7FTp38igYvnSNxVRCl9biwDt/eTS1AIPn4TwbuozfGXsIUOMG6Ile70i4jZ8l2pvosFK10mO5w= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; Received: from [10.232.134.144] (14.143.30.134) by VI1PR04MB4893.eurprd04.prod.outlook.com (2603:10a6:803:56::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1143.17; Mon, 17 Sep 2018 12:47:35 +0000 To: Anoob Joseph , Pablo de Lara , Thomas Monjalon Cc: Murthy NSSR , Jerin Jacob , Narayana Prasad , dev@dpdk.org, Ankur Dwivedi , Anoob Joseph , Nithin Dabilpuram , Ragothaman Jayaraman , Srisivasubramanian S , Tejasree Kondoj References: <1528476325-15585-1-git-send-email-anoob.joseph@caviumnetworks.com> <1536033560-21541-1-git-send-email-ajoseph@caviumnetworks.com> <1536033560-21541-11-git-send-email-ajoseph@caviumnetworks.com> From: Akhil Goyal Message-ID: <2c63fcce-8969-45b7-832b-85a00c6caf74@nxp.com> Date: Mon, 17 Sep 2018 18:17:16 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <1536033560-21541-11-git-send-email-ajoseph@caviumnetworks.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [14.143.30.134] X-ClientProxiedBy: BM1PR0101CA0015.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:18::25) To VI1PR04MB4893.eurprd04.prod.outlook.com (2603:10a6:803:56::26) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 50c0ca7e-7089-4a82-1695-08d61c9bbf52 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4893; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4893; 3:ApeZI7mNXS4acjSpZ3YeSTM/nidlmKf6E+qMQvBeyyXADsFaFjaVW+RM+VM9HG0XWOvNhmf06Cx653sfZ80rWwxuwmKEPXSpRPWgEFUyxFNyFyDrxd94zuGCZ2QBGOpOzX0xbKSatn1BED4/PQJCf2J0wPeOLca9zDy9N1tCN3v4A+M7q4Q8lGwNpDhnAf+d+Np0u0C7a3TZ4qKAodcQZTTkn4EOfGg1H1hSqiWqLB9/DqGAqqrmYyHV3kb/EPsA; 25:Y5pYbUeSgGvQj9bpo3vDmtvnHmXuuzd03OVZjgytGlW6b9t4OeZl/ZWT3lrPKq9AqqEw2/noxQ6EfvrKstZ4WDHrKvZDMK8mqJ9oIh3g+IVqL+PiRw0tfAdgdNeIfG/CHUiW9wQVGaYiTQgwjZUavjZyunhxt7AEMqJml8wl51YomPEl0HMSIJ8YwHjBsMRVCkwduV0Y6w8ehqjDlgLPoMrI6A0MtsLEL53ETj5ZddH+XtbRWnDfDsa/nrplWyhAGIH0zuz54YC0Pugi6XudPYG3rLy4Ir2o0Yq1vJQ4Ps2nWZ9/GLGQr7fcU0yBMSnt1EUA87tcLTND2maw2AbXHg==; 31:ZC9Cftp23AvDRPqTDGtHPbmvH1/ck0VMNiYQR8yKR5krFU5NRjTlOlkLoVH3zWnt5ti6MvKGLZMY9HhvgaYG22LUMAGudssLO3so6A+Xvycgv/a3pLzkBEYIhPXGgAFicOFbhLj5oUoSP4W7H0yPBEJ/v/Bktpc6ErzcLTa7zabZXJJvaq2CAU+9ooZDWzrQbXAIYq2ebe++583sNAGIvXfWBCRz4R66aXyfXPm/Cto= X-MS-TrafficTypeDiagnostic: VI1PR04MB4893: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4893; 20:nrERwUAK4lHs98ViGB7OkwEJiR1vifNLhr8Wfmlf2hvXHZVe/Z1kUtwqu8DXDqmQ4LQgXf0AGIPZyT8ASs85MWXRK2FE0pbyJLbqCT2ceC7RLP5KrGrP+NCQ86ofu5qScNwvE4DEQ6KyFodviF+ENkaD8Nt/o5MDvydOB+LA/Xlz2nJ9wI2X+PnNxAqPWao3j2NrnJZSrpLOMy2yMjqgjHAb9pVNxw2CcKA6GvYCOWGI2QWL7RQlqpn/LeZWYdTItOQRbYSNY/0GQPImwwZxt9TOF2hQ6tWjYxKf6n15OaXFG5dx3qyYl49lFkKOuAFrDTUwJpxSQqHxjP9qT4Q2pEtDnDEfw/2hTWGWs3m8nCslqdCwINF79jjjfIx53MeuDZRM/TbyhCTn8GrRNuezqtwjue3oJ033/Oyn/J5HMqXi+VgYWByWcfiEWTQz8n1DRUN4GC+ufRRc/tem6nJ0HIfCMa7SRKeq89korkQNUybHeDHXoI/6ayYj20w+9BFT; 4:M85+u5SXiqytSHpy5w7SgfJFIge9+ubU70w/VoVN96wExdmxHPLAnUHNNZ7jmJQfAXkvHgMoUA6ZbUx7iEHCBwnQndrB9NgWg2SEes7AA4/uIwk4tVb3G/PWhv7klALsC1FLivBMSHRkU3RcccwiBjuM4G/8uXCFfxGSlJ0RPxItgHVAYFjhsY+FOiyFQ5rG2noTBKkOxL99pWQgy1H8OCLKPzCV1XceQxD2omp8M17qTq8a5yBpYqX18QJo1oYYG/A9XtxIbfQpbBmFFCgKdA== 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)(3231355)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(201708071742011)(7699050); SRVR:VI1PR04MB4893; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4893; X-Forefront-PRVS: 0798146F16 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(39860400002)(366004)(376002)(396003)(136003)(346002)(189003)(199004)(81156014)(86362001)(36756003)(26005)(81166006)(386003)(2906002)(67846002)(68736007)(4326008)(7416002)(316002)(31696002)(65826007)(8676002)(14444005)(8936002)(186003)(77096007)(5660300001)(25786009)(16526019)(3260700006)(446003)(53546011)(7736002)(16576012)(478600001)(6116002)(64126003)(3846002)(6666003)(58126008)(110136005)(76176011)(23676004)(52146003)(2486003)(230700001)(6486002)(97736004)(11346002)(47776003)(6246003)(44832011)(106356001)(229853002)(52116002)(305945005)(956004)(53936002)(65956001)(66066001)(65806001)(105586002)(54906003)(486006)(31686004)(5009440100003)(50466002)(2616005)(476003)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4893; H:[10.232.134.144]; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA0TUI0ODkzOzIzOlJ0aEVGUnErRTJwOWdNNDdWR3BJTTRFNjRo?= =?utf-8?B?MkhoeWd4ckhsYjNyQThzNUppRzJScUg3OHZ1bCtlbGxIbFg5b2FLam9ZMEx1?= =?utf-8?B?N2VBTUM0alhoUlRUL1FqZ1JudE1qNytmaDdxVHI1TXFPaStsd3NKRDdYZjlx?= =?utf-8?B?Mms0dzF5NGVBTGxGeFJhL3ZmRjZiNTZRbTdEZ1FEK0d2R1BwTFpuUGJhdWJH?= =?utf-8?B?WTlRN3NHWS80QzFkZFAwVFlYWDlyd2pnSllUQWROKzJMc2FWZ2VVZFRGa1ph?= =?utf-8?B?S3pmQndaaEd3aDRyS2xQcDJUREVpM1pFQ292alNPN2I4V3djQ3B5cnc0Wmhr?= =?utf-8?B?R1QzMUNLRm0zU3F1bURCdnBBVzkwU2NUU2FTTW1CUXdZTTBidnhJbUNlaXNr?= =?utf-8?B?aTNKZURrNkpjT0FXZklrYTdsQTFKZE8vTFNUWGtNWGtycE1TeEFLNDVYY1lQ?= =?utf-8?B?cnovbnNicG9aSU82aGc4SjFXbnhvOFplT1Z5bnhub0h5bjVWbTMxZjc3a1l6?= =?utf-8?B?SzFYWmJ1SThrajkrTWZ2N3VpRSs3YmRlVW1tNzRER0YwWCtLZVV2MGx1aHlK?= =?utf-8?B?WmhvdHJMb2dnNU5rMmlUNGFuL1hsT0hOeDJMZzFyZVZ2cHNIcmNLTndxYXM5?= =?utf-8?B?aEUzZDRXVktKWm9SWVllb1ZGVDd3cGc5alBlSWtGb1gzZXNuUjlxYUladitZ?= =?utf-8?B?NEVlVnFVbE9CR1M1dlBWTjJyTW9nbWVlTVBXTXZXRzRQZ1BWck1pWGUwdHAr?= =?utf-8?B?UU1oVUJwazBkTGsxMzVmbHhid2VIajc1Q0V2M3J0dGZGaVZnaXFLVklFaUl5?= =?utf-8?B?TGRzSTgzNlhKbm5HKzBhd2trMG56OGwwcllkUlV6c1p2SnBWcVVmcmRDbDR4?= =?utf-8?B?a3BrWjdjSXJjcjJwb2NnR0xkN0lRS053Z2lxSlA5R1ZIYk1DQVIxRDhvRHVJ?= =?utf-8?B?NTE5amdiMmZsdGpYdnZ0Q0pXa0xGUjFPN0I1R0JnS1RBY0xTTHZFUzFOOTUx?= =?utf-8?B?eVlJZWRRdFVlbDl0TytDS3dqMUMzTm1FTmdNanFENVZBZWlBaExTcFhSdVZz?= =?utf-8?B?a3V2MmE1M3l2NExOancrRWxYSTFhZ0p5TG11cHlnck9ZQXV2OFUwYXR6VXJs?= =?utf-8?B?NEMzY2toWXIwTTNMRnlZTzFtQmx1TmtxeUJ1VWpBdDZieGtqUHdKMlJNU2RR?= =?utf-8?B?dVo3VGhtNTFLbXJTN0NEQnNZUVVjNGV3SUdJbm9EQkx4Qm5UYnZLczdrZTNO?= =?utf-8?B?U29Db2xVN2ZFdHlDb1hSN29DMTBwbjJWRGFjYTV4NFFzMURMNmJRc0JIVlVK?= =?utf-8?B?YmNrWVlvcjNwK1N0eDMzZ2hhSy9DaTNWTUpKVWw2YlRQVExUQWpBREltWWQw?= =?utf-8?B?UEcrcjhvRkZmb1BaY2VHcVgrVjlCR1dWZ1ZUZHlwK3RsUVZibnNRYytGcFNp?= =?utf-8?B?S2EvbDNQZXVLcU1aSlorUW9EM1BNMGZZR1pvY3dtZGl4eUVvdS8xK3R0RmtR?= =?utf-8?B?VThCeC9EVEw4Mlp3aWZRbnNVYVFQWVU0eFZqM2p5TDZURVZLVnUxalp4cWkx?= =?utf-8?B?N0NWRHVVYTBCY1kvRElhaVQ2L0N0bDkzYld5Um55c0hJREhnV0d1VS9qSTBZ?= =?utf-8?B?V0RhTnFhVmFaM3lFaG5BRzl3K0ZPRGJUWFF3ODl0WnErSTdpVFA0ZCtaTjV3?= =?utf-8?B?NUpDRG5wc1ZkQm9CL0kvWEdiM3JtZ0YxdHEwNUNjVGw1bVIvVFR1WFJNN2lQ?= =?utf-8?B?Qys2U0dhbEg4UTludE9XdTI3QTh1cmppTjFHZ1JjNE1WeFFvaXNoY1VVN1BJ?= =?utf-8?B?RDFubTYzZ3FOMU9CMXBkSFdha2NpYUQrRDc4ZXRnd0JpeCt6bEovVk1NU0tI?= =?utf-8?B?dzF2UFpkb2J0Qy9jTW0zZ1JLcDhhZ2FSTGdML0dienVFamVqam92R3g2cTBD?= =?utf-8?B?Wk1aUEI0ZVhmOEZrVTd2SWcwZnlUQnJMeGVoc1hBc2tVZStrUlIzWGJrL0cw?= =?utf-8?B?Y24yTFovVHI1bnBZcm5RcVd1aHRsVzJVOUVJWEhsY0h1bVVIN2xHSlhwM0s3?= =?utf-8?B?OG5vd2wzUGNpYWRyUG5OVGR5RjVzOWgrK3R2ZGd6dXU3VjJIWGpWckprU3Va?= =?utf-8?Q?H7oUijYlfBCVkqEcE/VJ/xFqCjjmYJ4cpjISdNKWYgLe?= X-Microsoft-Antispam-Message-Info: RuzDNxqrHN8/6PN+0PUEQWak95AcV+Z9QBQ6vxkjzmGHetYzMAjQCqHv7t0dp9dd7TLDdIwoBXoBvGf78Kpcdc7UWATurRLG9Hh4rhnAh+0M7krIxu8aXyq3wQfOh0RxI3pfB2b4u9D8TAvejQwj1jWQBzVr35DtvMBIYrR++D18LuPVx0K1lJLXkeq0vvcEVrvx7vHVdmIZ74vanhOkNlZgOnZ/Pq4MKjhXm1uEl9VRc5N5XIBFBuub5TPSsnyUtHgTbm+ovFfV992z3PTTnjYwOKrX+igkte2c/24D7w3duZNqY+4RUXExjJElJxmgREOLuqd0yByJMBkVEsWoiZ0kF1EJDk5EaKFqYAbGMMM= X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4893; 6:ZZ+8ncQLB5XeDENzP9oyajruMVdqq5BBWFuaCEGhH9BoSdCBwcSfK+nTf187Ld96/Rbq185pSfdfoqMQh9pxZ5xFZs6+lZjqqhsazdtL0LPSH5zisLPtFxLlqjES9b/sd8WpuA6LOzB0Tf+CfvnSvBfdn+OqOV0qW5uEoXuewEZmHPD0tl42RPsO9bT9iv6Nj33uzgqD15FB/5OZ9L+ceWSd6qecMnXso+LWR1BfagYdeUP5eQ7s/rVrs43pSoQFgUqu2UGhhgKwKG7gX+2lcjmMJV8RhWkzHf+heGezWjE7DGyICoWh7NznxSj6YJ2YPOY4+l3iM/3vfebQKfzf/ghnQptEbpQF89PXwfq+T56oFRNBLFGbdYOmUxvDEA6d7EUcgiQdNc4wme6Uu5g3ZaHJjRfduqVM7HH4NbQCZ5fE7MDg4A4HkWfxM08ZkKYyg/2B08YtgQO77um5aP9vpA==; 5:wkCibwKfwZUG5w8xKNFkEc4L1B+Smq9hdF0Ok0BfM1F81lxtG3AGm1c+4v0U84KIiczHd9dgjnVK84COh/q6QyRtN0xglnCeoiExmCWDFVJr1Z3C5IKM8wKpf5315EPDkSZdkknyf6rmTHRCvhiG3PXE8ILmQlpiuEVO+0kt/uc=; 7:V/orO+KUhgSeeGvA8VSHi/qAlyuz7sFYriOta4rd5OAQSs4in6wa1SL1Jd3fVRYeMHPzQ33gWxD91rf9F6gQ6AbIcwnCWwUdrrNv3EZvpBmeWY+2S1CjBT/O3J2NK+M1MuxvgIy5LnkKbL0rhZ9Rp07mUMrAsJKypmAT+nlPrhOtiqdxxls/iWfvuSvuVaAOTljP7nlHZW9P87EWNUEra09/CdkRSlE5yPztuL7IgiOkjlYsW/rlZiRNRs2DmEAj SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2018 12:47:35.2809 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 50c0ca7e-7089-4a82-1695-08d61c9bbf52 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4893 Subject: Re: [dpdk-dev] [PATCH v2 10/33] common/cpt: add PMD ops helper functions 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: Mon, 17 Sep 2018 12:47:40 -0000 On 9/4/2018 9:28 AM, Anoob Joseph wrote: > From: Murthy NSSR > > Adding pmd ops helper functions. Control path accessed APIs would be > added as helper functions. Adding microcode defined macros etc as > dependencies to the helper functions. > > Signed-off-by: Ankur Dwivedi > Signed-off-by: Anoob Joseph > Signed-off-by: Murthy NSSR > Signed-off-by: Nithin Dabilpuram > Signed-off-by: Ragothaman Jayaraman > Signed-off-by: Srisivasubramanian S > Signed-off-by: Tejasree Kondoj > --- > drivers/common/Makefile | 4 +++ > drivers/common/cpt/Makefile | 25 ++++++++++++++++ > drivers/common/cpt/cpt_common.h | 41 +++++++++++++++++++++++++++ > drivers/common/cpt/cpt_mcode_defines.h | 38 +++++++++++++++++++++++++ > drivers/common/cpt/cpt_pmd_ops_helper.c | 41 +++++++++++++++++++++++++++ > drivers/common/cpt/cpt_pmd_ops_helper.h | 34 ++++++++++++++++++++++ > drivers/common/cpt/meson.build | 8 ++++++ > drivers/common/cpt/rte_common_cpt_version.map | 6 ++++ > drivers/common/meson.build | 2 +- > mk/rte.app.mk | 4 +++ > 10 files changed, 202 insertions(+), 1 deletion(-) > create mode 100644 drivers/common/cpt/Makefile > create mode 100644 drivers/common/cpt/cpt_mcode_defines.h > create mode 100644 drivers/common/cpt/cpt_pmd_ops_helper.c > create mode 100644 drivers/common/cpt/cpt_pmd_ops_helper.h > create mode 100644 drivers/common/cpt/meson.build > create mode 100644 drivers/common/cpt/rte_common_cpt_version.map > > diff --git a/drivers/common/Makefile b/drivers/common/Makefile > index 0fd2237..ca4e854 100644 > --- a/drivers/common/Makefile > +++ b/drivers/common/Makefile > @@ -8,4 +8,8 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOO > DIRS-y += octeontx > endif > > +ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO),y) > +DIRS-y += cpt > +endif > + > include $(RTE_SDK)/mk/rte.subdir.mk > diff --git a/drivers/common/cpt/Makefile b/drivers/common/cpt/Makefile > new file mode 100644 > index 0000000..2340aa9 > --- /dev/null > +++ b/drivers/common/cpt/Makefile > @@ -0,0 +1,25 @@ > +# SPDX-License-Identifier: BSD-3-Clause > +# Copyright(c) 2018 Cavium, Inc > +# > + > +include $(RTE_SDK)/mk/rte.vars.mk > + > +# > +# library name > +# > +LIB = librte_common_cpt.a > + > +CFLAGS += $(WERROR_FLAGS) > +CFLAGS += -I$(RTE_SDK)/drivers/bus/pci > +EXPORT_MAP := rte_common_cpt_version.map > + > +LIBABIVER := 1 > + > +# > +# all source are stored in SRCS-y > +# > +SRCS-y += cpt_pmd_ops_helper.c > + > +LDLIBS += -lrte_eal > + > +include $(RTE_SDK)/mk/rte.lib.mk > diff --git a/drivers/common/cpt/cpt_common.h b/drivers/common/cpt/cpt_common.h > index feca5fe..1f78d42 100644 > --- a/drivers/common/cpt/cpt_common.h > +++ b/drivers/common/cpt/cpt_common.h > @@ -18,6 +18,24 @@ > #define AE_TYPE 1 > #define SE_TYPE 2 > > +#ifndef ROUNDUP4 > +#define ROUNDUP4(val) (((val) + 3) & 0xfffffffc) > +#endif > + > +#ifndef ROUNDUP8 > +#define ROUNDUP8(val) (((val) + 7) & 0xfffffff8) > +#endif > + > +#ifndef ROUNDUP16 > +#define ROUNDUP16(val) (((val) + 15) & 0xfffffff0) > +#endif > + > +#ifndef __hot > +#define __hot __attribute__((hot)) > +#endif > + > +#define MOD_INC(i, l) ((i) == (l - 1) ? (i) = 0 : (i)++) > + > /* cpt instance */ > struct cpt_instance { > uint32_t queue_id; > @@ -51,4 +69,27 @@ struct pending_queue { > /**< Pending requests count */ > }; > > +struct cpt_request_info { > + /* fast path fields */ > + uint64_t dma_mode : 2; > + /**< DMA mode */ > + uint64_t se_req : 1; > + /**< To SE core */ > + uint64_t comp_baddr : 61; > + volatile uint64_t *completion_addr; > + volatile uint64_t *alternate_caddr; > + void *op; > + /**< Reference to operation */ better to have comments in the same line wherever possible and if not, please check indentation. Please check other patches as well.