lkml.org 
[lkml]   [2021]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[irqchip: irq/irqchip-next] irqchip/gic: Add .irq_ack() to GIC-based irqchips
    The following commit has been merged into the irq/irqchip-next branch of irqchip:

    Commit-ID: ff41d1016e84102a4363f9e85945a7404cf11cb7
    Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/ff41d1016e84102a4363f9e85945a7404cf11cb7
    Author: Valentin Schneider <valentin.schneider@arm.com>
    AuthorDate: Tue, 29 Jun 2021 13:50:08 +01:00
    Committer: Marc Zyngier <maz@kernel.org>
    CommitterDate: Thu, 12 Aug 2021 15:48:21 +01:00

    irqchip/gic: Add .irq_ack() to GIC-based irqchips

    Subsequent patches will make the GIC IRQs use a flow handler that issues an
    irq_ack(), thus irqchips of child domains need to have an .irq_ack() of
    their own.

    Most cases are covered by the default MSI callbacks, but nexus domains and
    other non-MSI domains still need tending do.

    Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20210629125010.458872-12-valentin.schneider@arm.com
    ---
    drivers/irqchip/irq-gic-v2m.c | 1 +
    drivers/irqchip/irq-gic-v3-its.c | 3 +++
    drivers/irqchip/irq-gic-v3-mbi.c | 1 +
    3 files changed, 5 insertions(+)

    diff --git a/drivers/irqchip/irq-gic-v2m.c b/drivers/irqchip/irq-gic-v2m.c
    index 27a97c7..b8cf3ff 100644
    --- a/drivers/irqchip/irq-gic-v2m.c
    +++ b/drivers/irqchip/irq-gic-v2m.c
    @@ -126,6 +126,7 @@ static struct irq_chip gicv2m_irq_chip = {
    .name = "GICv2m",
    .irq_mask = irq_chip_mask_parent,
    .irq_unmask = irq_chip_unmask_parent,
    + .irq_ack = irq_chip_ack_parent,
    .irq_eoi = irq_chip_eoi_parent,
    .irq_set_affinity = irq_chip_set_affinity_parent,
    .irq_compose_msi_msg = gicv2m_compose_msi_msg,
    diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
    index ba39668..8a372ac 100644
    --- a/drivers/irqchip/irq-gic-v3-its.c
    +++ b/drivers/irqchip/irq-gic-v3-its.c
    @@ -1976,6 +1976,7 @@ static struct irq_chip its_irq_chip = {
    .name = "ITS",
    .irq_mask = its_mask_irq,
    .irq_unmask = its_unmask_irq,
    + .irq_ack = irq_chip_ack_parent,
    .irq_eoi = irq_chip_eoi_parent,
    .irq_set_affinity = its_set_affinity,
    .irq_compose_msi_msg = its_irq_compose_msi_msg,
    @@ -3997,6 +3998,7 @@ static struct irq_chip its_vpe_irq_chip = {
    .name = "GICv4-vpe",
    .irq_mask = its_vpe_mask_irq,
    .irq_unmask = its_vpe_unmask_irq,
    + .irq_ack = irq_chip_ack_parent,
    .irq_eoi = irq_chip_eoi_parent,
    .irq_set_affinity = its_vpe_set_affinity,
    .irq_retrigger = its_vpe_retrigger,
    @@ -4152,6 +4154,7 @@ static struct irq_chip its_vpe_4_1_irq_chip = {
    .name = "GICv4.1-vpe",
    .irq_mask = its_vpe_4_1_mask_irq,
    .irq_unmask = its_vpe_4_1_unmask_irq,
    + .irq_ack = irq_chip_ack_parent,
    .irq_eoi = irq_chip_eoi_parent,
    .irq_set_affinity = its_vpe_set_affinity,
    .irq_set_vcpu_affinity = its_vpe_4_1_set_vcpu_affinity,
    diff --git a/drivers/irqchip/irq-gic-v3-mbi.c b/drivers/irqchip/irq-gic-v3-mbi.c
    index a69ac29..b0e919f 100644
    --- a/drivers/irqchip/irq-gic-v3-mbi.c
    +++ b/drivers/irqchip/irq-gic-v3-mbi.c
    @@ -33,6 +33,7 @@ static struct irq_chip mbi_irq_chip = {
    .name = "MBI",
    .irq_mask = irq_chip_mask_parent,
    .irq_unmask = irq_chip_unmask_parent,
    + .irq_ack = irq_chip_ack_parent,
    .irq_eoi = irq_chip_eoi_parent,
    .irq_set_type = irq_chip_set_type_parent,
    .irq_set_affinity = irq_chip_set_affinity_parent,
    \
     
     \ /
      Last update: 2021-08-12 17:14    [W:4.060 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site