aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorTudor Laurentiu <b10716@freescale.com>2014-08-21 05:33:53 -0400
committerScott Wood <scottwood@freescale.com>2014-09-04 19:51:45 -0400
commitc822e73731fce3b49a4887140878d084d8a44c08 (patch)
tree5ad4eccb8fb9e033eb3b379d7060bb6f6e86b2ba /arch/powerpc/include
parentde99f53d3af0e1bb9bc6c9e3107d72f3af6e05e9 (diff)
powerpc/fsl_msi: spread msi ints across different MSIRs
Allocate msis such that each time a new interrupt is requested, the SRS (MSIR register select) to be used is allocated in a round-robin fashion. The end result is that the msi interrupts will be spread across distinct MSIRs with the main benefit that now users can set affinity to each msi int through the mpic irq backing up the MSIR register. This is achieved with the help of a newly introduced msi bitmap api that allows specifying the starting point when searching for a free msi interrupt. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@freescale.com> Cc: Scott Wood <scottwood@freescale.com> Cc: Mihai Caraman <mihai.caraman@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/msi_bitmap.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/msi_bitmap.h b/arch/powerpc/include/asm/msi_bitmap.h
index 97ac3f46ae0d..96c2f9500574 100644
--- a/arch/powerpc/include/asm/msi_bitmap.h
+++ b/arch/powerpc/include/asm/msi_bitmap.h
@@ -25,6 +25,8 @@ int msi_bitmap_alloc_hwirqs(struct msi_bitmap *bmp, int num);
25void msi_bitmap_free_hwirqs(struct msi_bitmap *bmp, unsigned int offset, 25void msi_bitmap_free_hwirqs(struct msi_bitmap *bmp, unsigned int offset,
26 unsigned int num); 26 unsigned int num);
27void msi_bitmap_reserve_hwirq(struct msi_bitmap *bmp, unsigned int hwirq); 27void msi_bitmap_reserve_hwirq(struct msi_bitmap *bmp, unsigned int hwirq);
28int msi_bitmap_alloc_hwirqs_from_offset(struct msi_bitmap *bmp, int offset,
29 int num);
28 30
29int msi_bitmap_reserve_dt_hwirqs(struct msi_bitmap *bmp); 31int msi_bitmap_reserve_dt_hwirqs(struct msi_bitmap *bmp);
30 32