Hi Michal, On Thu, 11 Aug 2022 at 06:46, Michal Simek <michal.si...@amd.com> wrote: > > bootstage_mark() and bootstate_error() are not recording any name and in > report it is showing as id=<value>. That's not useful and it is better to > show function name which calls it. > That's why use macros with passing __func__ as recorded name for bootstage. > > Origin report looks like this: > ZynqMP> bootstage report > Timer summary in microseconds (10 records): > Mark Elapsed Stage > 0 0 reset > 2,482,383 2,482,383 board_init_f > 4,278,821 1,796,438 board_init_r > 4,825,331 546,510 id=64 > 4,858,409 33,078 id=65 > 4,862,382 3,973 main_loop > 4,921,713 59,331 usb_start > 9,345,345 4,423,632 id=175 > > When this patch is applied. > ZynqMP> bootstage report > Timer summary in microseconds (31 records): > Mark Elapsed Stage > 0 0 reset > 2,465,624 2,465,624 board_init_f > 4,278,628 1,813,004 board_init_r > 4,825,139 546,511 eth_common_init > 4,858,228 33,089 eth_initialize > 4,862,201 3,973 main_loop > 4,921,530 59,329 usb_start > 8,885,334 3,963,804 cli_loop > > Signed-off-by: Michal Simek <michal.si...@amd.com> > --- > > common/bootstage.c | 10 ++-------- > include/bootstage.h | 5 +++-- > 2 files changed, 5 insertions(+), 10 deletions(-) > > diff --git a/common/bootstage.c b/common/bootstage.c > index 0fd33be97eae..326c40f1561f 100644 > --- a/common/bootstage.c > +++ b/common/bootstage.c > @@ -147,15 +147,9 @@ ulong bootstage_add_record(enum bootstage_id id, const > char *name, > return mark; > } > > - > -ulong bootstage_mark(enum bootstage_id id) > -{ > - return bootstage_add_record(id, NULL, 0, timer_get_boot_us()); > -} > - > -ulong bootstage_error(enum bootstage_id id) > +ulong bootstage_error_name(enum bootstage_id id, const char *name) > { > - return bootstage_add_record(id, NULL, BOOTSTAGEF_ERROR, > + return bootstage_add_record(id, name, BOOTSTAGEF_ERROR, > timer_get_boot_us()); > } > > diff --git a/include/bootstage.h b/include/bootstage.h > index bca9438418f5..8d9ef7362f8b 100644 > --- a/include/bootstage.h > +++ b/include/bootstage.h > @@ -268,9 +268,10 @@ ulong bootstage_add_record(enum bootstage_id id, const > char *name, > /** > * Mark a time stamp for the current boot stage. > */ > -ulong bootstage_mark(enum bootstage_id id); > +#define bootstage_mark(id) bootstage_mark_name(id, __func__) > +#define bootstage_error(id) bootstage_error_name(id, __func__) > > -ulong bootstage_error(enum bootstage_id id); > +ulong bootstage_error_name(enum bootstage_id id, const char *name);
Please can you add proper comments to these functions? > > ulong bootstage_mark_name(enum bootstage_id id, const char *name); Also I think you need to add code for when BOOTSTAGE is not enabled, later in the header. > > -- > 2.36.1 > Regards, Simon