Commit 4705a25c authored by Mike Frysinger's avatar Mike Frysinger

Blackfin: dpmc: optimize SIC_IWR programming a little

For parts with more than one SIC_IWR, we can optimize the writing
a little bit using better Blackfin insns.
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
parent 01f8e34c
...@@ -239,21 +239,18 @@ ENDPROC(_unset_dram_srfs) ...@@ -239,21 +239,18 @@ ENDPROC(_unset_dram_srfs)
ENTRY(_set_sic_iwr) ENTRY(_set_sic_iwr)
#ifdef SIC_IWR0 #ifdef SIC_IWR0
P0.H = hi(SIC_IWR0); P0.H = hi(SYSMMR_BASE);
P0.L = lo(SIC_IWR0); P0.L = lo(SYSMMR_BASE);
P1.H = hi(SIC_IWR1); [P0 + (SIC_IWR0 - SYSMMR_BASE)] = R0;
P1.L = lo(SIC_IWR1); [P0 + (SIC_IWR1 - SYSMMR_BASE)] = R1;
[P1] = R1;
# ifdef SIC_IWR2 # ifdef SIC_IWR2
P1.H = hi(SIC_IWR2); [P0 + (SIC_IWR2 - SYSMMR_BASE)] = R2;
P1.L = lo(SIC_IWR2);
[P1] = R2;
# endif # endif
#else #else
P0.H = hi(SIC_IWR); P0.H = hi(SIC_IWR);
P0.L = lo(SIC_IWR); P0.L = lo(SIC_IWR);
#endif
[P0] = R0; [P0] = R0;
#endif
SSYNC; SSYNC;
RTS; RTS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment