File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -3944,6 +3944,22 @@ static void its_configure_sgi(struct irq_data *d, bool clear)
3944
3944
its_send_single_vcommand (find_4_1_its (), its_build_vsgi_cmd , & desc );
3945
3945
}
3946
3946
3947
+ static void its_sgi_mask_irq (struct irq_data * d )
3948
+ {
3949
+ struct its_vpe * vpe = irq_data_get_irq_chip_data (d );
3950
+
3951
+ vpe -> sgi_config [d -> hwirq ].enabled = false;
3952
+ its_configure_sgi (d , false);
3953
+ }
3954
+
3955
+ static void its_sgi_unmask_irq (struct irq_data * d )
3956
+ {
3957
+ struct its_vpe * vpe = irq_data_get_irq_chip_data (d );
3958
+
3959
+ vpe -> sgi_config [d -> hwirq ].enabled = true;
3960
+ its_configure_sgi (d , false);
3961
+ }
3962
+
3947
3963
static int its_sgi_set_affinity (struct irq_data * d ,
3948
3964
const struct cpumask * mask_val ,
3949
3965
bool force )
@@ -3958,6 +3974,8 @@ static int its_sgi_set_affinity(struct irq_data *d,
3958
3974
3959
3975
static struct irq_chip its_sgi_irq_chip = {
3960
3976
.name = "GICv4.1-sgi" ,
3977
+ .irq_mask = its_sgi_mask_irq ,
3978
+ .irq_unmask = its_sgi_unmask_irq ,
3961
3979
.irq_set_affinity = its_sgi_set_affinity ,
3962
3980
};
3963
3981
You can’t perform that action at this time.
0 commit comments