The irq_state field on the distributor struct is ambiguous in its meaning; the comment says it's the level of the input put, but that doesn't make much sense for edge-triggered interrupts. The code actually uses this state variable to check if the interrupt is in the pending state on the distributor so clarify the comment and rename the actual variable and accessor methods.
Showing the changes to include/kvm (1 of 2 files). Show all
Unified · Split
| @@ -140,8 +140,8 @@ struct vgic_dist { · 139 unmodified lines | |||
| 140 | /* Interrupt enabled (one bit per IRQ) */ | 140 | /* Interrupt enabled (one bit per IRQ) */ |
| 141 | struct vgic_bitmap irq_enabled; | 141 | struct vgic_bitmap irq_enabled; |
| 142 | 142 | ||
| 143 | /* Interrupt 'pin' level */ | 143 | /* Interrupt state is pending on the distributor */ |
| 144 | struct vgic_bitmap irq_state; | 144 | struct vgic_bitmap irq_pending; |
| 145 | 145 | ||
| 146 | /* Level-triggered interrupt in progress */ | 146 | /* Level-triggered interrupt in progress */ |
| 147 | struct vgic_bitmap irq_active; | 147 | struct vgic_bitmap irq_active; |