Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1603520 > unrolled thread
| Started by | Mark Rutland <mark.rutland@arm.com> |
|---|---|
| First post | 2017-03-17 19:10 +0100 |
| Last post | 2017-03-20 12:20 +0100 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v21 01/13] clocksource: arm_arch_timer: introduce two functions to get the frequency from mmio and sysreg. Mark Rutland <mark.rutland@arm.com> - 2017-03-17 19:10 +0100
Re: [PATCH v21 01/13] clocksource: arm_arch_timer: introduce two functions to get the frequency from mmio and sysreg. Fu Wei <fu.wei@linaro.org> - 2017-03-20 08:40 +0100
Re: [PATCH v21 01/13] clocksource: arm_arch_timer: introduce two functions to get the frequency from mmio and sysreg. Fu Wei <fu.wei@linaro.org> - 2017-03-20 10:50 +0100
Re: [PATCH v21 01/13] clocksource: arm_arch_timer: introduce two functions to get the frequency from mmio and sysreg. Mark Rutland <mark.rutland@arm.com> - 2017-03-20 11:50 +0100
Re: [PATCH v21 01/13] clocksource: arm_arch_timer: introduce two functions to get the frequency from mmio and sysreg. Fu Wei <fu.wei@linaro.org> - 2017-03-20 12:20 +0100
| From | Mark Rutland <mark.rutland@arm.com> |
|---|---|
| Date | 2017-03-17 19:10 +0100 |
| Subject | Re: [PATCH v21 01/13] clocksource: arm_arch_timer: introduce two functions to get the frequency from mmio and sysreg. |
| Message-ID | <tm4u6-21N-33@gated-at.bofh.it> |
On Tue, Feb 07, 2017 at 02:50:03AM +0800, fu.wei@linaro.org wrote:
> +static u32 arch_timer_get_sysreg_freq(void)
> +{
> + /*
> + * Try to get the frequency from the CNTFRQ of sysreg.
> + */
> + return arch_timer_get_cntfrq();
> +}
We already have arch_timer_get_cntfrq(), so I don't see the point in
this wrapper.
> +static u32 arch_timer_get_mmio_freq(void __iomem *cntbase)
> +{
> + /*
> + * Try to get the frequency from the CNTFRQ of timer frame registers.
> + * Note: please verify cntbase in caller.
> + */
> + return readl_relaxed(cntbase + CNTFRQ);
> +}
Wrapping the MMIO read makes sense if we're going to do this in more
than one place, so I'm happy with this wrapper.
If you can s/arch_timer_get_mmio_freq/arch_timer_get_cntfrq/, and drop
the comments, then this looks fine to me.
Thanks,
Mark.
[toc] | [next] | [standalone]
| From | Fu Wei <fu.wei@linaro.org> |
|---|---|
| Date | 2017-03-20 08:40 +0100 |
| Message-ID | <tn054-1qT-23@gated-at.bofh.it> |
| In reply to | #1603520 |
Hi Mark,
On 18 March 2017 at 02:05, Mark Rutland <mark.rutland@arm.com> wrote:
> On Tue, Feb 07, 2017 at 02:50:03AM +0800, fu.wei@linaro.org wrote:
>> +static u32 arch_timer_get_sysreg_freq(void)
>> +{
>> + /*
>> + * Try to get the frequency from the CNTFRQ of sysreg.
>> + */
>> + return arch_timer_get_cntfrq();
>> +}
>
> We already have arch_timer_get_cntfrq(), so I don't see the point in
> this wrapper.
>
>> +static u32 arch_timer_get_mmio_freq(void __iomem *cntbase)
>> +{
>> + /*
>> + * Try to get the frequency from the CNTFRQ of timer frame registers.
>> + * Note: please verify cntbase in caller.
>> + */
>> + return readl_relaxed(cntbase + CNTFRQ);
>> +}
>
> Wrapping the MMIO read makes sense if we're going to do this in more
> than one place, so I'm happy with this wrapper.
>
> If you can s/arch_timer_get_mmio_freq/arch_timer_get_cntfrq/, and drop
sorry, May I guess that is
"s/arch_timer_get_mmio_freq/arch_timer_get_mmio_cntfrq/"
or
"s/arch_timer_get_mmio_freq/arch_timer_mem_get_cntfrq/"
which one do you prefer? :-)
> the comments, then this looks fine to me.
>
> Thanks,
> Mark.
--
Best regards,
Fu Wei
Software Engineer
Red Hat
[toc] | [prev] | [next] | [standalone]
| From | Fu Wei <fu.wei@linaro.org> |
|---|---|
| Date | 2017-03-20 10:50 +0100 |
| Message-ID | <tn26R-2MC-1@gated-at.bofh.it> |
| In reply to | #1604217 |
Hi Mark,
On 20 March 2017 at 15:36, Fu Wei <fu.wei@linaro.org> wrote:
> Hi Mark,
>
> On 18 March 2017 at 02:05, Mark Rutland <mark.rutland@arm.com> wrote:
>> On Tue, Feb 07, 2017 at 02:50:03AM +0800, fu.wei@linaro.org wrote:
>>> +static u32 arch_timer_get_sysreg_freq(void)
>>> +{
>>> + /*
>>> + * Try to get the frequency from the CNTFRQ of sysreg.
>>> + */
>>> + return arch_timer_get_cntfrq();
>>> +}
>>
>> We already have arch_timer_get_cntfrq(), so I don't see the point in
>> this wrapper.
>>
>>> +static u32 arch_timer_get_mmio_freq(void __iomem *cntbase)
>>> +{
>>> + /*
>>> + * Try to get the frequency from the CNTFRQ of timer frame registers.
>>> + * Note: please verify cntbase in caller.
>>> + */
>>> + return readl_relaxed(cntbase + CNTFRQ);
>>> +}
>>
>> Wrapping the MMIO read makes sense if we're going to do this in more
>> than one place, so I'm happy with this wrapper.
>>
>> If you can s/arch_timer_get_mmio_freq/arch_timer_get_cntfrq/, and drop
>
> sorry, May I guess that is
> "s/arch_timer_get_mmio_freq/arch_timer_get_mmio_cntfrq/"
> or
> "s/arch_timer_get_mmio_freq/arch_timer_mem_get_cntfrq/"
>
> which one do you prefer? :-)
keeping using arch_timer_get_cntfrq(); for per-CPU arch timer, then
+static u32 arch_timer_mem_get_cntfrq(void __iomem *cntbase)
+{
+ return readl_relaxed(cntbase + CNTFRQ);
+}
+
Is that OK for you?
>
>> the comments, then this looks fine to me.
>>
>> Thanks,
>> Mark.
>
>
>
> --
> Best regards,
>
> Fu Wei
> Software Engineer
> Red Hat
--
Best regards,
Fu Wei
Software Engineer
Red Hat
[toc] | [prev] | [next] | [standalone]
| From | Mark Rutland <mark.rutland@arm.com> |
|---|---|
| Date | 2017-03-20 11:50 +0100 |
| Message-ID | <tn32W-3u2-23@gated-at.bofh.it> |
| In reply to | #1604292 |
On Mon, Mar 20, 2017 at 05:43:29PM +0800, Fu Wei wrote:
> On 20 March 2017 at 15:36, Fu Wei <fu.wei@linaro.org> wrote:
> > On 18 March 2017 at 02:05, Mark Rutland <mark.rutland@arm.com> wrote:
> >> On Tue, Feb 07, 2017 at 02:50:03AM +0800, fu.wei@linaro.org wrote:
> >>> +static u32 arch_timer_get_mmio_freq(void __iomem *cntbase)
> >>> +{
> >>> + /*
> >>> + * Try to get the frequency from the CNTFRQ of timer frame registers.
> >>> + * Note: please verify cntbase in caller.
> >>> + */
> >>> + return readl_relaxed(cntbase + CNTFRQ);
> >>> +}
> >>
> >> Wrapping the MMIO read makes sense if we're going to do this in more
> >> than one place, so I'm happy with this wrapper.
> >>
> >> If you can s/arch_timer_get_mmio_freq/arch_timer_get_cntfrq/, and drop
> >
> > sorry, May I guess that is
> > "s/arch_timer_get_mmio_freq/arch_timer_get_mmio_cntfrq/"
> > or
> > "s/arch_timer_get_mmio_freq/arch_timer_mem_get_cntfrq/"
> >
> > which one do you prefer? :-)
>
> keeping using arch_timer_get_cntfrq(); for per-CPU arch timer, then
>
> +static u32 arch_timer_mem_get_cntfrq(void __iomem *cntbase)
> +{
> + return readl_relaxed(cntbase + CNTFRQ);
> +}
> +
That looks perfect to me.
Sorry for the confusion above!
Mark.
[toc] | [prev] | [next] | [standalone]
| From | Fu Wei <fu.wei@linaro.org> |
|---|---|
| Date | 2017-03-20 12:20 +0100 |
| Message-ID | <tn3vZ-3VF-29@gated-at.bofh.it> |
| In reply to | #1604361 |
Hi Mark,
On 20 March 2017 at 18:41, Mark Rutland <mark.rutland@arm.com> wrote:
> On Mon, Mar 20, 2017 at 05:43:29PM +0800, Fu Wei wrote:
>> On 20 March 2017 at 15:36, Fu Wei <fu.wei@linaro.org> wrote:
>> > On 18 March 2017 at 02:05, Mark Rutland <mark.rutland@arm.com> wrote:
>> >> On Tue, Feb 07, 2017 at 02:50:03AM +0800, fu.wei@linaro.org wrote:
>
>> >>> +static u32 arch_timer_get_mmio_freq(void __iomem *cntbase)
>> >>> +{
>> >>> + /*
>> >>> + * Try to get the frequency from the CNTFRQ of timer frame registers.
>> >>> + * Note: please verify cntbase in caller.
>> >>> + */
>> >>> + return readl_relaxed(cntbase + CNTFRQ);
>> >>> +}
>> >>
>> >> Wrapping the MMIO read makes sense if we're going to do this in more
>> >> than one place, so I'm happy with this wrapper.
>> >>
>> >> If you can s/arch_timer_get_mmio_freq/arch_timer_get_cntfrq/, and drop
>> >
>> > sorry, May I guess that is
>> > "s/arch_timer_get_mmio_freq/arch_timer_get_mmio_cntfrq/"
>> > or
>> > "s/arch_timer_get_mmio_freq/arch_timer_mem_get_cntfrq/"
>> >
>> > which one do you prefer? :-)
>>
>> keeping using arch_timer_get_cntfrq(); for per-CPU arch timer, then
>>
>> +static u32 arch_timer_mem_get_cntfrq(void __iomem *cntbase)
>> +{
>> + return readl_relaxed(cntbase + CNTFRQ);
>> +}
>> +
>
> That looks perfect to me.
>
> Sorry for the confusion above!
Great, thanks , doing this way :-)
>
> Mark.
--
Best regards,
Fu Wei
Software Engineer
Red Hat
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web