All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Jingoo Han <jg1.han@samsung.com>
Cc: 'Joonyoung Shim' <jy0922.shim@samsung.com>,
	'Leela Krishna Amudala' <l.krishna@samsung.com>,
	kgene.kim@samsung.com, devicetree-discuss@lists.ozlabs.org,
	joshi@samsung.com, grant.likely@secretlab.ca,
	linux-samsung-soc@vger.kernel.org, thomas.ab@samsung.com,
	olofj@google.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH V2 6/7] ARM: EXYNOS5: Add the bus clock for FIMD
Date: Tue, 24 Jul 2012 11:13:20 +0200	[thread overview]
Message-ID: <500E6730.1030805@samsung.com> (raw)
In-Reply-To: <000501cd6951$2aa24f00$7fe6ed00$%han@samsung.com>

Hi,

On 07/24/2012 06:02 AM, Jingoo Han wrote:
>>>>>>>> I wonder fimd clock has any dependency with DP
>>>>>>> FIMD pixel clock is necessary to enable DP.
>>>>>> So then, i think DP driver also should control FIMD pixel clock.
>>>>>> Do you have any patch or plan for it?
>>>>> Um, I don't think so.
>>>>> Because, DP cannot work by itself.
>>>>> In order to use DP, FIMD should be enabled.
>>>>>
>>>>> If FIMD is enabled, FIMD pixel clock is enabled;
>>>>> therefore, DP driver does not need to control FIMD pixel clock.
>>>> Why does DP driver have FIMD driver dependency? Also for this, it needs
>>>> FIMD driver is probed earlier then DP driver.  We cannot decide driver
>>>> probe order if they are same level drivers and itself is weird
>>>> condition.  Although there is hardware dependency, DP and FIMD driver
>>>> don't have any code relations. They are each other drivers. But DP
>>>> needs FIMD pixel clock and because the clock can be control at the
>>>> several drivers and the clock framework exists for that, then i think
>>>> it's better DP driver also control FIMD pixel clock.
>>>>
>>>>> In my opinion, adding config dependency would be better, such as FB_S3C or DRM_EXYNOS_FIMD.
>>>> I think this is not solution. How do you ensure FIMD driver is probed
>>>> earlier than DP driver? Even if it's possible, when FIMD driver only
>>>> controls pixel clock, DP driver will execute any operations regardless
>>>> status of FIMD pixel clock, so if FIMD driver turns off pixel clock,
>>>> then DP will occur any error.
>>> late_initcall can ensure DP driver is probed later.
>>
>> I'm not sure late_initcall solution is good. It must choose at the last
>> if there isn't other way really.
> 
> 
> late_initcall is already used by many drivers.
> If you have any good idea, please, suggest it.

I agree with Mr. Shim here. using initcall doesn't look like a solution
to this issue. Neither compile time dependency is of much help.

The S3C framebuffer driver can be used as a loadable module, how
would initcalls be supposed to work then ?

Some notify mechanisms or deferred probing could be used, to make sure one
of drivers is initialized before the other.

--

Thanks,
Sylwester

WARNING: multiple messages have this Message-ID (diff)
From: s.nawrocki@samsung.com (Sylwester Nawrocki)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2 6/7] ARM: EXYNOS5: Add the bus clock for FIMD
Date: Tue, 24 Jul 2012 11:13:20 +0200	[thread overview]
Message-ID: <500E6730.1030805@samsung.com> (raw)
In-Reply-To: <000501cd6951$2aa24f00$7fe6ed00$%han@samsung.com>

Hi,

