[PATCH] grlib: Add and use irqmp_has_timestamp()
Joel Sherrill
joel at rtems.org
Thu Oct 8 13:27:53 UTC 2020
I will push my fatal patch. Yours compiles but I see these warnings which
appear to be related:
make -j >/dev/null
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:
In function 'grlib_clock_initialize':
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:174:10:
warning: implicit declaration of function 'grlib_irqmp_has_timestamp'
[-Wimplicit-function-declaration]
174 | if (!grlib_irqmp_has_timestamp(irqmp_ts)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:174:10:
warning: nested extern declaration of 'grlib_irqmp_has_timestamp'
[-Wnested-externs]
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/shared/dev/flash/am29lv160.c:
In function 'rtems_am29lv160_write_data_8':
On Thu, Oct 8, 2020 at 8:09 AM Joel Sherrill <joel at rtems.org> wrote:
> Looks OK to push.
>
> Do you want to cite the ticket number for the build failures in the
> comments?
>
> Should I go ahead and push the fatal error patch or will you do that?
>
> Is this needed on 5? I thought these all built on 5 but could be wrong.
>
> On Thu, Oct 8, 2020 at 12:52 AM Sebastian Huber <
> sebastian.huber at embedded-brains.de> wrote:
>
>> Replace leon3_irqmp_has_timestamp() with irqmp_has_timestamp() and move
>> it to grlib.h.
>>
>> Close #4128.
>> ---
>> bsps/riscv/griscv/clock/clockdrv.c | 2 +-
>> bsps/shared/grlib/btimer/tlib_ckinit.c | 2 +-
>> bsps/sparc/leon3/clock/ckinit.c | 4 ++--
>> bsps/sparc/leon3/include/leon.h | 7 -------
>> bsps/sparc/leon3/start/cpucounter.c | 2 +-
>> 5 files changed, 5 insertions(+), 12 deletions(-)
>>
>> diff --git a/bsps/riscv/griscv/clock/clockdrv.c
>> b/bsps/riscv/griscv/clock/clockdrv.c
>> index c94c167fdf..4cf15fe4f8 100644
>> --- a/bsps/riscv/griscv/clock/clockdrv.c
>> +++ b/bsps/riscv/griscv/clock/clockdrv.c
>> @@ -171,7 +171,7 @@ static void grlib_clock_initialize(void)
>> volatile struct irqmp_timestamp_regs *irqmp_ts =
>> &GRLIB_IrqCtrl_Regs->timestamp[0];
>>
>> - if (!grlib_irqmp_has_timestamp(irqmp_ts)) {
>> + if (!irqmp_has_timestamp(irqmp_ts)) {
>> bsp_fatal(GRLIB_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT);
>> }
>> #endif
>> diff --git a/bsps/shared/grlib/btimer/tlib_ckinit.c
>> b/bsps/shared/grlib/btimer/tlib_ckinit.c
>> index 4f679984d8..5a34d97c00 100644
>> --- a/bsps/shared/grlib/btimer/tlib_ckinit.c
>> +++ b/bsps/shared/grlib/btimer/tlib_ckinit.c
>> @@ -126,7 +126,7 @@ static rtems_device_driver tlib_clock_find_timer(void)
>> volatile struct irqmp_timestamp_regs *irqmp_ts;
>>
>> irqmp_ts = &LEON3_IrqCtrl_Regs->timestamp[0];
>> - if (leon3_irqmp_has_timestamp(irqmp_ts)) {
>> + if (irqmp_has_timestamp(irqmp_ts)) {
>> priv.ops = &ops_irqamp;
>> return RTEMS_SUCCESSFUL;
>> }
>> diff --git a/bsps/sparc/leon3/clock/ckinit.c
>> b/bsps/sparc/leon3/clock/ckinit.c
>> index f485123f6b..bf0c506ec0 100644
>> --- a/bsps/sparc/leon3/clock/ckinit.c
>> +++ b/bsps/sparc/leon3/clock/ckinit.c
>> @@ -176,13 +176,13 @@ static void leon3_clock_initialize(void)
>> tc->tc_frequency = leon3_up_counter_frequency();
>>
>> #ifdef RTEMS_PROFILING
>> - if (!leon3_irqmp_has_timestamp(irqmp_ts)) {
>> + if (!irqmp_has_timestamp(irqmp_ts)) {
>> bsp_fatal(LEON3_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT);
>> }
>> #endif
>>
>> leon3_tc_tick = leon3_tc_tick_irqmp_timestamp_init;
>> - } else if (leon3_irqmp_has_timestamp(irqmp_ts)) {
>> + } else if (irqmp_has_timestamp(irqmp_ts)) {
>> /* Use the interrupt controller timestamp counter if available */
>> tc->tc_get_timecount = _SPARC_Get_timecount_up;
>> tc->tc_frequency = ambapp_freq_get(&ambapp_plb, LEON3_Timer_Adev);
>> diff --git a/bsps/sparc/leon3/include/leon.h
>> b/bsps/sparc/leon3/include/leon.h
>> index afe0d91ca4..d25825c8e8 100644
>> --- a/bsps/sparc/leon3/include/leon.h
>> +++ b/bsps/sparc/leon3/include/leon.h
>> @@ -454,13 +454,6 @@ static inline uint32_t
>> leon3_get_data_cache_config_register(void)
>> return leon3_get_system_register(0xc);
>> }
>>
>> -static inline bool leon3_irqmp_has_timestamp(
>> - volatile struct irqmp_timestamp_regs *irqmp_ts
>> -)
>> -{
>> - return (irqmp_ts->control >> 27) > 0;
>> -}
>> -
>> static inline uint32_t leon3_up_counter_low(void)
>> {
>> uint32_t asr23;
>> diff --git a/bsps/sparc/leon3/start/cpucounter.c
>> b/bsps/sparc/leon3/start/cpucounter.c
>> index 007bb6d8ec..1d96e3b221 100644
>> --- a/bsps/sparc/leon3/start/cpucounter.c
>> +++ b/bsps/sparc/leon3/start/cpucounter.c
>> @@ -43,7 +43,7 @@ static void leon3_counter_initialize(void)
>> counter->read = _SPARC_Counter_read_asr23;
>>
>> leon3_counter_frequency = leon3_up_counter_frequency();
>> - } else if (leon3_irqmp_has_timestamp(irqmp_ts)) {
>> + } else if (irqmp_has_timestamp(irqmp_ts)) {
>> /* Use the interrupt controller timestamp counter if available */
>> counter->read_isr_disabled = _SPARC_Counter_read_up;
>> counter->read = _SPARC_Counter_read_up;
>> --
>> 2.26.2
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20201008/3472e147/attachment-0001.html>
More information about the devel
mailing list