]> xenbits.xensource.com Git - people/gdunlap/xen.git/commitdiff
xen: arm: Assume level triggered means high, not low.
authorIan Campbell <ian.campbell@citrix.com>
Mon, 2 Mar 2015 11:09:35 +0000 (11:09 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 2 Mar 2015 16:30:02 +0000 (16:30 +0000)
When reading back the ICFG register we cannot know the polarity of the
configuration, just that it is level or edge.

Since falling edge and low level are invalid for SPIs we should assume
rising edge and high level (we have no better information for PPIs, so
it'll have to do).

We already assumed rising edge, switch to high level as well.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
xen/arch/arm/gic-v2.c
xen/arch/arm/gic-v3.c

index 3e141c462434d3c9b7417d43bc1a0e4897d42575..20cdbc9b4858d07b607670097ef384ed7362cc65 100644 (file)
@@ -240,7 +240,7 @@ static void gicv2_set_irq_properties(struct irq_desc *desc,
                actual & edgebit ? "Edge" : "Level");
         desc->arch.type = actual & edgebit ?
             DT_IRQ_TYPE_EDGE_RISING :
-            DT_IRQ_TYPE_LEVEL_LOW;
+            DT_IRQ_TYPE_LEVEL_HIGH;
     }
 
     /* Set target CPU mask (RAZ/WI on uniprocessor) */
index 66cc2a2c2e41150f1e50ae1fd196dbb137fe6e71..ab806701dd4939932ff17ab7b1ae8578876a93de 100644 (file)
@@ -504,7 +504,7 @@ static void gicv3_set_irq_properties(struct irq_desc *desc,
                actual & edgebit ? "Edge" : "Level");
         desc->arch.type = actual & edgebit ?
             DT_IRQ_TYPE_EDGE_RISING :
-            DT_IRQ_TYPE_LEVEL_LOW;
+            DT_IRQ_TYPE_LEVEL_HIGH;
     }
 
     affinity = gicv3_mpidr_to_affinity(cpu);