#
1.7 |
|
10-Apr-2023 |
jsg |
spelling
|
Revision tags: OPENBSD_7_3_BASE
|
#
1.6 |
|
05-Mar-2023 |
jmatthew |
Mask off IPL flags before storing the IPL for an interrupt. This fixes the IPL calculations in mpic_calc_mask() in the presence of IPL_MPSAFE interrupts such as mvneta(4).
ok patrick@ kettenis@ dlg@
|
Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.5 |
|
24-Oct-2021 |
mpi |
Constify struct cfattach.
ok visa@ a long time ago, ok patrick@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.4 |
|
14-Jul-2020 |
patrick |
Extend the interrupt API on arm64 and armv7 to be able to pass around a struct cpu_info *. From a driver point of view the fdt_intr_establish_* API now also exist same functions with a *_cpu suffix. Internally the "old" functions now call their *_cpu counterparts, passing NULL as ci. NULL will be interpreted as primary CPU in the interrupt controller code.
The internal framework for interrupt controllers has been changed so that the establish methods provided by an interrupt controller function always takes a struct cpu_info *.
Some drivers, like imxgpio(4) and rkgpio(4), only have a single interrupt line for multiple pins. On those we simply disallow trying to establish an interrupt on a non-primary CPU, returning NULL.
Since we do not have MP yet on armv7, all armv7 interrupt controllers do return NULL if an attempt is made to establish an interrupt on a different CPU. That said, so far there's no way this can happen. If we ever gain MP support, this is a reminder that the interrupt controller drivers have to be adjusted.
Prompted by dlg@ ok kettenis@
|
Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.3 |
|
07-Dec-2018 |
patrick |
For shared interrupts we need to make sure that we register with the lowest IPL. Once we actually run the IRQ handler we raise to the highest IPL. Fixes a crash seen when having a network card in the PCIe slot of the MacchiatoBin.
ok ccardenas@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
|
#
1.2 |
|
25-Aug-2017 |
patrick |
Add missing OpenBSD CVS tag
|
#
1.1 |
|
25-Aug-2017 |
patrick |
Add mvmpic(4), a driver for the interrupt controller that sits between the ARM Generic Interrupt Controller and the Ethernet controller on the Armada 388 (SolidRun ClearFog, Turris Omnia).
ok kettenis@
|
#
1.6 |
|
05-Mar-2023 |
jmatthew |
Mask off IPL flags before storing the IPL for an interrupt. This fixes the IPL calculations in mpic_calc_mask() in the presence of IPL_MPSAFE interrupts such as mvneta(4).
ok patrick@ kettenis@ dlg@
|
Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.5 |
|
24-Oct-2021 |
mpi |
Constify struct cfattach.
ok visa@ a long time ago, ok patrick@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.4 |
|
14-Jul-2020 |
patrick |
Extend the interrupt API on arm64 and armv7 to be able to pass around a struct cpu_info *. From a driver point of view the fdt_intr_establish_* API now also exist same functions with a *_cpu suffix. Internally the "old" functions now call their *_cpu counterparts, passing NULL as ci. NULL will be interpreted as primary CPU in the interrupt controller code.
The internal framework for interrupt controllers has been changed so that the establish methods provided by an interrupt controller function always takes a struct cpu_info *.
Some drivers, like imxgpio(4) and rkgpio(4), only have a single interrupt line for multiple pins. On those we simply disallow trying to establish an interrupt on a non-primary CPU, returning NULL.
Since we do not have MP yet on armv7, all armv7 interrupt controllers do return NULL if an attempt is made to establish an interrupt on a different CPU. That said, so far there's no way this can happen. If we ever gain MP support, this is a reminder that the interrupt controller drivers have to be adjusted.
Prompted by dlg@ ok kettenis@
|
Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.3 |
|
07-Dec-2018 |
patrick |
For shared interrupts we need to make sure that we register with the lowest IPL. Once we actually run the IRQ handler we raise to the highest IPL. Fixes a crash seen when having a network card in the PCIe slot of the MacchiatoBin.
ok ccardenas@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
|
#
1.2 |
|
25-Aug-2017 |
patrick |
Add missing OpenBSD CVS tag
|
#
1.1 |
|
25-Aug-2017 |
patrick |
Add mvmpic(4), a driver for the interrupt controller that sits between the ARM Generic Interrupt Controller and the Ethernet controller on the Armada 388 (SolidRun ClearFog, Turris Omnia).
ok kettenis@
|
#
1.5 |
|
24-Oct-2021 |
mpi |
Constify struct cfattach.
ok visa@ a long time ago, ok patrick@
|
Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
|
#
1.4 |
|
14-Jul-2020 |
patrick |
Extend the interrupt API on arm64 and armv7 to be able to pass around a struct cpu_info *. From a driver point of view the fdt_intr_establish_* API now also exist same functions with a *_cpu suffix. Internally the "old" functions now call their *_cpu counterparts, passing NULL as ci. NULL will be interpreted as primary CPU in the interrupt controller code.
The internal framework for interrupt controllers has been changed so that the establish methods provided by an interrupt controller function always takes a struct cpu_info *.
Some drivers, like imxgpio(4) and rkgpio(4), only have a single interrupt line for multiple pins. On those we simply disallow trying to establish an interrupt on a non-primary CPU, returning NULL.
Since we do not have MP yet on armv7, all armv7 interrupt controllers do return NULL if an attempt is made to establish an interrupt on a different CPU. That said, so far there's no way this can happen. If we ever gain MP support, this is a reminder that the interrupt controller drivers have to be adjusted.
Prompted by dlg@ ok kettenis@
|
Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.3 |
|
07-Dec-2018 |
patrick |
For shared interrupts we need to make sure that we register with the lowest IPL. Once we actually run the IRQ handler we raise to the highest IPL. Fixes a crash seen when having a network card in the PCIe slot of the MacchiatoBin.
ok ccardenas@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
|
#
1.2 |
|
25-Aug-2017 |
patrick |
Add missing OpenBSD CVS tag
|
#
1.1 |
|
25-Aug-2017 |
patrick |
Add mvmpic(4), a driver for the interrupt controller that sits between the ARM Generic Interrupt Controller and the Ethernet controller on the Armada 388 (SolidRun ClearFog, Turris Omnia).
ok kettenis@
|
#
1.4 |
|
14-Jul-2020 |
patrick |
Extend the interrupt API on arm64 and armv7 to be able to pass around a struct cpu_info *. From a driver point of view the fdt_intr_establish_* API now also exist same functions with a *_cpu suffix. Internally the "old" functions now call their *_cpu counterparts, passing NULL as ci. NULL will be interpreted as primary CPU in the interrupt controller code.
The internal framework for interrupt controllers has been changed so that the establish methods provided by an interrupt controller function always takes a struct cpu_info *.
Some drivers, like imxgpio(4) and rkgpio(4), only have a single interrupt line for multiple pins. On those we simply disallow trying to establish an interrupt on a non-primary CPU, returning NULL.
Since we do not have MP yet on armv7, all armv7 interrupt controllers do return NULL if an attempt is made to establish an interrupt on a different CPU. That said, so far there's no way this can happen. If we ever gain MP support, this is a reminder that the interrupt controller drivers have to be adjusted.
Prompted by dlg@ ok kettenis@
|
Revision tags: OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.3 |
|
07-Dec-2018 |
patrick |
For shared interrupts we need to make sure that we register with the lowest IPL. Once we actually run the IRQ handler we raise to the highest IPL. Fixes a crash seen when having a network card in the PCIe slot of the MacchiatoBin.
ok ccardenas@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
|
#
1.2 |
|
25-Aug-2017 |
patrick |
Add missing OpenBSD CVS tag
|
#
1.1 |
|
25-Aug-2017 |
patrick |
Add mvmpic(4), a driver for the interrupt controller that sits between the ARM Generic Interrupt Controller and the Ethernet controller on the Armada 388 (SolidRun ClearFog, Turris Omnia).
ok kettenis@
|
#
1.3 |
|
07-Dec-2018 |
patrick |
For shared interrupts we need to make sure that we register with the lowest IPL. Once we actually run the IRQ handler we raise to the highest IPL. Fixes a crash seen when having a network card in the PCIe slot of the MacchiatoBin.
ok ccardenas@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
|
#
1.2 |
|
25-Aug-2017 |
patrick |
Add missing OpenBSD CVS tag
|
#
1.1 |
|
25-Aug-2017 |
patrick |
Add mvmpic(4), a driver for the interrupt controller that sits between the ARM Generic Interrupt Controller and the Ethernet controller on the Armada 388 (SolidRun ClearFog, Turris Omnia).
ok kettenis@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.2 |
|
25-Aug-2017 |
patrick |
Add missing OpenBSD CVS tag
|
#
1.1 |
|
25-Aug-2017 |
patrick |
Add mvmpic(4), a driver for the interrupt controller that sits between the ARM Generic Interrupt Controller and the Ethernet controller on the Armada 388 (SolidRun ClearFog, Turris Omnia).
ok kettenis@
|