All of lore.kernel.org
 help / color / mirror / Atom feed
From: Murali Karicheri <m-karicheri2@ti.com>
To: <linux-kernel@vger.kernel.org>, <john.stultz@linaro.org>,
	<tglx@linutronix.de>
Cc: "Kristo, Tero" <t-kristo@ti.com>
Subject: Re: Export clocks_calc_mult_shift() function
Date: Wed, 30 Mar 2016 12:46:33 -0400	[thread overview]
Message-ID: <56FC02E9.1030408@ti.com> (raw)
In-Reply-To: <56E6D874.8030603@ti.com>

On 03/14/2016 11:27 AM, Murali Karicheri wrote:
> On 03/08/2016 05:25 PM, Murali Karicheri wrote:
>> Hi,
>>
>> I found a patch posted sometime back to export the clocksource
>> function clocks_calc_mult_shift() so that it can be called by
>> drivers that are dynamically loadable. I have not seen any
>> comment against this. Wondering why this is not merged. We require
>> this function exported for use in our driver as well. Can you merge
>> the patch please. Or do you suggest me to repost the same?
>>
>> http://lkml.iu.edu/hypermail/linux/kernel/1502.2/01641.html
>>
>> Thanks
>>
> John,
> 
> Some reason, your response didn't make into my inbox. So I am 
> reproducing it below.
> 
>> Why would the clocksource driver need to calculate the hz/shift value
>> instead of using the clocksource_register_hz/khz functions?
>>
>> thanks
>> -john
> 
> John,
> 
> In this use case, the timestamp for Tx/Rx is generated by a firmware
> that attach the timestamp raw count to the packet meta data when the
> same is received from the Packet Accelerator h/w at the ingress.
> We need to convert this raw count value to nano second and use a code
> like this.
> 
> /* Convert a raw PA timer count to nanoseconds
>  */
> static inline u64 tstamp_raw_to_ns(struct pa_core_device *core_dev, u32 lo,
>                                    u32 hi)
> {
>         u32 mult = core_dev->timestamp_info.mult;
>         u32 shift = core_dev->timestamp_info.shift;
>         u64 result;
> 
>         /* Minimize overflow errors by doing this in pieces */
>         result  = ((u64)lo * mult) >> shift;
>         result += ((u64)hi << (32 - shift)) * mult;
> 
>         return result;
> }
> 
> The mult, shift values are obtained using the existing clocks_calc_mult_shift()
> that will not work, if our driver is built as a dynamically loadable module
> as the symbol is not exported. 
> 
> Is there an alternative way of doing this without exporting this function. 
> clocksource_register_hz/khz() can't help in this, right?
> 
John,

I didn't see any response? Can I send a patch to export clocks_calc_mult_shift() function??

-- 
Murali Karicheri
Linux Kernel, Keystone

  reply	other threads:[~2016-03-30 16:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-08 22:25 Export clocks_calc_mult_shift() function Murali Karicheri
2016-03-08 22:53 ` John Stultz
2016-03-14 15:27 ` Murali Karicheri
2016-03-30 16:46   ` Murali Karicheri [this message]
2016-03-30 17:01     ` John Stultz
2016-03-30 17:02       ` John Stultz
2016-03-31 22:07         ` Murali Karicheri
2016-03-31 22:51           ` John Stultz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56FC02E9.1030408@ti.com \
    --to=m-karicheri2@ti.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=t-kristo@ti.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.