[{"id":1760555,"web_url":"http://patchwork.ozlabs.org/comment/1760555/","msgid":"<87efrs8y8q.fsf@concordia.ellerman.id.au>","date":"2017-08-30T22:52:21","subject":"Re: mpic IRQ_TYPE_BOTH handling","submitter":{"id":46580,"url":"http://patchwork.ozlabs.org/api/people/46580/","name":"Michael Ellerman","email":"mpe@ellerman.id.au"},"content":"Hi Gregory,\n\nGregory Fong <gregory.0xf0@gmail.com> writes:\n> Hi all,\n>\n> In arch/powerpc/sysdev/mpic.c , it looks like IRQ_TYPE_EDGE_BOTH is\n> handled the same way as IRQ_TYPE_EDGE_FALLING:\n>\n> static unsigned int mpic_type_to_vecpri(struct mpic *mpic, unsigned int type)\n> {\n>         /* Now convert sense value */\n>         switch(type & IRQ_TYPE_SENSE_MASK) {\n>         case IRQ_TYPE_EDGE_RISING:\n>                 return MPIC_INFO(VECPRI_SENSE_EDGE) |\n>                        MPIC_INFO(VECPRI_POLARITY_POSITIVE);\n>         case IRQ_TYPE_EDGE_FALLING:\n>         case IRQ_TYPE_EDGE_BOTH:\n>                 return MPIC_INFO(VECPRI_SENSE_EDGE) |\n>                        MPIC_INFO(VECPRI_POLARITY_NEGATIVE);\n>         case IRQ_TYPE_LEVEL_HIGH:\n>                 return MPIC_INFO(VECPRI_SENSE_LEVEL) |\n>                        MPIC_INFO(VECPRI_POLARITY_POSITIVE);\n>         case IRQ_TYPE_LEVEL_LOW:\n>         default:\n>                 return MPIC_INFO(VECPRI_SENSE_LEVEL) |\n>                        MPIC_INFO(VECPRI_POLARITY_NEGATIVE);\n>         }\n> }\n>\n> If IRQ_TYPE_EDGE_BOTH is unsupported, shouldn't we be returning an\n> error, instead of silently setting to use IRQ_TYPE_EDGE_FALLING?\n> Something like the following (sorry if the diff wraps weirdly, on\n> webmail at the moment):\n\nI don't know this code so I asked Ben and he said something like\n\"PowerMacs never use BOTH, so it hasn't mattered, but Freescale machines\nmight\".\n\nSo if you want to send a proper signed-off patch, and confirm that all\nthe callers can handle the error properly, then we can merge it.\n\ncheers\n\n> ----8<----\n> diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c\n> index b9aac95..5867ea2 100644\n> --- a/arch/powerpc/sysdev/mpic.c\n> +++ b/arch/powerpc/sysdev/mpic.c\n> @@ -876,6 +876,9 @@ int mpic_set_irq_type(struct irq_data *d, unsigned\n> int flow_type)\n>         if (src >= mpic->num_sources)\n>                 return -EINVAL;\n>\n> +       if (flow_type & IRQ_TYPE_SENSE_MASK == IRQ_TYPE_EDGE_BOTH)\n> +               return -EINVAL;\n> +\n>         vold = mpic_irq_read(src, MPIC_INFO(IRQ_VECTOR_PRI));\n>\n>         /* We don't support \"none\" type */\n> ---->8----\n>\n> Thanks,\n> Gregory","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 3xjLQN74Smz9s65\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 31 Aug 2017 08:53:32 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xjLQN6CkWzDqR8\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 31 Aug 2017 08:53:32 +1000 (AEST)","from ozlabs.org (ozlabs.org [IPv6:2401:3900:2:1::2])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xjLP345FLzDqNY\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tThu, 31 Aug 2017 08:52:23 +1000 (AEST)","from authenticated.ozlabs.org (localhost [127.0.0.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPSA id 3xjLP32MV3z9s83;\n\tThu, 31 Aug 2017 08:52:23 +1000 (AEST)"],"From":"Michael Ellerman <mpe@ellerman.id.au>","To":"Gregory Fong <gregory.0xf0@gmail.com>, linuxppc-dev@lists.ozlabs.org","Subject":"Re: mpic IRQ_TYPE_BOTH handling","In-Reply-To":"<CADtm3G6VVthsOX7d_LHNtFdCvw+oiku=ATL8J-cBHBpLTVrpyg@mail.gmail.com>","References":"<CADtm3G6VVthsOX7d_LHNtFdCvw+oiku=ATL8J-cBHBpLTVrpyg@mail.gmail.com>","User-Agent":"Notmuch/0.21 (https://notmuchmail.org)","Date":"Thu, 31 Aug 2017 08:52:21 +1000","Message-ID":"<87efrs8y8q.fsf@concordia.ellerman.id.au>","MIME-Version":"1.0","Content-Type":"text/plain","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":"\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.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>"}},{"id":1763958,"web_url":"http://patchwork.ozlabs.org/comment/1763958/","msgid":"<59AFC126.30909@nxp.com>","date":"2017-09-06T09:34:31","subject":"Re: mpic IRQ_TYPE_BOTH handling","submitter":{"id":71003,"url":"http://patchwork.ozlabs.org/api/people/71003/","name":"Laurentiu Tudor","email":"laurentiu.tudor@nxp.com"},"content":"On 08/31/2017 01:52 AM, Michael Ellerman wrote:\n> Hi Gregory,\n>\n> Gregory Fong <gregory.0xf0@gmail.com> writes:\n>> Hi all,\n>>\n>> In arch/powerpc/sysdev/mpic.c , it looks like IRQ_TYPE_EDGE_BOTH is\n>> handled the same way as IRQ_TYPE_EDGE_FALLING:\n>>\n>> static unsigned int mpic_type_to_vecpri(struct mpic *mpic, unsigned int type)\n>> {\n>>          /* Now convert sense value */\n>>          switch(type & IRQ_TYPE_SENSE_MASK) {\n>>          case IRQ_TYPE_EDGE_RISING:\n>>                  return MPIC_INFO(VECPRI_SENSE_EDGE) |\n>>                         MPIC_INFO(VECPRI_POLARITY_POSITIVE);\n>>          case IRQ_TYPE_EDGE_FALLING:\n>>          case IRQ_TYPE_EDGE_BOTH:\n>>                  return MPIC_INFO(VECPRI_SENSE_EDGE) |\n>>                         MPIC_INFO(VECPRI_POLARITY_NEGATIVE);\n>>          case IRQ_TYPE_LEVEL_HIGH:\n>>                  return MPIC_INFO(VECPRI_SENSE_LEVEL) |\n>>                         MPIC_INFO(VECPRI_POLARITY_POSITIVE);\n>>          case IRQ_TYPE_LEVEL_LOW:\n>>          default:\n>>                  return MPIC_INFO(VECPRI_SENSE_LEVEL) |\n>>                         MPIC_INFO(VECPRI_POLARITY_NEGATIVE);\n>>          }\n>> }\n>>\n>> If IRQ_TYPE_EDGE_BOTH is unsupported, shouldn't we be returning an\n>> error, instead of silently setting to use IRQ_TYPE_EDGE_FALLING?\n>> Something like the following (sorry if the diff wraps weirdly, on\n>> webmail at the moment):\n>\n> I don't know this code so I asked Ben and he said something like\n> \"PowerMacs never use BOTH, so it hasn't mattered, but Freescale machines\n> might\".\n\nIIRC, the mpic in freescale MPICs the interrupts are either low or high, \nso not both. There's a bit which controls the interrupt polarity which \nselects if the interrupt triggers on high-to-low or low-to-high.\nSo i guess it doesn't matter on freescale machines too.\n\n---\nBest Regards, Laurentiu","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 [IPv6:2401:3900:2:1::3])\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 3xnJP22y62z9s3T\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed,  6 Sep 2017 19:36:06 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xnJP21tjnzDqF7\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed,  6 Sep 2017 19:36:06 +1000 (AEST)","from EUR01-DB5-obe.outbound.protection.outlook.com\n\t(mail-db5eur01on0058.outbound.protection.outlook.com [104.47.2.58])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xnJMK3qYPzDqF7\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tWed,  6 Sep 2017 19:34:37 +1000 (AEST)","from VI1PR0401MB1856.eurprd04.prod.outlook.com (10.165.235.22) by\n\tVI1PR0401MB2496.eurprd04.prod.outlook.com (10.168.65.10) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.13.10; Wed, 6 Sep 2017 09:34:31 +0000","from VI1PR0401MB1856.eurprd04.prod.outlook.com\n\t([fe80::7cd4:2a8b:77b0:1726]) by\n\tVI1PR0401MB1856.eurprd04.prod.outlook.com\n\t([fe80::7cd4:2a8b:77b0:1726%14]) with mapi id 15.20.0013.018;\n\tWed, 6 Sep 2017 09:34:31 +0000"],"Authentication-Results":["ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"MAm74auc\";\n\tdkim-atps=neutral","lists.ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"MAm74auc\";\n\tdkim-atps=neutral","ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nxp.com\n\t(client-ip=104.47.2.58;\n\thelo=eur01-db5-obe.outbound.protection.outlook.com; \n\tenvelope-from=laurentiu.tudor@nxp.com; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"MAm74auc\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=laurentiu.tudor@nxp.com; "],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=F/G3apXOCEhgYsFiD0PG96ozzIHuc9ndhYHf1DNqeSo=;\n\tb=MAm74aucTIMjzCH5/RKw3u0TTb7M7fcpT/HF3dahc7zjxnSou+62Hp/nKOAMTD9tT5Vv3mZm3O4xwyrhdXIdEaXDEOLYqnkNLc8S/JeWhp+WKf8PenEGU2Kue5j6Y8YPBvRREeXZHHmYrvEFejEqerULGN15rcnGAiPV/jWVNKQ=","From":"Laurentiu Tudor <laurentiu.tudor@nxp.com>","To":"Michael Ellerman <mpe@ellerman.id.au>, Gregory Fong\n\t<gregory.0xf0@gmail.com>, \"linuxppc-dev@lists.ozlabs.org\"\n\t<linuxppc-dev@lists.ozlabs.org>","Subject":"Re: mpic IRQ_TYPE_BOTH handling","Thread-Topic":"mpic IRQ_TYPE_BOTH handling","Thread-Index":"AQHSZWLuf4xSgt84oE6lcuiw7fSy9aKe+oCAgAohZwA=","Date":"Wed, 6 Sep 2017 09:34:31 +0000","Message-ID":"<59AFC126.30909@nxp.com>","References":"<CADtm3G6VVthsOX7d_LHNtFdCvw+oiku=ATL8J-cBHBpLTVrpyg@mail.gmail.com>\n\t<87efrs8y8q.fsf@concordia.ellerman.id.au>","In-Reply-To":"<87efrs8y8q.fsf@concordia.ellerman.id.au>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","x-originating-ip":"[192.88.146.1]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; VI1PR0401MB2496;\n\t6:v4HZYZtiMhdfirRjq8SRGKuB2BD1M/FZOBeJjVQSpKmYHCcvavW4/9hm7jK6tFEA4zJ7zXkJ50dolN1B7cJNThsgYeGDl5diQuvkH2NVxkzTc4V9KVJCLxSlUE1AKpxizSDxnVdiplvNhfsyi5Y7BGkdyjJfl1pYY4r9LlHDhCBfTSSDF5cfBfX8I4o+lOytCGktdWRTwSMQRUZ1PCb5ZOBA+XtyY2Bc2dTNo+Dev/HswbapP3JaELqeBd+GiKXAmVjWQoekUClL7Zqc1VWWL5OlIfq9ojHiTAsd/Z/30nofTJ0ZzewHiWOGxojj2wcsi+pPC9eOhLn/hpTSrr9YNg==;\n\t5:3+IAbWv+vEya976qqDnOwysBWu4pEpwnBjUt7j25tdKz9rwoDNH2/VPUcVv8QlsR963aR5mNYqcUWT9SnLwJ7xXghIAWc3C1Wu5cWY3F2l5QjDOEPJHCF8iAzdXwpUMBVSPIKraZ/7fx0Zufc/KbKw==;\n\t24:x6O5A/xlPwAfmgn82wie+v+Vv0MiFedGhGgEzDAReBogOiZMTa2X0UdGR2/aOJrKefp+LZ4PVAEov05eEhV1j5DSfJSdX0WLyvL67gFUc1w=;\n\t7:4kBO82SQ8fl6tJzvugnHda5tTpoNHJ8PU6Mk9jqL/bBI1L++vPyf2N9IYeZXBBZB540WBuG6KfcMTbz64PCDYRuTUulUc8fICIy9l/1ljAytXyoEzdRqKMjut6V4Wljaan/4MY8+6mdUpslKnp8U2EYY9mQiBuNOygNuN73u3DcvjOaLsCczZh9EqFOodLDHcpjko9TzkHR0G6OAIJp3NVp3vCTdzm2YATgPyM3FnsQ=","x-ms-exchange-antispam-srfa-diagnostics":"SSOS;","x-ms-office365-filtering-correlation-id":"f717ac86-6d64-4523-f854-08d4f50a7a4f","x-ms-office365-filtering-ht":"Tenant","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:VI1PR0401MB2496; ","x-ms-traffictypediagnostic":"VI1PR0401MB2496:","authentication-results":["ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"MAm74auc\";\n\tdkim-atps=neutral","lists.ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"MAm74auc\";\n\tdkim-atps=neutral","ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nxp.com\n\t(client-ip=104.47.2.58;\n\thelo=eur01-db5-obe.outbound.protection.outlook.com; \n\tenvelope-from=laurentiu.tudor@nxp.com; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"MAm74auc\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=laurentiu.tudor@nxp.com; "],"x-exchange-antispam-report-test":"UriScan:(8454915177855);","x-microsoft-antispam-prvs":"<VI1PR0401MB2496E4BF4B08F576DCCF7C26EC970@VI1PR0401MB2496.eurprd04.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123564025)(20161123555025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:VI1PR0401MB2496; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:VI1PR0401MB2496; ","x-forefront-prvs":"0422860ED4","x-forefront-antispam-report":"SFV:NSPM;\n\tSFS:(10009020)(979002)(6009001)(39860400002)(189002)(53754006)(24454002)(199003)(377454003)(3660700001)(81166006)(101416001)(65816999)(7116003)(53546010)(6512007)(53936002)(33656002)(2900100001)(5660300001)(99286003)(189998001)(5250100002)(97736004)(66066001)(2501003)(39060400002)(3280700002)(14454004)(68736007)(4326008)(86362001)(6246003)(6116002)(3846002)(106356001)(566704002)(105586002)(102836003)(6436002)(8676002)(7736002)(478600001)(36756003)(6486002)(81156014)(305945005)(6506006)(2906002)(229853002)(76176999)(25786009)(2950100002)(8936002)(50986999)(54356999)(969003)(989001)(999001)(1009001)(1019001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0401MB2496;\n\tH:VI1PR0401MB1856.eurprd04.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ","received-spf":"None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-Type":"text/plain; charset=\"Windows-1252\"","Content-ID":"<138B46BE7B34AF4F9F282F4C92EE6040@eurprd04.prod.outlook.com>","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"06 Sep 2017 09:34:31.5684\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"VI1PR0401MB2496","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":"\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.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>"}}]