On 07/24/2012 06:02 AM, Jingoo Han wrote:
>>>>>>>> I wonder fimd clock has any dependency with DP
>>>>>>> FIMD pixel clock is necessary to enable DP.
>>>>>> So then, i think DP driver also should control FIMD pixel clock.
>>>>>> Do you have any patch or plan for it?
>>>>> Um, I don't think so.
>>>>> Because, DP cannot work by itself.
>>>>> In order to use DP, FIMD should be enabled.
>>>>>
>>>>> If FIMD is enabled, FIMD pixel clock is enabled;
>>>>> therefore, DP driver does not need to control FIMD pixel clock.
>>>> Why does DP driver have FIMD driver dependency? Also for this, it needs
>>>> FIMD driver is probed earlier then DP driver.  We cannot decide driver
>>>> probe order if they are same level drivers and itself is weird
>>>> condition.  Although there is hardware dependency, DP and FIMD driver
>>>> don't have any code relations. They are each other drivers. But DP
>>>> needs FIMD pixel clock and because the clock can be control at the
>>>> several drivers and the clock framework exists for that, then i think
>>>> it's better DP driver also control FIMD pixel clock.
>>>>
>>>>> In my opinion, adding config dependency would be better, such as FB_S3C or DRM_EXYNOS_FIMD.
>>>> I think this is not solution. How do you ensure FIMD driver is probed
>>>> earlier than DP driver? Even if it's possible, when FIMD driver only
>>>> controls pixel clock, DP driver will execute any operations regardless
>>>> status of FIMD pixel clock, so if FIMD driver turns off pixel clock,
>>>> then DP will occur any error.
>>> late_initcall can ensure DP driver is probed later.
>>
>> I'm not sure late_initcall solution is good. It must choose at the last
>> if there isn't other way really.
> 
> 
> late_initcall is already used by many drivers.
> If you have any good idea, please, suggest it.

I agree with Mr. Shim here. using initcall doesn't look like a solution
to this issue. Neither compile time dependency is of much help.

The S3C framebuffer driver can be used as a loadable module, how
would initcalls be supposed to work then ?

Some notify mechanisms or deferred probing could be used, to make sure one
of drivers is initialized before the other.

--

