diff mbox series

[RESEND,kvm-unit-tests,2/3] arm64: timer: Use gic_enable/disable_irq() macro in timer test

Message ID 20230302030238.158796-3-shahuang@redhat.com (mailing list archive)
State New, archived
Headers show
Series arm: Use gic_enable/disable_irq() macro to clean up code | expand

Commit Message

Shaoqin Huang March 2, 2023, 3:02 a.m. UTC
Use gic_enable/disable_irq() to clean up the code.

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
---
 arm/timer.c | 20 +++-----------------
 1 file changed, 3 insertions(+), 17 deletions(-)

Comments

Eric Auger March 2, 2023, 8:19 a.m. UTC | #1
On 3/2/23 04:02, Shaoqin Huang wrote:
> Use gic_enable/disable_irq() to clean up the code.
> 
> Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>


Thanks

Eric

> ---
>  arm/timer.c | 20 +++-----------------
>  1 file changed, 3 insertions(+), 17 deletions(-)
> 
> diff --git a/arm/timer.c b/arm/timer.c
> index c4e7b10..c0a8388 100644
> --- a/arm/timer.c
> +++ b/arm/timer.c
> @@ -14,9 +14,6 @@
>  #include <asm/gic.h>
>  #include <asm/io.h>
>  
> -static void *gic_isenabler;
> -static void *gic_icenabler;
> -
>  static bool ptimer_unsupported;
>  
>  static void ptimer_unsupported_handler(struct pt_regs *regs, unsigned int esr)
> @@ -139,12 +136,12 @@ static struct timer_info ptimer_info = {
>  
>  static void set_timer_irq_enabled(struct timer_info *info, bool enabled)
>  {
> -	u32 val = 1 << PPI(info->irq);
> +	u32 irq = PPI(info->irq);
>  
>  	if (enabled)
> -		writel(val, gic_isenabler);
> +		gic_enable_irq(irq);
>  	else
> -		writel(val, gic_icenabler);
> +		gic_disable_irq(irq);
>  }
>  
>  static void irq_handler(struct pt_regs *regs)
> @@ -366,17 +363,6 @@ static void test_init(void)
>  
>  	gic_enable_defaults();
>  
> -	switch (gic_version()) {
> -	case 2:
> -		gic_isenabler = gicv2_dist_base() + GICD_ISENABLER;
> -		gic_icenabler = gicv2_dist_base() + GICD_ICENABLER;
> -		break;
> -	case 3:
> -		gic_isenabler = gicv3_sgi_base() + GICR_ISENABLER0;
> -		gic_icenabler = gicv3_sgi_base() + GICR_ICENABLER0;
> -		break;
> -	}
> -
>  	install_irq_handler(EL1H_IRQ, irq_handler);
>  	set_timer_irq_enabled(&ptimer_info, true);
>  	set_timer_irq_enabled(&vtimer_info, true);
diff mbox series

Patch

diff --git a/arm/timer.c b/arm/timer.c
index c4e7b10..c0a8388 100644
--- a/arm/timer.c
+++ b/arm/timer.c
@@ -14,9 +14,6 @@ 
 #include <asm/gic.h>
 #include <asm/io.h>
 
-static void *gic_isenabler;
-static void *gic_icenabler;
-
 static bool ptimer_unsupported;
 
 static void ptimer_unsupported_handler(struct pt_regs *regs, unsigned int esr)
@@ -139,12 +136,12 @@  static struct timer_info ptimer_info = {
 
 static void set_timer_irq_enabled(struct timer_info *info, bool enabled)
 {
-	u32 val = 1 << PPI(info->irq);
+	u32 irq = PPI(info->irq);
 
 	if (enabled)
-		writel(val, gic_isenabler);
+		gic_enable_irq(irq);
 	else
-		writel(val, gic_icenabler);
+		gic_disable_irq(irq);
 }
 
 static void irq_handler(struct pt_regs *regs)
@@ -366,17 +363,6 @@  static void test_init(void)
 
 	gic_enable_defaults();
 
-	switch (gic_version()) {
-	case 2:
-		gic_isenabler = gicv2_dist_base() + GICD_ISENABLER;
-		gic_icenabler = gicv2_dist_base() + GICD_ICENABLER;
-		break;
-	case 3:
-		gic_isenabler = gicv3_sgi_base() + GICR_ISENABLER0;
-		gic_icenabler = gicv3_sgi_base() + GICR_ICENABLER0;
-		break;
-	}
-
 	install_irq_handler(EL1H_IRQ, irq_handler);
 	set_timer_irq_enabled(&ptimer_info, true);
 	set_timer_irq_enabled(&vtimer_info, true);