diff --git a/Makefile b/Makefile index 3c941b8f2c079f38fd0d115f9a459587dae12cf5..d6edec238bdfcf9468aba3908fc31909f0167be4 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ DEFAULT_BUILD_PATH := $(TOP_DIR)/build DEFAULT_VERBOSE := n DEFAULT_DEBUGGER := n -DEFAULT_LOG_LEVEL_debug := TRACE +DEFAULT_LOG_LEVEL_debug := INFO DEFAULT_LOG_LEVEL_release := WARN # diff --git a/debugger/include/checkpoint.h b/debugger/include/checkpoint.h index af2d89211443554c9a06bbf8637d70da72c310b3..cede47da5a786c47593476100a420053909126ee 100644 --- a/debugger/include/checkpoint.h +++ b/debugger/include/checkpoint.h @@ -129,7 +129,7 @@ void checkpoint(checkpoint_st *c, char *file, int32_t line, char *tag); * */ #define checkpoint_register(c, name) \ - __extension__ ({ \ + __extension__({ \ (void)c; \ (void)name; \ FWK_SUCCESS; \ diff --git a/framework/src/fwk_log.c b/framework/src/fwk_log.c index 9e2e674517966d881b32bb0bf521a223a8986e82..cdefd00cbf7e4aa26f3bb146b9cb0b0f534a728a 100644 --- a/framework/src/fwk_log.c +++ b/framework/src/fwk_log.c @@ -285,6 +285,8 @@ exit: void fwk_log_flush(void) { + const struct fwk_log_backend *backend = NULL; + #ifdef FWK_LOG_BUFFERED int status; @@ -298,10 +300,12 @@ void fwk_log_flush(void) #endif if (fwk_log_ctx.backend != NULL) - fwk_log_ctx.backend->flush(); + backend = fwk_log_ctx.backend; + else if (fwk_log_ctx.aon_backend != NULL) + backend = fwk_log_ctx.aon_backend; - if (fwk_log_ctx.aon_backend != NULL) - fwk_log_ctx.aon_backend->flush(); + if ((backend != NULL) && (backend->flush != NULL)) + backend->flush(); } int fwk_log_register_aon(const struct fwk_log_backend *backend) diff --git a/framework/src/fwk_multi_thread.c b/framework/src/fwk_multi_thread.c index 257a64d9d9f6954f78f6dd1dee2486eb8d239366..9a30caac91d519f3e8b82766daf3e68d6ddbb9f5 100644 --- a/framework/src/fwk_multi_thread.c +++ b/framework/src/fwk_multi_thread.c @@ -367,8 +367,16 @@ static void process_next_thread_event(struct __fwk_thread_ctx *thread_ctx) status = module->process_notification(event, &async_resp_event); else status = module->process_event(event, &async_resp_event); - if (status != FWK_SUCCESS) - FWK_LOG_CRIT(err_msg_line, status, __LINE__); + if (status != FWK_SUCCESS) { + FWK_LOG_ERR( + "[FWK] %s%s%s error: %s %s -> %s", + event->is_notification ? "Notification" : "Event", + event->is_delayed_response ? " delayed" : "", + event->is_response ? " response" : "", + FWK_ID_STR(event->id), + FWK_ID_STR(event->source_id), + FWK_ID_STR(event->target_id)); + } } /* No event currently processed, no thread currently active. */ diff --git a/module/log/src/mod_log.c b/module/log/src/mod_log.c index c17162861cffc710a4786e853019b19fdffb1811..5cecebb07db505dd3c35b4866c7d315befdfb3c0 100644 --- a/module/log/src/mod_log.c +++ b/module/log/src/mod_log.c @@ -65,8 +65,6 @@ static int log_bind(fwk_id_t id, unsigned int round) int status; struct mod_log_driver_api *driver = NULL; - const char *banner; - /* Skip second round */ if (round == 1) return FWK_SUCCESS; @@ -86,21 +84,15 @@ static int log_bind(fwk_id_t id, unsigned int round) log_driver = driver; - banner = log_config->banner; - - while (banner != NULL) { - FWK_LOG_INFO("%s", banner); - - banner = strchr(banner, '\n'); - if (banner != NULL) - banner += 1; - } - return FWK_SUCCESS; } static int log_start(fwk_id_t id) { + int status; + + const char *banner; + static const struct fwk_log_backend backend = { .print = log_backend_print, .flush = log_backend_flush, @@ -108,7 +100,22 @@ static int log_start(fwk_id_t id) fwk_assert(fwk_id_is_type(id, FWK_ID_TYPE_MODULE)); - return fwk_log_register(&backend); + status = fwk_log_register(&backend); + fwk_expect(status == FWK_SUCCESS); + + banner = log_config->banner; + + while (banner != NULL) { + FWK_LOG_CRIT("%s", banner); + + banner = strchr(banner, '\n'); + if (banner != NULL) + banner += 1; + } + + FWK_LOG_FLUSH(); + + return FWK_SUCCESS; } /* Module descriptor */ diff --git a/module/power_domain/src/mod_power_domain.c b/module/power_domain/src/mod_power_domain.c index aa23490e91adcbb12d810765810850d1b04206ff..3c4784aa04d9d4c912984098f6e13917db8d17d0 100644 --- a/module/power_domain/src/mod_power_domain.c +++ b/module/power_domain/src/mod_power_domain.c @@ -691,22 +691,28 @@ static int initiate_power_state_transition(struct pd_ctx *pd) if ((pd->driver_api->deny != NULL) && pd->driver_api->deny(pd->driver_id, state)) { FWK_LOG_WARN( - "[PD] Transition of %s to state <%s>,", + "[PD] Transition of %s to state <%s> denied by driver", fwk_module_get_name(pd->id), get_state_name(pd, state)); - FWK_LOG_WARN("\tdenied by driver."); return FWK_E_DEVICE; } status = pd->driver_api->set_state(pd->driver_id, state); - FWK_LOG_INFO( - "[PD] %s: %s->%s, %s (%d)", - fwk_module_get_name(pd->id), - get_state_name(pd, pd->state_requested_to_driver), - get_state_name(pd, state), - fwk_status_str(status), - status); + if (status == FWK_SUCCESS) { + FWK_LOG_TRACE( + "[PD] Transition of %s from <%s> to <%s> succeeded", + fwk_module_get_name(pd->id), + get_state_name(pd, pd->state_requested_to_driver), + get_state_name(pd, state)); + } else { + FWK_LOG_ERR( + "[PD] Transition of %s from <%s> to <%s> failed: %s", + fwk_module_get_name(pd->id), + get_state_name(pd, pd->state_requested_to_driver), + get_state_name(pd, state), + fwk_status_str(status)); + } pd->state_requested_to_driver = state; diff --git a/product/n1sdp/mcp_romfw/config_log.c b/product/n1sdp/mcp_romfw/config_log.c index cf000eda6355eb2e69a0b1119eea736b6ff331ad..dcb2c52c7edfbde2e609b5870d348ba84f43c9cd 100644 --- a/product/n1sdp/mcp_romfw/config_log.c +++ b/product/n1sdp/mcp_romfw/config_log.c @@ -20,7 +20,7 @@ /* * N1SDP BYPASS ROM firmware banner string. */ -#define N1SDP_BANNER_ROM_FIRMWARE "Entered BYPASS ROM Firmware" +#define N1SDP_BANNER_ROM_FIRMWARE "Entered BYPASS ROM Firmware\n" /* * PL011 module diff --git a/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c b/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c index 2cfee49887495c5beefc1dbf461c8c379e34973b..8a323054477cc88dbba5d640466a237a5bae3348 100644 --- a/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c +++ b/product/n1sdp/module/n1sdp_rom/src/mod_n1sdp_rom.c @@ -157,6 +157,7 @@ static int n1sdp_rom_process_event(const struct fwk_event *event, FWK_LOG_INFO("[ROM] Done!"); FWK_LOG_INFO("[ROM] Jumping to RAM Firmware"); + FWK_LOG_FLUSH(); jump_to_ramfw(); diff --git a/product/n1sdp/scp_romfw/config_log.c b/product/n1sdp/scp_romfw/config_log.c index d8aace738e2f55d1b4a490548605c3f4018cace8..c51babcb65bc56892c94723ec005cc996a66cb4e 100644 --- a/product/n1sdp/scp_romfw/config_log.c +++ b/product/n1sdp/scp_romfw/config_log.c @@ -20,7 +20,7 @@ /* * N1SDP BYPASS ROM firmware banner string. */ -#define N1SDP_BANNER_ROM_FIRMWARE "Entered BYPASS ROM Firmware" +#define N1SDP_BANNER_ROM_FIRMWARE "Entered BYPASS ROM Firmware\n" /* * PL011 module diff --git a/product/rddaniel/module/mscp_rom/src/mod_mscp_rom.c b/product/rddaniel/module/mscp_rom/src/mod_mscp_rom.c index 554e9c8834a030bd7d8812c48ec0a6c31565c729..8aa72da9926087ce07d1c638ca1e99fe8e493d5d 100644 --- a/product/rddaniel/module/mscp_rom/src/mod_mscp_rom.c +++ b/product/rddaniel/module/mscp_rom/src/mod_mscp_rom.c @@ -86,6 +86,8 @@ static int mscp_rom_process_event(const struct fwk_event *event, } FWK_LOG_INFO("[ROM] Starting RAM firmware execution"); + FWK_LOG_FLUSH(); + jump_to_ramfw(); return FWK_SUCCESS; diff --git a/product/rdn1e1/module/rdn1e1_rom/src/mod_rdn1e1_rom.c b/product/rdn1e1/module/rdn1e1_rom/src/mod_rdn1e1_rom.c index ec698a50ac98803f8441a7537d3d5235e6f4f3e9..f53cc6fc3435e4af43acb88771e4638e8b923e28 100644 --- a/product/rdn1e1/module/rdn1e1_rom/src/mod_rdn1e1_rom.c +++ b/product/rdn1e1/module/rdn1e1_rom/src/mod_rdn1e1_rom.c @@ -80,6 +80,7 @@ static int rdn1e1_rom_process_event(const struct fwk_event *event, struct fwk_event *resp) { FWK_LOG_INFO("[ROM] Launch RAM"); + FWK_LOG_FLUSH(); if (rom_config->load_ram_size != 0) { memcpy((void *)rom_config->ramfw_base, diff --git a/product/synquacer/module/synquacer_rom/src/mod_synquacer_rom.c b/product/synquacer/module/synquacer_rom/src/mod_synquacer_rom.c index 17e94ad43ef35f0b7b2afc9e29a614428f56fbeb..a980f0d5704b457acea981a3022517ca24a1b0b3 100644 --- a/product/synquacer/module/synquacer_rom/src/mod_synquacer_rom.c +++ b/product/synquacer/module/synquacer_rom/src/mod_synquacer_rom.c @@ -84,6 +84,7 @@ static int synquacer_rom_process_event( struct fwk_event *resp) { FWK_LOG_INFO("[scp_romfw] Launch scp_ramfw"); + FWK_LOG_FLUSH(); if (rom_config->load_ram_size != 0) { memcpy(