Thanks,
Sylwester

  reply	other threads:[~2012-07-24  9:13 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-18  5:57 [PATCH V2 0/7] Add device tree based discovery support for drm-fimd Leela Krishna Amudala
2012-07-18  5:57 ` Leela Krishna Amudala
2012-07-18  5:57 ` [PATCH V2 1/7] ARM: SAMSUNG: add additional registers and SFR definitions for writeback Leela Krishna Amudala
2012-07-18  5:57   ` Leela Krishna Amudala
2012-07-18  6:51   ` Marek Szyprowski
2012-07-18  6:51     ` Marek Szyprowski
2012-07-18  7:09     ` Ajay kumar
2012-07-18  7:09       ` Ajay kumar
     [not found]       ` <CAEC9eQP01q+ddhA9Q4VQcm8wuvJXmR5KvAVZgX6MEdFLstST0g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-07-20 10:09         ` Sylwester Nawrocki
2012-07-20 10:09           ` Sylwester Nawrocki
2012-07-19 12:43     ` Leela Krishna Amudala
2012-07-19 12:43       ` Leela Krishna Amudala
2012-07-20  6:45       ` Marek Szyprowski
2012-07-20  6:45         ` Marek Szyprowski
2012-07-18 11:05   ` Tomasz Figa
2012-07-18 11:05     ` Tomasz Figa
2012-07-19 13:00     ` Leela Krishna Amudala
2012-07-19 13:00       ` Leela Krishna Amudala
2012-07-19 13:35       ` Tomasz Figa
2012-07-19 13:35         ` Tomasz Figa
2012-07-20  2:21         ` Jingoo Han
2012-07-20  2:21           ` Jingoo Han
2012-07-20  2:59           ` Leela Krishna Amudala
2012-07-20  2:59             ` Leela Krishna Amudala
2012-07-20  9:49             ` Tomasz Figa
2012-07-20  9:49               ` Tomasz Figa
2012-07-20 10:00             ` Sylwester Nawrocki
2012-07-20 10:00               ` Sylwester Nawrocki
2012-07-20 11:07               ` Leela Krishna Amudala
2012-07-20 11:07                 ` Leela Krishna Amudala
2012-07-20 12:54                 ` Sylwester Nawrocki
2012-07-20 12:54                   ` Sylwester Nawrocki
2012-07-22 22:35               ` Jingoo Han
2012-07-22 22:35                 ` Jingoo Han
2012-07-18  5:57 ` [PATCH V2 2/7] ARM: EXYNOS5: add machine specific support for backlight Leela Krishna Amudala
2012-07-18  5:57   ` Leela Krishna Amudala
2012-07-18  5:57 ` [PATCH V2 3/7] ARM: EXYNOS5: add machine specific support for LCD Leela Krishna Amudala
2012-07-18  5:57   ` Leela Krishna Amudala
2012-07-18  6:45   ` Marek Szyprowski
2012-07-18  6:45     ` Marek Szyprowski
2012-07-19 13:21     ` Leela Krishna Amudala
2012-07-19 13:21       ` Leela Krishna Amudala
2012-07-20  6:31       ` Marek Szyprowski
2012-07-20  6:31         ` Marek Szyprowski
2012-07-24 16:02         ` Leela Krishna Amudala
2012-07-24 16:02           ` Leela Krishna Amudala
2012-07-20  7:17       ` Joonyoung Shim
2012-07-20  7:17         ` Joonyoung Shim
2012-07-18  5:57 ` [PATCH V2 4/7] ARM: EXYNOS: Adding DRM platform device Leela Krishna Amudala
2012-07-18  5:57   ` Leela Krishna Amudala
2012-07-20  7:33   ` Joonyoung Shim
2012-07-20  7:33     ` Joonyoung Shim
2012-07-18  5:57 ` [PATCH V2 5/7] ARM: EXYNOS: add device tree based discovery support for FIMD Leela Krishna Amudala
2012-07-18  5:57   ` Leela Krishna Amudala
2012-07-20  7:39   ` Joonyoung Shim
2012-07-20  7:39     ` Joonyoung Shim
2012-07-18  5:57 ` [PATCH V2 6/7] ARM: EXYNOS5: Add the bus clock " Leela Krishna Amudala
2012-07-18  5:57   ` Leela Krishna Amudala
2012-07-23  8:34   ` Joonyoung Shim
2012-07-23  8:34     ` Joonyoung Shim
2012-07-23  9:54     ` Joonyoung Shim
2012-07-23  9:54       ` Joonyoung Shim
2012-07-23 23:14       ` Jingoo Han
2012-07-23 23:14         ` Jingoo Han
2012-07-23 23:45         ` Joonyoung Shim
2012-07-23 23:45           ` Joonyoung Shim
2012-07-23 23:48           ` Jingoo Han
2012-07-23 23:48             ` Jingoo Han
     [not found]           ` <500DE22F.5010006-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-07-23 23:55             ` Jingoo Han
2012-07-23 23:55               ` Jingoo Han
2012-07-24  1:55               ` Joonyoung Shim
2012-07-24  1:55                 ` Joonyoung Shim
     [not found]                 ` <500E00A3.8080203-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-07-24  2:15                   ` Jingoo Han
2012-07-24  2:15                     ` Jingoo Han
2012-07-24  3:06                     ` Joonyoung Shim
2012-07-24  3:06                       ` Joonyoung Shim
2012-07-24  4:02                       ` Jingoo Han
2012-07-24  4:02                         ` Jingoo Han
2012-07-24  9:13                         ` Sylwester Nawrocki [this message]
2012-07-24  9:13                           ` Sylwester Nawrocki
2012-07-18  5:57 ` [PATCH V2 7/7] ARM: EXYNOS5: Set parent clock to fimd Leela Krishna Amudala
2012-07-18  5:57   ` Leela Krishna Amudala
2012-07-23  8:41   ` Joonyoung Shim
2012-07-23  8:41     ` Joonyoung Shim

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=500E6730.1030805@samsung.com \
    --to=s.nawrocki@samsung.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jg1.han@samsung.com \
    --cc=joshi@samsung.com \
    --cc=jy0922.shim@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=l.krishna@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=olofj@google.com \
    --cc=thomas.ab@samsung.com \
    /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.