Skip to content

Commit

Permalink
dt-bindings: x86: apic: Introduce new optional bool property for lapic
Browse files Browse the repository at this point in the history
X86 defines a few possible interrupt delivery modes. With respect to
boot/init time, mainly two interrupt delivery modes are possible.

 - PIC Mode: Legacy external 8259 compliant PIC interrupt controller
 - Virtual Wire Mode: Use lapic as virtual wire interrupt delivery mode

ACPI and MPS spec compliant systems provide this information, but for OF
based systems, it is by default set to PIC mode.

In fact it is hardcoded to legacy PIC mode for OF based x86 systems with no
option to choose the configuration between PIC mode & virtual wire mode.

For this purpose, introduce a new boolean property for the lapic interrupt
controller node which allows to configure it for virtual wire mode as well.

Property name: 'intel,virtual-wire-mode'
Type: Boolean

If not present/not defined, interrupt delivery mode defaults to legacy PIC
mode. If present/defined, interrupt delivery mode is set to virtual wire
mode.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rahul Tanwar <rtanwar@maxlinear.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221124084143.21841-3-rtanwar@maxlinear.com
  • Loading branch information
Rahul Tanwar authored and Thomas Gleixner committed Dec 2, 2022
1 parent 2b822f4 commit b3a9801
Showing 1 changed file with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ properties:
'#interrupt-cells':
const: 2

intel,virtual-wire-mode:
description: Intel defines a few possible interrupt delivery
modes. With respect to boot/init time, mainly two interrupt
delivery modes are possible.
PIC Mode - Legacy external 8259 compliant PIC interrupt controller.
Virtual Wire Mode - use lapic as virtual wire interrupt delivery mode.
For ACPI or MPS spec compliant systems, it is figured out by some read
only bit field/s available in their respective defined data structures.
For OF based systems, it is by default set to PIC mode.
But if this optional boolean property is set, then the interrupt delivery
mode is configured to virtual wire compatibility mode.
type: boolean

required:
- compatible
- reg
Expand All @@ -54,4 +67,5 @@ examples:
reg = <0xfee00000 0x1000>;
interrupt-controller;
#interrupt-cells = <2>;
intel,virtual-wire-mode;
};

0 comments on commit b3a9801

Please sign in to comment.