diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/blackfin/kernel/bfin_ksyms.c | 1 | ||||
-rw-r--r-- | arch/blackfin/lib/ins.S | 19 |
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/bfin_ksyms.c b/arch/blackfin/kernel/bfin_ksyms.c index 5dad9d380952..b3fa7d8fde6a 100644 --- a/arch/blackfin/kernel/bfin_ksyms.c +++ b/arch/blackfin/kernel/bfin_ksyms.c | |||
@@ -100,6 +100,7 @@ EXPORT_SYMBOL(outsw); | |||
100 | EXPORT_SYMBOL(insw); | 100 | EXPORT_SYMBOL(insw); |
101 | EXPORT_SYMBOL(outsl); | 101 | EXPORT_SYMBOL(outsl); |
102 | EXPORT_SYMBOL(insl); | 102 | EXPORT_SYMBOL(insl); |
103 | EXPORT_SYMBOL(insl_16); | ||
103 | EXPORT_SYMBOL(irq_flags); | 104 | EXPORT_SYMBOL(irq_flags); |
104 | EXPORT_SYMBOL(iounmap); | 105 | EXPORT_SYMBOL(iounmap); |
105 | EXPORT_SYMBOL(blackfin_dcache_invalidate_range); | 106 | EXPORT_SYMBOL(blackfin_dcache_invalidate_range); |
diff --git a/arch/blackfin/lib/ins.S b/arch/blackfin/lib/ins.S index a17cc77ac36f..df7b8833a0c5 100644 --- a/arch/blackfin/lib/ins.S +++ b/arch/blackfin/lib/ins.S | |||
@@ -77,3 +77,22 @@ ENTRY(_insb) | |||
77 | sti R3; | 77 | sti R3; |
78 | RTS; | 78 | RTS; |
79 | ENDPROC(_insb) | 79 | ENDPROC(_insb) |
80 | |||
81 | |||
82 | |||
83 | ENTRY(_insl_16) | ||
84 | P0 = R0; /* P0 = port */ | ||
85 | cli R3; | ||
86 | P1 = R1; /* P1 = address */ | ||
87 | P2 = R2; /* P2 = count */ | ||
88 | SSYNC; | ||
89 | LSETUP( .Llong16_loop_s, .Llong16_loop_e) LC0 = P2; | ||
90 | .Llong16_loop_s: R0 = [P0]; | ||
91 | W[P1++] = R0; | ||
92 | R0 = R0 >> 16; | ||
93 | W[P1++] = R0; | ||
94 | NOP; | ||
95 | .Llong16_loop_e: NOP; | ||
96 | sti R3; | ||
97 | RTS; | ||
98 | ENDPROC(_insl_16) | ||