From mboxrd@z Thu Jan 1 00:00:00 1970 Subject: Re: [PATCH 09/10] dovetail/clock: implement pipeline_timer_name to get name of real device References: <20210111064318.6154-1-hongzhan.chen@intel.com> <20210111064318.6154-9-hongzhan.chen@intel.com> From: chensong Message-ID: <5FFCF963.7000407@tj.kylinos.cn>+E6AB9DC21AB1EDCC Date: Tue, 12 Jan 2021 09:20:35 +0800 MIME-Version: 1.0 In-Reply-To: <20210111064318.6154-9-hongzhan.chen@intel.com> Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: 8bit List-Id: Discussions about the Xenomai project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: hongzha1 , Xenomai@xenomai.org On 2021年01月11日 14:43, hongzha1 via Xenomai wrote: > Signed-off-by: hongzha1 > --- > include/cobalt/kernel/dovetail/pipeline/clock.h | 5 ++--- > kernel/cobalt/dovetail/tick.c | 8 ++++++++ > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/include/cobalt/kernel/dovetail/pipeline/clock.h b/include/cobalt/kernel/dovetail/pipeline/clock.h > index ce9a5c867..771104ab4 100644 > --- a/include/cobalt/kernel/dovetail/pipeline/clock.h > +++ b/include/cobalt/kernel/dovetail/pipeline/clock.h > @@ -12,6 +12,7 @@ > struct timespec64; > > extern inline void xnproxy_timer_set(unsigned long delta); > +inline const char *xn_get_timer_name(void); > > static inline u64 pipeline_read_cycle_counter(void) > { > @@ -37,9 +38,7 @@ static inline const char *pipeline_timer_name(void) > * Return the name of the current clock event chip, which is > * the real device controlled by the proxy tick device. > */ > - TODO(); > - > - return "?"; > + return xn_get_timer_name(); > } > PATCH 02/10, PATCH 08/10 and this one, all of them have the changes for pipeline_read_cycle_counter in include/cobalt/kernel/dovetail/pipeline/clock.h, and they look different, how so? or they are incremental implementation,but PATCH 02/10 returns ktime_get_raw_fast_ns() and PATCH 09/10 returns xn_get_timer_name();. > static inline const char *pipeline_clock_name(void) > diff --git a/kernel/cobalt/dovetail/tick.c b/kernel/cobalt/dovetail/tick.c > index 58662e94e..e40ec06cb 100644 > --- a/kernel/cobalt/dovetail/tick.c > +++ b/kernel/cobalt/dovetail/tick.c > @@ -16,6 +16,14 @@ extern struct xnintr nktimer; > > static DEFINE_PER_CPU(struct clock_proxy_device *, proxy_device); > > +inline const char *xn_get_timer_name(void) > +{ > + struct clock_proxy_device *dev = __this_cpu_read(proxy_device); > + struct clock_event_device *real_dev = dev->real_device; > + > + return real_dev->name; > +} > + > inline void xnproxy_timer_set(unsigned long delta) > { > struct clock_proxy_device *dev = __this_cpu_read(proxy_device); >