-
Notifications
You must be signed in to change notification settings - Fork 7.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drivers: add GIC V3 driver #24850
drivers: add GIC V3 driver #24850
Conversation
@Abhishek-brcm You comments are addressed in this version of PR. |
@stephanosio Please give your feedback on the approach. GICV3 and GICV2 have some common |
30304d8
to
56b5c96
Compare
All checks passed. Tip: The bot edits this comment instead of posting a new one, so you can check the comment's history to see earlier messages. |
56b5c96
to
46198bd
Compare
@stephanosio I tested the common macros and functions in local workspace with Qemu GICv2. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think GICv3 driver is in good shape now. It has introduced few common macros, which we can expect to be used in GICv2 driver later and consequently, make some APIs common in between these two.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few minor issues, but it looks ok overall.
Add basic driver for GIC V3 interrupt controller. This implementation supports - distributor, re-distributor and cpu interface initialization - configuration and handling of SPI, PPI and SGI. - V2 Legacy mode is not supported and uses system interface. Current implementation supports GIC secure state only. All interrupts are routed to Secure EL1 as 'irq' by configuring them as Group1 Secure. TODO: - MPIDR based affinity routing setting. - percpu redistributor probe - message based SPI and SGI generation api - EL1NS support. Legacy mode support. - LPI/ITS is not supported. Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com>
46198bd
to
c637f94
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Add basic driver for GIC V3 interrupt controller.
This implementation supports
Current implementation supports GIC secure state only.
All interrupts are routed to Secure EL1 as 'irq' by configuring
them as Group1 Secure.
TODO:
[update v2] Changes in this version:
[update v3]
changes around common macro placements in gic.h intc_gic_common_priv.h
gicv3 specific private macros are moved to intc_gicv3_priv.h
[update v4]
Used appt macro names to be better intuitive as per review comments
Signed-off-by: Sandeep Tripathy sandeep.tripathy@broadcom.com