From: jonghwa3.lee@samsung.com
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: linux-kernel@vger.kernel.org, Matt Mackall <mpm@selenic.com>,
Herbert Xu <herbert@gondor.hengli.com.au>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
Julia Lawall <Julia.Lawall@lip6.fr>,
Jamie Iles <jamie@jamieiles.com>,
Kyungmin Park <kyungmin.park@samsung.com>
Subject: Re: [PATCH] Exynos : Add support for Exynos random number generator
Date: Fri, 22 Jun 2012 10:39:45 +0900 [thread overview]
Message-ID: <4FE3CCE1.6010400@samsung.com> (raw)
In-Reply-To: <4FE2913B.1040102@codeaurora.org>
On 2012년 06월 21일 12:12, Stephen Boyd wrote:
> On 06/20/12 19:39, jonghwa3.lee@samsung.com wrote:
>>
>>>> +static int exynos_init(struct hwrng *rng)
>>>> +{
>>>> + struct exynos_rng *exynos_rng = container_of(rng,
>>>> + struct exynos_rng, rng);
>>>> + int i;
>>>> + int ret = 0;
>>>> + u32 PRND_SEED[5];
>>>> +
>>>> + pm_runtime_put_noidle(exynos_rng->dev);
>>>> + pm_runtime_get_sync(exynos_rng->dev);
>>> This looks very odd. Why are you calling pm_runtime_put_noidle()?
>>>
>>
>> When this callback function is called, the status of power state is
>> 'suspended' and use_count is 1. To perform pm_runtime_get_sync()
>> correctly, it requires to have 'suspended' status and use_count is 0.
>> Thus i force to decrease use_count only with using
>> pm_runtime_put_noidle. I know it looks odd, but i couldn't find better
>> way. Otherwise it can use clk_enable() directly, but i think that it
>> isn't good neither.
>
> Is the device suspended initially at probe? If so can you set the state
> of the device to suspended?
>
Yes, it suspended already at the initial of probing. But i can't get
your point, you want to me to make device suspended?
>>
>>>> +{
>>>> + int ret;
>>>> + struct exynos_rng *exynos_rng;
>>>> + struct resource *res;
>>>> +
>>>> + exynos_rng = devm_kzalloc(&pdev->dev, sizeof(struct exynos_rng),
>>>> + GFP_KERNEL);
>>>> + if (!exynos_rng)
>>>> + return -ENOMEM;
>>>> +
>>>> + exynos_rng->dev = &pdev->dev;
>>>> + exynos_rng->rng.name = "exynos";
>>>> + exynos_rng->rng.init = exynos_init;
>>>> + exynos_rng->rng.read = exynos_read;
>>>> + exynos_rng->clk = clk_get(NULL, "secss");
>>> Can you please pass &pdev->dev to clk_get()?
>>>
>>
>> But, this clock is not only used in PRNG. Should i put it in?
>
> Why would that matter? I'm not familiar with the samsung clock
> implementation but I would assume that something like clkdev is being
> used. Ideally you would have one lookup entry per struct device that
> uses this clock and then tie each lookup entry to the same clock. This
> allows you to support multiple instances of the same device in a generic
> way (e.g. two rng devices that use different clocks but from the driver
> perspective they have the same name 'secss').
>
Okay, I see. I'll apply it.
next prev parent reply other threads:[~2012-06-22 1:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-20 8:22 [PATCH] Exynos : Add support for Exynos random number generator Jonghwa Lee
2012-06-21 0:47 ` Stephen Boyd
2012-06-21 2:39 ` jonghwa3.lee
2012-06-21 3:12 ` Stephen Boyd
2012-06-22 1:39 ` jonghwa3.lee [this message]
2012-06-26 19:32 ` Stephen Boyd
2012-06-27 14:03 ` Alan Stern
-- strict thread matches above, loose matches on Subject: below --
2012-06-20 8:18 Jonghwa Lee
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=4FE3CCE1.6010400@samsung.com \
--to=jonghwa3.lee@samsung.com \
--cc=Julia.Lawall@lip6.fr \
--cc=herbert@gondor.hengli.com.au \
--cc=jamie@jamieiles.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mpm@selenic.com \
--cc=nicolas.ferre@atmel.com \
--cc=sboyd@codeaurora.org \
/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.