{"id":808086,"url":"http://patchwork.ozlabs.org/api/1.0/patches/808086/?format=json","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.0/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"},"msgid":"<1504163898.4681.9.camel@hbabu-laptop>","date":"2017-08-31T07:18:18","name":"[V4,6/7] crypto/nx: Add P9 NX specific error codes for 842 engine","commit_ref":"146e9f1b65478643f2729a97ccb8be60bb4492e5","pull_url":null,"state":"accepted","archived":false,"hash":"5fd77690d49d74ada2a89efbb722873b9e4dc6b3","submitter":{"id":12875,"url":"http://patchwork.ozlabs.org/api/1.0/people/12875/?format=json","name":"Haren Myneni","email":"haren@linux.vnet.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1504163898.4681.9.camel@hbabu-laptop/mbox/","series":[{"id":757,"url":"http://patchwork.ozlabs.org/api/1.0/series/757/?format=json","date":"2017-08-31T07:10:13","name":"Enable NX 842 compression engine on Power9","version":4,"mbox":"http://patchwork.ozlabs.org/series/757/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808086/checks/","tags":{},"headers":{"Return-Path":"<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjYh0525dz9s4q\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 31 Aug 2017 17:21:04 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xjYh045dLzDrJq\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 31 Aug 2017 17:21:04 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n\t[148.163.156.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xjYfJ5KRSzDr1B\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tThu, 31 Aug 2017 17:19:36 +1000 (AEST)","from pps.filterd (m0098399.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv7V7JV7w121939\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 31 Aug 2017 03:19:34 -0400","from e33.co.us.ibm.com (e33.co.us.ibm.com [32.97.110.151])\n\tby mx0a-001b2d01.pphosted.com with ESMTP id 2cp99y1gvc-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 31 Aug 2017 03:19:34 -0400","from localhost\n\tby e33.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <linuxppc-dev@lists.ozlabs.org> from <haren@linux.vnet.ibm.com>; \n\tThu, 31 Aug 2017 01:19:33 -0600","from b03cxnp08027.gho.boulder.ibm.com (9.17.130.19)\n\tby e33.co.us.ibm.com (192.168.1.133) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tThu, 31 Aug 2017 01:19:31 -0600","from b03ledav005.gho.boulder.ibm.com\n\t(b03ledav005.gho.boulder.ibm.com [9.17.130.236])\n\tby b03cxnp08027.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with\n\tESMTP id v7V7JUTb59572404; Thu, 31 Aug 2017 00:19:30 -0700","from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 5A6CEBE042;\n\tThu, 31 Aug 2017 01:19:30 -0600 (MDT)","from [9.70.82.25] (unknown [9.70.82.25])\n\tby b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTP id 3834BBE0A1;\n\tThu, 31 Aug 2017 01:18:29 -0600 (MDT)"],"Subject":"[PATCH V4 6/7] crypto/nx: Add P9 NX specific error codes for 842\n\tengine","From":"Haren Myneni <haren@linux.vnet.ibm.com>","To":"mpe@ellerman.id.au, herbert@gondor.apana.org.au","Content-Type":"text/plain; charset=\"UTF-8\"","Date":"Thu, 31 Aug 2017 00:18:18 -0700","Mime-Version":"1.0","X-Mailer":"Evolution 2.28.3 ","Content-Transfer-Encoding":"7bit","X-TM-AS-GCONF":"00","x-cbid":"17083107-0008-0000-0000-00000880678A","X-IBM-SpamModules-Scores":"","X-IBM-SpamModules-Versions":"BY=3.00007640; HX=3.00000241; KW=3.00000007;\n\tPH=3.00000004; SC=3.00000226; SDB=6.00910096; UDB=6.00456510;\n\tIPR=6.00690376; \n\tBA=6.00005562; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009;\n\tZB=6.00000000; \n\tZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016938;\n\tXFM=3.00000015; UTC=2017-08-31 07:19:33","X-IBM-AV-DETECTION":"SAVI=unused REMOTE=unused XFE=unused","x-cbparentid":"17083107-0009-0000-0000-000043C87BED","Message-Id":"<1504163898.4681.9.camel@hbabu-laptop>","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-08-31_02:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=0\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1708310112","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Cc":"mikey@neuling.org, linuxram@us.ibm.com, npiggin@gmail.com,\n\tsuka@us.ibm.com, \n\tlinux-crypto@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,\n\tddstreet@ieee.org","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"},"content":"This patch adds changes for checking P9 specific 842 engine\nerror codes. These errros are reported in coprocessor status\nblock (CSB) for failures.\n\nSigned-off-by: Haren Myneni <haren@us.ibm.com>\n---\n arch/powerpc/include/asm/icswx.h   |  3 +++\n drivers/crypto/nx/nx-842-powernv.c | 18 ++++++++++++++++++\n drivers/crypto/nx/nx-842.h         |  8 ++++++++\n 3 files changed, 29 insertions(+)","diff":"diff --git a/arch/powerpc/include/asm/icswx.h b/arch/powerpc/include/asm/icswx.h\nindex 27e588f6c72e..6a2c87577541 100644\n--- a/arch/powerpc/include/asm/icswx.h\n+++ b/arch/powerpc/include/asm/icswx.h\n@@ -69,7 +69,10 @@ struct coprocessor_completion_block {\n #define CSB_CC_WR_PROTECTION\t(16)\n #define CSB_CC_UNKNOWN_CODE\t(17)\n #define CSB_CC_ABORT\t\t(18)\n+#define CSB_CC_EXCEED_BYTE_COUNT\t(19)\t/* P9 or later */\n #define CSB_CC_TRANSPORT\t(20)\n+#define CSB_CC_INVALID_CRB\t(21)\t/* P9 or later */\n+#define CSB_CC_INVALID_DDE\t(30)\t/* P9 or later */\n #define CSB_CC_SEGMENTED_DDL\t(31)\n #define CSB_CC_PROGRESS_POINT\t(32)\n #define CSB_CC_DDE_OVERFLOW\t(33)\ndiff --git a/drivers/crypto/nx/nx-842-powernv.c b/drivers/crypto/nx/nx-842-powernv.c\nindex 829b5cad0043..c0dd4c7e17d3 100644\n--- a/drivers/crypto/nx/nx-842-powernv.c\n+++ b/drivers/crypto/nx/nx-842-powernv.c\n@@ -243,6 +243,13 @@ static int wait_for_csb(struct nx842_workmem *wmem,\n \tcase CSB_CC_TEMPL_OVERFLOW:\n \t\tCSB_ERR(csb, \"Compressed data template shows data past end\");\n \t\treturn -EINVAL;\n+\tcase CSB_CC_EXCEED_BYTE_COUNT:\t/* P9 or later */\n+\t\t/*\n+\t\t * DDE byte count exceeds the limit specified in Maximum\n+\t\t * byte count register.\n+\t\t */\n+\t\tCSB_ERR(csb, \"DDE byte count exceeds the limit\");\n+\t\treturn -EINVAL;\n \n \t/* these should not happen */\n \tcase CSB_CC_INVALID_ALIGN:\n@@ -284,9 +291,17 @@ static int wait_for_csb(struct nx842_workmem *wmem,\n \t\tCSB_ERR(csb, \"Too many DDEs in DDL\");\n \t\treturn -EINVAL;\n \tcase CSB_CC_TRANSPORT:\n+\tcase CSB_CC_INVALID_CRB:\t/* P9 or later */\n \t\t/* shouldn't happen, we setup CRB correctly */\n \t\tCSB_ERR(csb, \"Invalid CRB\");\n \t\treturn -EINVAL;\n+\tcase CSB_CC_INVALID_DDE:\t/* P9 or later */\n+\t\t/*\n+\t\t * shouldn't happen, setup_direct/indirect_dde creates\n+\t\t * DDE right\n+\t\t */\n+\t\tCSB_ERR(csb, \"Invalid DDE\");\n+\t\treturn -EINVAL;\n \tcase CSB_CC_SEGMENTED_DDL:\n \t\t/* shouldn't happen, setup_ddl creates DDL right */\n \t\tCSB_ERR(csb, \"Segmented DDL error\");\n@@ -330,6 +345,9 @@ static int wait_for_csb(struct nx842_workmem *wmem,\n \tcase CSB_CC_HW:\n \t\tCSB_ERR(csb, \"Correctable hardware error\");\n \t\treturn -EPROTO;\n+\tcase CSB_CC_HW_EXPIRED_TIMER:\t/* P9 or later */\n+\t\tCSB_ERR(csb, \"Job did not finish within allowed time\");\n+\t\treturn -EPROTO;\n \n \tdefault:\n \t\tCSB_ERR(csb, \"Invalid CC %d\", csb->cc);\ndiff --git a/drivers/crypto/nx/nx-842.h b/drivers/crypto/nx/nx-842.h\nindex 30929bd7d1a9..bb2f31792683 100644\n--- a/drivers/crypto/nx/nx-842.h\n+++ b/drivers/crypto/nx/nx-842.h\n@@ -76,9 +76,17 @@\n #define CSB_CC_DECRYPT_OVERFLOW\t(64)\n /* asym crypt codes */\n #define CSB_CC_MINV_OVERFLOW\t(128)\n+/*\n+ * HW error - Job did not finish in the maximum time allowed.\n+ * Job terminated.\n+ */\n+#define CSB_CC_HW_EXPIRED_TIMER\t\t(224)\n /* These are reserved for hypervisor use */\n #define CSB_CC_HYP_RESERVE_START\t(240)\n #define CSB_CC_HYP_RESERVE_END\t\t(253)\n+#define CSB_CC_HYP_RESERVE_P9_END\t(251)\n+/* No valid interrupt server (P9 or later). */\n+#define CSB_CC_HYP_RESERVE_NO_INTR_SERVER\t(252)\n #define CSB_CC_HYP_NO_HW\t\t(254)\n #define CSB_CC_HYP_HANG_ABORTED\t\t(255)\n \n","prefixes":["V4","6/7"]}