mirror of
https://github.com/torvalds/linux.git
synced 2025-12-01 07:26:02 +07:00
Merge tag 'irq_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Borislav Petkov: - Fix a /proc/interrupts formatting regression - Have the BCM2836 interrupt controller enter power management states properly - Other fixlets * tag 'irq_urgent_for_v6.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/stm32mp-exti: CONFIG_STM32MP_EXTI should not default to y when compile-testing genirq/proc: Add missing space separator back irqchip/bcm2836: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND irqchip/gic-v3: Fix irq_complete_ack() comment
This commit is contained in:
@@ -415,7 +415,7 @@ config PARTITION_PERCPU
|
||||
config STM32MP_EXTI
|
||||
tristate "STM32MP extended interrupts and event controller"
|
||||
depends on (ARCH_STM32 && !ARM_SINGLE_ARMV7M) || COMPILE_TEST
|
||||
default y
|
||||
default ARCH_STM32 && !ARM_SINGLE_ARMV7M
|
||||
select IRQ_DOMAIN_HIERARCHY
|
||||
select GENERIC_IRQ_CHIP
|
||||
help
|
||||
|
||||
@@ -58,6 +58,7 @@ static struct irq_chip bcm2836_arm_irqchip_timer = {
|
||||
.name = "bcm2836-timer",
|
||||
.irq_mask = bcm2836_arm_irqchip_mask_timer_irq,
|
||||
.irq_unmask = bcm2836_arm_irqchip_unmask_timer_irq,
|
||||
.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE,
|
||||
};
|
||||
|
||||
static void bcm2836_arm_irqchip_mask_pmu_irq(struct irq_data *d)
|
||||
@@ -74,6 +75,7 @@ static struct irq_chip bcm2836_arm_irqchip_pmu = {
|
||||
.name = "bcm2836-pmu",
|
||||
.irq_mask = bcm2836_arm_irqchip_mask_pmu_irq,
|
||||
.irq_unmask = bcm2836_arm_irqchip_unmask_pmu_irq,
|
||||
.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE,
|
||||
};
|
||||
|
||||
static void bcm2836_arm_irqchip_mask_gpu_irq(struct irq_data *d)
|
||||
@@ -88,6 +90,7 @@ static struct irq_chip bcm2836_arm_irqchip_gpu = {
|
||||
.name = "bcm2836-gpu",
|
||||
.irq_mask = bcm2836_arm_irqchip_mask_gpu_irq,
|
||||
.irq_unmask = bcm2836_arm_irqchip_unmask_gpu_irq,
|
||||
.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE,
|
||||
};
|
||||
|
||||
static void bcm2836_arm_irqchip_dummy_op(struct irq_data *d)
|
||||
|
||||
@@ -817,7 +817,7 @@ static void gic_deactivate_unhandled(u32 irqnr)
|
||||
* register state is not stale, as these may have been indirectly written
|
||||
* *after* exception entry.
|
||||
*
|
||||
* (2) Deactivate the interrupt when EOI mode 1 is in use.
|
||||
* (2) Execute an interrupt priority drop when EOI mode 1 is in use.
|
||||
*/
|
||||
static inline void gic_complete_ack(u32 irqnr)
|
||||
{
|
||||
|
||||
@@ -501,17 +501,18 @@ int show_interrupts(struct seq_file *p, void *v)
|
||||
|
||||
seq_put_decimal_ull_width(p, " ", cnt, 10);
|
||||
}
|
||||
seq_putc(p, ' ');
|
||||
|
||||
raw_spin_lock_irqsave(&desc->lock, flags);
|
||||
if (desc->irq_data.chip) {
|
||||
if (desc->irq_data.chip->irq_print_chip)
|
||||
desc->irq_data.chip->irq_print_chip(&desc->irq_data, p);
|
||||
else if (desc->irq_data.chip->name)
|
||||
seq_printf(p, " %8s", desc->irq_data.chip->name);
|
||||
seq_printf(p, "%8s", desc->irq_data.chip->name);
|
||||
else
|
||||
seq_printf(p, " %8s", "-");
|
||||
seq_printf(p, "%8s", "-");
|
||||
} else {
|
||||
seq_printf(p, " %8s", "None");
|
||||
seq_printf(p, "%8s", "None");
|
||||
}
|
||||
if (desc->irq_data.domain)
|
||||
seq_printf(p, " %*lu", prec, desc->irq_data.hwirq);
|
||||
|
||||
Reference in New Issue
Block a user