From: 대인기 <inki.dae@samsung.com>
To: Andrzej Hajda <a.hajda@samsung.com>,
"airlied@linux.ie" <airlied@linux.ie>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Cc: 박경민 <kyungmin.park@samsung.com>
Subject: Re: Re: [PATCH v2 0/7] drm/exynos: more cleanup with super device support
Date: Thu, 03 Apr 2014 10:53:01 +0000 (GMT) [thread overview]
Message-ID: <16796852.148091396522381095.JavaMail.weblogic@epml09> (raw)
>On 04/03/2014 11:05 AM, 대인기 wrote:
>> Hi Andrzej,
>>
>>> Hi Inki,
>>
>>> On 04/01/2014 02:37 PM, Inki Dae wrote:
>>>> This patch series cleans up exynos drm framework and kms sub drivers
>>>> using the component framework[1].
>>> I have tested it on trats platform (fimd + dsi), it works.
>>> However it seems to be suboptimal.
>>> In case of deferred probing of any of components (due to lack of some
>>> resources, ex. clock, regulator, phy), all components
>>> which were already bound are unbound and re-bound later when another
>>> driver is added, this causes multiple unnecessary free/re-allocate cycles.
>> The components bound and then unbound wouldn't be bound again because the components unbound are removed component_list l>ike below,
>>
>> ret = try_to_bring_up_masters(component);
>> if (ret < 0) {
>> list_del(&component->node);
>> kfree(component);
>> }
>>
>> And I cannot see that components are freed and re-allocated repeatedly. See the below log,
>>
>> [ 1.425000] [drm] Initialized drm 1.1.0 20060810
>> [ 1.430000] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
>> [ 1.435000] exynos4-fb 11c00000.fimd: adding component (ops fimd_component_ops)
>> [ 1.445000] exynos-dsi 11c80000.dsi: adding component (ops exynos_dsi_component_ops)
>> [ 1.450000] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
>> [ 1.455000] [drm] No driver support for vblank timestamp query.
>> [ 1.465000] exynos-drm display-subsystem.8: binding 11c00000.fimd (ops fimd_component_ops)
>> [ 1.470000] exynos-drm display-subsystem.8: bound 11c00000.fimd (ops fimd_component_ops)
>> [ 1.480000] exynos-drm display-subsystem.8: binding 11c80000.dsi (ops exynos_dsi_component_ops)
>> [ 1.490000] exynos-drm display-subsystem.8: failed to bind 11c80000.dsi (ops exynos_dsi_component_ops): -12
>> [ 1.500000] exynos-drm display-subsystem.8: master bind failed: -12
>> [ 1.505000] exynos-dsi: probe of 11c80000.dsi failed with error -12
>Here you have error -12 - ENOMEM, so everything just fails, and this is
>OK. The problem is in case of deferred probe.
>Good way to simulate it is to make mipi-phy driver as module and insmod
>it from userspace.
>
Reproduced by returning -EPROBE_DEFER at exynos_dsi_bind(). Right, in this case, the component isn't removed from component_list because all components are added to component_list, and the components are also attached to master. In turn, exynos_drm_load() will return -EPROBE_DEFER so the components will be unbound and bound repeatedly.
So to resolve this issue, it needs for -EPROBE_DEFER is returned only in exynos_dsi_probe, not exynos_dsi_bind. For this, I fixed it and tested it.
Will post it again.
Thanks for testing,
Inki Dae
>Regards
>Andrzej
>
>
>> I have tested it on universal, trats, trats2 boards. And they all work fine.
>> But there was one thing I missed. That is that dpi probe and remove shoudn't be called if fimd node has no port node. For this, I post>ed it again.
>>
>> Did you check it again? It seems your missing something. And Can you tell me more details how did you test it? If there is no any pr>>oblem, I'm going to have pull request today or tomorrow.
>
>The problem I have described has nothing to do with dpi, in fact dpi
>driver was disabled in this test.
>Anyway I will test DPI separately.
>
>>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2014-04-03 10:53 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-03 10:53 대인기 [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-04-03 9:05 Re: [PATCH v2 0/7] drm/exynos: more cleanup with super device support 대인기
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=16796852.148091396522381095.JavaMail.weblogic@epml09 \
--to=inki.dae@samsung.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=kyungmin.park@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.