Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
xenomai
ipipe-arm
Commits
57c57f9d
Commit
57c57f9d
authored
Dec 03, 2017
by
Gilles Chanteperdrix
Committed by
Philippe Gerum
Nov 08, 2019
Browse files
ARM: it8152: ipipe: enable interrupt pipelining
parent
cd39270b
Changes
1
Hide whitespace changes
Inline
Side-by-side
arch/arm/common/it8152.c
View file @
57c57f9d
...
...
@@ -26,6 +26,7 @@
#include
<linux/irq.h>
#include
<linux/io.h>
#include
<linux/export.h>
#include
<linux/ipipe.h>
#include
<asm/mach/pci.h>
#include
<asm/hardware/it8152.h>
...
...
@@ -75,6 +76,7 @@ static struct irq_chip it8152_irq_chip = {
.
irq_ack
=
it8152_mask_irq
,
.
irq_mask
=
it8152_mask_irq
,
.
irq_unmask
=
it8152_unmask_irq
,
.
flags
=
IRQCHIP_PIPELINE_SAFE
,
};
void
it8152_init_irq
(
void
)
...
...
@@ -124,21 +126,21 @@ void it8152_irq_demux(struct irq_desc *desc)
bits_pd
&=
((
1
<<
IT8152_PD_IRQ_COUNT
)
-
1
);
while
(
bits_pd
)
{
i
=
__ffs
(
bits_pd
);
generic_handle
_irq
(
IT8152_PD_IRQ
(
i
));
ipipe_handle_demuxed
_irq
(
IT8152_PD_IRQ
(
i
));
bits_pd
&=
~
(
1
<<
i
);
}
bits_lp
&=
((
1
<<
IT8152_LP_IRQ_COUNT
)
-
1
);
while
(
bits_lp
)
{
i
=
__ffs
(
bits_lp
);
generic_handle
_irq
(
IT8152_LP_IRQ
(
i
));
ipipe_handle_demuxed
_irq
(
IT8152_LP_IRQ
(
i
));
bits_lp
&=
~
(
1
<<
i
);
}
bits_ld
&=
((
1
<<
IT8152_LD_IRQ_COUNT
)
-
1
);
while
(
bits_ld
)
{
i
=
__ffs
(
bits_ld
);
generic_handle
_irq
(
IT8152_LD_IRQ
(
i
));
ipipe_handle_demuxed
_irq
(
IT8152_LD_IRQ
(
i
));
bits_ld
&=
~
(
1
<<
i
);
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment