Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e6c348f authored by Len Brown's avatar Len Brown
Browse files

Merge branch 'irq' into release

parents 7f3745ad 88bea188
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -69,9 +69,13 @@ Description:
		gpe1F:	     0	invalid
		gpe_all:    1192
		sci:	1194
		sci_not:     0	

		sci - The total number of times the ACPI SCI
		has claimed an interrupt.
		sci - The number of times the ACPI SCI
		has been called and claimed an interrupt.

		sci_not - The number of times the ACPI SCI
		has been called and NOT claimed an interrupt.

		gpe_all - count of SCI caused by GPEs.

+3 −1
Original line number Diff line number Diff line
@@ -353,9 +353,11 @@ static irqreturn_t acpi_irq(int irq, void *dev_id)
	if (handled) {
		acpi_irq_handled++;
		return IRQ_HANDLED;
	} else
	} else {
		acpi_irq_not_handled++;
		return IRQ_NONE;
	}
}

acpi_status
acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler,
+9 −2
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ ACPI_MODULE_NAME("system");
#define ACPI_SYSTEM_DEVICE_NAME		"System"

u32 acpi_irq_handled;
u32 acpi_irq_not_handled;

/*
 * Make ACPICA version work as module param
@@ -214,8 +215,9 @@ static int acpi_system_sysfs_init(void)

#define COUNT_GPE 0
#define COUNT_SCI 1	/* acpi_irq_handled */
#define COUNT_ERROR 2	/* other */
#define NUM_COUNTERS_EXTRA 3
#define COUNT_SCI_NOT 2	/* acpi_irq_not_handled */
#define COUNT_ERROR 3	/* other */
#define NUM_COUNTERS_EXTRA 4

struct event_counter {
	u32 count;
@@ -317,6 +319,8 @@ static ssize_t counter_show(struct kobject *kobj,

	all_counters[num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_SCI].count =
		acpi_irq_handled;
	all_counters[num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_SCI_NOT].count =
		acpi_irq_not_handled;
	all_counters[num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_GPE].count =
		acpi_gpe_count;

@@ -363,6 +367,7 @@ static ssize_t counter_set(struct kobject *kobj,
			all_counters[i].count = 0;
		acpi_gpe_count = 0;
		acpi_irq_handled = 0;
		acpi_irq_not_handled = 0;
		goto end;
	}

@@ -456,6 +461,8 @@ void acpi_irq_stats_init(void)
			sprintf(buffer, "gpe_all");
		else if (i == num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_SCI)
			sprintf(buffer, "sci");
		else if (i == num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_SCI_NOT)
			sprintf(buffer, "sci_not");
		else if (i == num_gpes + ACPI_NUM_FIXED_EVENTS + COUNT_ERROR)
			sprintf(buffer, "error");
		else
+1 −0
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base);
int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base);
void acpi_irq_stats_init(void);
extern u32 acpi_irq_handled;
extern u32 acpi_irq_not_handled;

extern struct acpi_mcfg_allocation *pci_mmcfg_config;
extern int pci_mmcfg_config_num;