[PW_SID:969853] Risc-V ACLINT IPI controller#491
Conversation
RISC-V APLIC specification defines "hart index" in [1] And similar definitions found for ACLINT in [2] Quote from [1]: Within a given interrupt domain, each of the domain’s harts has a unique index number in the range 0 to 2^14 − 1 (= 16,383). The index number a domain associates with a hart may or may not have any relationship to the unique hart identifier (“hart ID”) that the RISC-V Privileged Architecture assigns to the hart. Two different interrupt domains may employ entirely different index numbers for the same set of harts. Further, [1] says in "4.5 Memory-mapped control region for an interrupt domain": The array of IDC structures may include some for potential hart index numbers that are not actual hart index numbers in the domain. For example, the first IDC structure is always for hart index 0, but 0 is not necessarily a valid index number for any hart in the domain. Support arbitrary hart indices specified in an optional property "riscv,hart-indexes" which is specified as an array of u32 elements, one per interrupt target, listing hart indexes in the same order as in "interrupts-extended". If this property is not specified, fallback to use logical hart indices within the domain. If property not exist, fall back to logical hart indexes Link: https://github.com/riscv/riscv-aia [1] Link: https://github.com/riscvarchive/riscv-aclint [2] Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Use global helper function instead of the local implementation Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add generic, Risc-V spec compliant (see [1]) aclint-sswi binding Thead specific binding preserved, and converted to variant of the generic aclint-sswi Link: https://github.com/riscvarchive/riscv-aclint [1] Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Refactor Thead specific implementation of the ACLINT-SSWI irqchip, providing generic one, according to the Risc-V spec [1] Preserve Thead-specific version, do it as a customized variant of the generic one. Link: https://github.com/riscvarchive/riscv-aclint [1] Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Resolve hart index according to assignment in the "riscv,hart-indexes" property as defined in [1] Link: https://github.com/riscvarchive/riscv-aclint [1] Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Move variables to the innermost scope where it is used Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Signed-off-by: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 1: "[v1,1/7] riscv: helper to parse hart index" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 2: "[v1,2/7] irqchip: riscv aplic: use riscv_get_hart_index()" |
|
Patch 5: "[v1,5/7] irqchip: aslint-sswi: resolve hart index" |
|
Patch 5: "[v1,5/7] irqchip: aslint-sswi: resolve hart index" |
|
Patch 5: "[v1,5/7] irqchip: aslint-sswi: resolve hart index" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 6: "[v1,6/7] irqchip: aclint-sswi: reduce data scope" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
|
Patch 7: "[v1,7/7] irqchip: aclint-sswi: remove extra includes" |
400e3f8 to
948b274
Compare
PR for series 969853 applied to workflow__riscv__fixes
Name: Risc-V ACLINT IPI controller
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=969853
Version: 1