From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752436AbdGGTeK (ORCPT ); Fri, 7 Jul 2017 15:34:10 -0400 Received: from mail-qt0-f193.google.com ([209.85.216.193]:35206 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750848AbdGGTeI (ORCPT ); Fri, 7 Jul 2017 15:34:08 -0400 Subject: Re: [PATCH 0/6] Add support for BCM7271 style interrupt controller References: <20170707192016.13001-1-opendmb@gmail.com> To: Thomas Gleixner Cc: Jason Cooper , Marc Zyngier , Rob Herring , Mark Rutland , Kevin Cernekee , Florian Fainelli , Brian Norris , Gregory Fong , bcm-kernel-feedback-list@broadcom.com, Marc Gonzalez , Bartosz Golaszewski , Sebastian Frias , Boris Brezillon , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-mips@linux-mips.org, linux-arm-kernel@lists.infradead.org From: Doug Berger Message-ID: Date: Fri, 7 Jul 2017 12:34:03 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170707192016.13001-1-opendmb@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Sorry, messed up the CC list. On 07/07/2017 12:20 PM, Doug Berger wrote: > This patch set extends the functionality of the irq-brcmstb-l2 interrupt > controller driver to cover a hardware variant first introduced in the > BCM7271 SoC. The main difference between this variant and the block > found in earlier brcmstb SoCs is that this variant only supports level > sensitive interrupts and therefore does not latch the interrupt state > based on edges. Since there is no longer a need to ack interrupts with > a register write to clear the latch the register map has been changed. > > Therefore the change to add support for the new hardware block is to > abstract the register accesses to accommodate different maps and to > identify the block with a new device-tree compatible string. > > I also took the opportunity to make some small efficiency enhancements > to the driver. One of these was to make use of the slightly more > efficient irq_mask_ack method. However, I discovered that the defined > irq_gc_mask_disable_reg_and_ack() generic irq function was insufficient > for my needs. The first three commits of this set are intended to be a > correction and extension of the existing generic irq implementation to > provide a set of functions that can be used by interrupt controller > drivers for their irq_mask_ack method. > > I believe these first three commits should be added to the irq/core > repository and the remaining commits should be added to the Broadcom > github repository but have included the complete set here for improved > context. This entire set is therefore based on the irq/core master > branch. Please let me know if you would like a different packaging. > > If the changes to genirq are not acceptable I can implement the > irq_mask_ask method locally in the irq-brcmstb-l2 driver and submit > that on its own. > > Doug Berger (5): > genirq: generic chip: add generic irq_mask_ack functions > genirq: generic chip: remove irq_gc_mask_disable_reg_and_ack() > irqchip: brcmstb-l2: Remove some processing from the handler > irqchip: brcmstb-l2: Abstract register accesses > irqchip: brcmstb-l2: Add support for the BCM7271 L2 controller > > Florian Fainelli (1): > irqchip/tango: Use irq_gc_mask_disable_and_ack_set > > .../bindings/interrupt-controller/brcm,l2-intc.txt | 3 +- > drivers/irqchip/irq-brcmstb-l2.c | 145 ++++++++++++++------- > drivers/irqchip/irq-tango.c | 2 +- > include/linux/irq.h | 7 +- > kernel/irq/generic-chip.c | 110 +++++++++++++++- > 5 files changed, 214 insertions(+), 53 deletions(-) >