From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759937AbbIVXuX (ORCPT ); Tue, 22 Sep 2015 19:50:23 -0400 Received: from mail-bn1bon0148.outbound.protection.outlook.com ([157.56.111.148]:29776 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759914AbbIVXuS (ORCPT ); Tue, 22 Sep 2015 19:50:18 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1442965805.19102.303.camel@freescale.com> Subject: Re: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake From: Scott Wood To: Sudeep Holla CC: , , "Thomas Gleixner" , "Rafael J. Wysocki" , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Hongtao Jia , Marc Zyngier , , Wang Dongsheng Date: Tue, 22 Sep 2015 18:50:05 -0500 In-Reply-To: <1442850433-5903-5-git-send-email-sudeep.holla@arm.com> References: <1442850433-5903-1-git-send-email-sudeep.holla@arm.com> <1442850433-5903-5-git-send-email-sudeep.holla@arm.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [2601:448:8100:f9f:50e1:d489:16f6:5d07] X-ClientProxiedBy: BLUPR11CA0054.namprd11.prod.outlook.com (10.141.30.22) To BY1PR03MB1482.namprd03.prod.outlook.com (25.162.210.140) X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;2:f1nbVRv7FkSztYc9AkEZSdnwNthS760NIK1qO6Zk9KOQ5IW1KpoyzrMV0rR1wwCHtPZKYwQKQQy8lMapn+DO9LRzp6hxyfAm94mBU6pdTJHtzSBJK7hVWLUi+paPXVbyQntq+oOMLqQMns7dxrYUPdR9esoDXT15uohxhlLpu50=;3:p7FQxnBfJwpBdKtyuNySfH25tE1HWmFH43Wp852aRLdSHXF1Spho61uBI72ENbiRm2jfz5j5Dyv/qbEE4ta4IqOV/k9TNi7VoZjYhxjw/CcoJPxayBZdgiANWvjbkdziXfwN7odC9L9FCfzWNCEJjQ==;25:tfqiLq79mISXCk56anAFNhaZsL5e7qWvhlyzKFMr+ErAIlLhbyKxjLfo3z9pXCXnVJwNQhviE+oqt4lIPgc5xUxuIVk+eDGvYkagilZCm0ZfcjFl1VLUrAJFqM/va8IgT28tXkPrDppZS2Q3A8EbSTzmYpoFhy2JIDxcjSFsOARKfHa9WaOTwFH1ohrBGJ9l6CrQltdSNsN325TUor1z1mJXBH8q7UoTVcz4NH7xI3kBy7HR3vC0NTGpxf1kwe7EhfmgZWeqL1IImJAIZWlnAw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;20:Myy9IUfWD+VqzOFA2sb6l+hZ+wj1MsE9/iTk+EfomrDO3PK46oYiVOi14/X/17ubFjHkQN7P8aXT3xdpxVArdfQS4gTguwXSl2weCLcCMZMoguCC34PJ1nFewxpX5hCFRYhcBfnD7a+a2TekitCo9ks1QPFuBOkSprzbpe9G8rvGoWjpEskwfho5e4PkzndDZwdvW9JfQfWPO49zK2pN3RTOO/4qyr4wQwvp4vE7SCFJGbo0uCaIfEYF/FwODJumyliYQY62OsK8D0bwy6CLPyPs1k+KmPWj8cfg10fYeI2piQPBNEh8Uk9yS8Ygd8iF6n1QWUoZyUMFM/GPtVEo+ixkHMl+yQ94YEoOtzD0kEZ40ujaRJ9obtrMOuqUhZWIttJyqVZy8tC4Sffa4+eA2UygfidCG0wHgzuj55TvszFnbe8+kFRzGPqOz6sSL+MtT93I9LmG9iEX8BFRJKnVSX/Vs+DjnoHlhntYqDIzOKI2T9dfYvrpasFn5+zUYh+R;4:rySP3bPIw8nByuRbtyLYWLGfdWh4jIYNNjD1pkUN66HOn5DdiWgeY4wkYyXos9jYhpnIV5KWYG+s7WXvEtXfOyXkLbw+6luKVEBCXCg/+xY7d9TJhfCVKY895nhYe9PxeSN7p+629EJXndl8Ki9KS+RiKMswtH2GQh5tHI1Qpbnlqe536eqwuXounHjrU890w8o5IFsr2C881J4hMlZxf9V+drpAu604G1vpoECHGifCWraHUriCFLwK/ZCzPSu9+Xz/j/8l1hNPlrbIftZjbVeu19xxYcoF49SlfWi6V1l6kQvxraMEZW5ifNR2P/NrwRlJmKFs6Ksa7iW7rFeyazB1XF0d9dMK0gJavSerScE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001);SRVR:BY1PR03MB1482;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1482; X-Forefront-PRVS: 0707248B64 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(377424004)(199003)(189002)(24454002)(101416001)(107886002)(87976001)(50986999)(5004730100002)(19580395003)(50226001)(40100003)(4001540100001)(5001830100001)(5820100001)(77096005)(5001860100001)(33646002)(81156007)(2950100001)(77156002)(122386002)(97736004)(36756003)(68736005)(62966003)(92566002)(19580405001)(189998001)(105586002)(46102003)(86362001)(76176999)(5007970100001)(50466002)(575784001)(64706001)(42186005)(106356001)(103116003)(47776003)(23676002)(110136002)(5001960100002)(99106002)(3826002)(4001430100001)(5001840100002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1482;H:[IPv6:2601:448:8100:f9f:50e1:d489:16f6:5d07];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzTUIxNDgyOzIzOkJ1Sk1ldXovVWpGSDBsS01NdjY0NXdIcHZO?= =?utf-8?B?V1NteGd6QWR5Qm9qYVRDNVcvVXhxTFhvWjRLazRCS1MwUDBjWWo5UGxuaDhl?= =?utf-8?B?UCt3TmVqR0E2SWwxekJiN1hFeHU5cGc4cFZCL2JSWUxwa0hxS2lRWXk5b3NI?= =?utf-8?B?Rmg2UlJEb3pKckJnNlBEcytROFQ0TnRtZndjekhpYlVMZXVHK0ViWURCRjBZ?= =?utf-8?B?VlhmajZENzJwTkJLMTA2NDBOdTQ0ekZlWEFIQmJaV25FQkpRN2VHYnQ5Mzlm?= =?utf-8?B?dmd2SlcxUlhUNlZwcWhWZ1I2ZVFqVVVLU3h4Uld5LzVGT1U4aGhHOERBekJr?= =?utf-8?B?Y1ZkOXc4anVYN05DMHV5a1RJaHZRNTdGR0dNbStsbzFUcUhORWw1dzFEUElR?= =?utf-8?B?K3BzVllHRU1WNnp6U3BQZEpxcTZOSDhMUS9mYUE4NjMvNktMQ2JjVU0wTThI?= =?utf-8?B?RzJmVDFIV09DN0djNWIwa0Z0dkdDRWdPUU5ROXA4OUtna2V5MUlBTExuNVJr?= =?utf-8?B?RXJWeW92eEYxYlowSnNoZ3RxejhwNGphRHhOOVk5WWpaeEJpZlo5eGhEd1c1?= =?utf-8?B?L0lGQTV3K09vMmVrWjlzbDFzTWMrQVMrTFcxaWU4K21BRnQyM1BVcDVkTU00?= =?utf-8?B?QmlrVU52dHgyTXNsTjEwODRWd3VrNlRFeHVqVm9iZDgwb1FVdGs1enRBMmRx?= =?utf-8?B?L1NkdkU5aUpGZ2U5L1EyZVJBd01TUDJiclhsOE8rcXpxalcyT3RLemhtU3Uw?= =?utf-8?B?OHFOUVlDeC9jVlFQQ3c2RjJLMjBwMk5RNG1haGM5QVFnRnp5aVVyNEkrYXpS?= =?utf-8?B?YzB4NW1kV3FvMXZ2bjF6a2NYS25TczhtTzl3a1gycUVuTEtCUGVwa1hORU9n?= =?utf-8?B?dVUySHN6OUh1VDZQNmREeXRCNnF0TzFsSFErTUgrczlsd1FXalF0OTRmeENj?= =?utf-8?B?NWxQbU80dStxVnlRRENuNEUrdG4wOVhHN3U2ZzluWk9iRGk0c1laZExjdVdX?= =?utf-8?B?OWMwQmlGUGIwZURFckZVSG8wRGxwbWJ2NjExWnhOSWJjZ09kL1cwUjY1RG1V?= =?utf-8?B?VzlFbllpVnI3WGU5bWN5THNmMGdFQVVWSmcxUXk3OUptb2Y2alhOWEIyTE0w?= =?utf-8?B?YnBTaCtwT2poUkp0dGpBTFdxWVkrdVpvSEZTSDAySmR1bzEvUWNSVTMybDhW?= =?utf-8?B?YzhHY1BJSmNRSlM0Z0g2UmFjV2lBTUJmS0xjMXA2YWNESE1DNWM3VVQrZVU0?= =?utf-8?B?b0ZhazgxODRzOGN4L09xZy9NSk9wS3ZlelVXZUtpc090UHBlSUZYdWRkc3ND?= =?utf-8?B?aWErMENzMk4rY2VNWlczME5yaldXaW9vRjA1WTJqZi9ONkVUcktvejF0dnl5?= =?utf-8?B?UFp0VG9xOGIvSDltb0RPNUFaaW91ZHpIZHE0TThHOXBjckZCZlZOeDFrOHY5?= =?utf-8?B?QkJGUk1YQnpvblZuSjllNUhjb0o1enU5bW1XazRWSnQ2Z3RITXVnWEhhb1NI?= =?utf-8?B?Wk5qbWNXdjcxODhlOFY1UlBYaDFtRWFlMEx5eFFjRnpKOUlKbzJUMytIQ01P?= =?utf-8?B?RGpLYm9NUE9HamROV0dEUGJqOFJCdW9Mck5rSkZGVVM5VDc3YjQ0M3JrZzl0?= =?utf-8?B?UDBVbXpIcXZKODZLTHBPNHYyaHo3anVYWTE2YkM1YVpaU2Jsa3krVXFPNkRt?= =?utf-8?B?eXFtRHgwSGRBQm1NZlB3VFE3KzQrc3l3WWRCUnVuZFdsWXVmWWJvUXAycFdR?= =?utf-8?Q?XseVbYlChRm5cSZh7R5RcyUr1rIF+8AVqN9Fk=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1482;5:bR5noQKxvvofDTWu4bAYBggFDoLrYUkM0mCBmxLbVHFPDqKSA+vOCb7D8MXlRLg/Vnvn4yAQVBUGFLo1Aky0r/XFe3wJrc6KJyyTiRQYgNoAxWs8y6EnG88B5WaWy1vU1G+dptcQm8FDamDjtM1AUg==;24:QNpMvDPQhbslxlh6zQHnkFganIqSHXSGRDR6qxQoeEVe4p8fgL1XQjs9d222ZQHFSAzcFogqbC91MpSrK2NVhdIX8Sqh/kRp8EfV3FUjjkg=;20:E5XfjvAPI1gf4KMrY7pX+aYE/MX24lFtSbOnz5rdpy4S0qdvEd+CR6gAUnE4vShTq3nzFZf/d4iTUZnh+Xfm/w== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2015 23:50:13.8245 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1482 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote: > mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND > flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak > is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag > as it doesn't guarantee wakeup for that interrupt. > > This patch removes the redundant mpic_irq_set_wake and sets the > IRQCHIP_SKIP_SET_WAKE for only FSL MPIC. > > Cc: Benjamin Herrenschmidt > Cc: Paul Mackerras > Cc: Michael Ellerman > Cc: Scott Wood > Cc: Hongtao Jia > Cc: Marc Zyngier > Cc: linuxppc-dev@lists.ozlabs.org > Signed-off-by: Sudeep Holla > --- > arch/powerpc/sysdev/mpic.c | 23 ++++------------------- > 1 file changed, 4 insertions(+), 19 deletions(-) > > diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c > index 537e5db85a06..123e43612f0a 100644 > --- a/arch/powerpc/sysdev/mpic.c > +++ b/arch/powerpc/sysdev/mpic.c > @@ -924,22 +924,6 @@ int mpic_set_irq_type(struct irq_data *d, unsigned int > flow_type) > return IRQ_SET_MASK_OK_NOCOPY; > } > > -static int mpic_irq_set_wake(struct irq_data *d, unsigned int on) > -{ > - struct irq_desc *desc = container_of(d, struct irq_desc, irq_data); > - struct mpic *mpic = mpic_from_irq_data(d); > - > - if (!(mpic->flags & MPIC_FSL)) > - return -ENXIO; > - > - if (on) > - desc->action->flags |= IRQF_NO_SUSPEND; > - else > - desc->action->flags &= ~IRQF_NO_SUSPEND; > - > - return 0; > -} > - > void mpic_set_vector(unsigned int virq, unsigned int vector) > { > struct mpic *mpic = mpic_from_irq(virq); > @@ -977,7 +961,6 @@ static struct irq_chip mpic_irq_chip = { > .irq_unmask = mpic_unmask_irq, > .irq_eoi = mpic_end_irq, > .irq_set_type = mpic_set_irq_type, > - .irq_set_wake = mpic_irq_set_wake, > }; > > #ifdef CONFIG_SMP > @@ -992,7 +975,6 @@ static struct irq_chip mpic_tm_chip = { > .irq_mask = mpic_mask_tm, > .irq_unmask = mpic_unmask_tm, > .irq_eoi = mpic_end_irq, > - .irq_set_wake = mpic_irq_set_wake, > }; > > #ifdef CONFIG_MPIC_U3_HT_IRQS > @@ -1283,8 +1265,11 @@ struct mpic * __init mpic_alloc(struct device_node > *node, > flags |= MPIC_NO_RESET; > if (of_get_property(node, "single-cpu-affinity", NULL)) > flags |= MPIC_SINGLE_DEST_CPU; > - if (of_device_is_compatible(node, "fsl,mpic")) > + if (of_device_is_compatible(node, "fsl,mpic")) { > flags |= MPIC_FSL | MPIC_LARGE_VECTORS; > + mpic_irq_chip.flags |= IRQCHIP_SKIP_SET_WAKE; > + mpic_tm_chip.flags |= IRQCHIP_SKIP_SET_WAKE; > + } What difference does IRQCHIP_SKIP_SET_WAKE make in the absence of an .irq_set_wake() callback? This is basically repealing commit 5ff04b7287d87c1db7 ("powerpc/mpic: add irq_set_wake support"). Wang Dongsheng, can you explain why that patch was needed? -Scott