Return from ddr3_tip_print_log() early if we won't print anything
anyway.

This way the compiler can optimize away the VALIDATE_IF_ACTIVE() calls
in the for-loop, so if the SILENT_LIB macro is defined, no code is
generated for the rest of the function, which saves some space.

Signed-off-by: Marek Behún <ka...@kernel.org>
---
 drivers/ddr/marvell/a38x/ddr3_debug.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/ddr/marvell/a38x/ddr3_debug.c 
b/drivers/ddr/marvell/a38x/ddr3_debug.c
index 9e499cfb99..0374a84387 100644
--- a/drivers/ddr/marvell/a38x/ddr3_debug.c
+++ b/drivers/ddr/marvell/a38x/ddr3_debug.c
@@ -399,6 +399,15 @@ int ddr3_tip_print_log(u32 dev_num, u32 mem_addr)
        }
 #endif /* DDR_VIEWER_TOOL */
 
+       /* return early if we won't print anything anyway */
+       if (
+#if defined(SILENT_LIB)
+           1 ||
+#endif
+           debug_training < DEBUG_LEVEL_INFO) {
+               return MV_OK;
+       }
+
        for (if_id = 0; if_id <= MAX_INTERFACE_NUM - 1; if_id++) {
                VALIDATE_IF_ACTIVE(tm->if_act_mask, if_id);
 
-- 
2.43.2

Reply via email to