Commit 10011f7d authored by Eugeniy Paltsev's avatar Eugeniy Paltsev Committed by Vineet Gupta
Browse files

ARCv2: support loop buffer (LPB) disabling



On HS cores, loop buffer (LPB) is programmable in runtime and can
be optionally disabled.

Signed-off-by: default avatarEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 040ece2a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -474,6 +474,12 @@ config ARC_IRQ_NO_AUTOSAVE
	  This is programmable and can be optionally disabled in which case
	  software INTERRUPT_PROLOGUE/EPILGUE do the needed work

config ARC_LPB_DISABLE
	bool "Disable loop buffer (LPB)"
	help
	  On HS cores, loop buffer (LPB) is programmable in runtime and can
	  be optionally disabled.

endif # ISA_ARCV2

endmenu   # "ARC CPU Configuration"
+8 −0
Original line number Diff line number Diff line
@@ -59,6 +59,14 @@
	bclr	r5, r5, STATUS_AD_BIT
#endif
	kflag	r5

#ifdef CONFIG_ARC_LPB_DISABLE
	lr	r5, [ARC_REG_LPB_BUILD]
	breq    r5, 0, 1f		; LPB doesn't exist
	mov	r5, 1
	sr	r5, [ARC_REG_LPB_CTRL]
1:
#endif /* CONFIG_ARC_LPB_DISABLE */
#endif
	; Config DSP_CTRL properly, so kernel may use integer multiply,
	; multiply-accumulate, and divide operations