apic: apicedge: remove irq < 16 is edge only
diff mbox series

Message ID 20190605180914.9296-1-alex.hung@canonical.com
State Accepted
Headers show
Series
  • apic: apicedge: remove irq < 16 is edge only
Related show

Commit Message

Alex Hung June 5, 2019, 6:09 p.m. UTC
The original legacy PIC 8259 supports edge-trigger only but later 8259A
supports both edge- and level-trigger. This limitation, of course, no
longer exists today.

Buglink: https://bugs.launchpad.net/bugs/1831035

Signed-off-by: Alex Hung <alex.hung@canonical.com>
---
 src/apic/apicedge/apicedge.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Colin King June 5, 2019, 7:11 p.m. UTC | #1
On 05/06/2019 19:09, Alex Hung wrote:
> The original legacy PIC 8259 supports edge-trigger only but later 8259A
> supports both edge- and level-trigger. This limitation, of course, no
> longer exists today.
> 
> Buglink: https://bugs.launchpad.net/bugs/1831035
> 
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/apic/apicedge/apicedge.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/src/apic/apicedge/apicedge.c b/src/apic/apicedge/apicedge.c
> index 9f90fc5c..4abf011b 100644
> --- a/src/apic/apicedge/apicedge.c
> +++ b/src/apic/apicedge/apicedge.c
> @@ -37,7 +37,7 @@
>  /*
>   * This test sanity checks apic irq information
>   * rule of thumb:
> - *   interrupts <16 should be EDGE
> + *   interrupts <16 should be EDGE or LEVEL
>   *   interrupts >16 should be LEVEL
>   *   acpi interrupt should be LEVEL
>   */
> @@ -86,10 +86,7 @@ static int apicedge_test1(fwts_framework *fw)
>  					"ACPI Interrupt is incorrectly edge triggered.");
>  			continue;
>  		}
> -		if ((irq < 15) && (edge == NOT_EDGE))
> -			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> -				"LegacyIRQLevelTrig",
> -				"Legacy interrupt %i is incorrectly level triggered.", irq);
> +
>  		if ((irq < 15) && (edge == UNDEFINED))
>  			fwts_failed(fw, LOG_LEVEL_MEDIUM,
>  				"NonLegacyIRQLevelTrig",
> 

I think relaxing this is a good idea.

Acked-by: Colin Ian King <colin.king@canonical.com>
Ivan June 10, 2019, 3:24 a.m. UTC | #2
On 6/6/19 2:09 AM, Alex Hung wrote:
> The original legacy PIC 8259 supports edge-trigger only but later 8259A
> supports both edge- and level-trigger. This limitation, of course, no
> longer exists today.
>
> Buglink: https://bugs.launchpad.net/bugs/1831035
>
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  src/apic/apicedge/apicedge.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/src/apic/apicedge/apicedge.c b/src/apic/apicedge/apicedge.c
> index 9f90fc5c..4abf011b 100644
> --- a/src/apic/apicedge/apicedge.c
> +++ b/src/apic/apicedge/apicedge.c
> @@ -37,7 +37,7 @@
>  /*
>   * This test sanity checks apic irq information
>   * rule of thumb:
> - *   interrupts <16 should be EDGE
> + *   interrupts <16 should be EDGE or LEVEL
>   *   interrupts >16 should be LEVEL
>   *   acpi interrupt should be LEVEL
>   */
> @@ -86,10 +86,7 @@ static int apicedge_test1(fwts_framework *fw)
>  					"ACPI Interrupt is incorrectly edge triggered.");
>  			continue;
>  		}
> -		if ((irq < 15) && (edge == NOT_EDGE))
> -			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> -				"LegacyIRQLevelTrig",
> -				"Legacy interrupt %i is incorrectly level triggered.", irq);
> +
>  		if ((irq < 15) && (edge == UNDEFINED))
>  			fwts_failed(fw, LOG_LEVEL_MEDIUM,
>  				"NonLegacyIRQLevelTrig",


Acked-by: Ivan Hu <ivan.hu@canonical.com>

Patch
diff mbox series

diff --git a/src/apic/apicedge/apicedge.c b/src/apic/apicedge/apicedge.c
index 9f90fc5c..4abf011b 100644
--- a/src/apic/apicedge/apicedge.c
+++ b/src/apic/apicedge/apicedge.c
@@ -37,7 +37,7 @@ 
 /*
  * This test sanity checks apic irq information
  * rule of thumb:
- *   interrupts <16 should be EDGE
+ *   interrupts <16 should be EDGE or LEVEL
  *   interrupts >16 should be LEVEL
  *   acpi interrupt should be LEVEL
  */
@@ -86,10 +86,7 @@  static int apicedge_test1(fwts_framework *fw)
 					"ACPI Interrupt is incorrectly edge triggered.");
 			continue;
 		}
-		if ((irq < 15) && (edge == NOT_EDGE))
-			fwts_failed(fw, LOG_LEVEL_MEDIUM,
-				"LegacyIRQLevelTrig",
-				"Legacy interrupt %i is incorrectly level triggered.", irq);
+
 		if ((irq < 15) && (edge == UNDEFINED))
 			fwts_failed(fw, LOG_LEVEL_MEDIUM,
 				"NonLegacyIRQLevelTrig",