All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Inki Dae <inki.dae@samsung.com>
Cc: kyungmin.park@samsung.com,
	"Matwey V. Kornilov" <matwey.kornilov@gmail.com>,
	sw0312.kim@samsung.com,
	DRI mailing list <dri-devel@lists.freedesktop.org>
Subject: Re: exynos-drm registration: infinite loop
Date: Thu, 6 Nov 2014 10:29:16 +0100	[thread overview]
Message-ID: <20141106092914.GG26297@ulmo> (raw)
In-Reply-To: <545B13DF.4040503@samsung.com>


[-- Attachment #1.1: Type: text/plain, Size: 2881 bytes --]

On Thu, Nov 06, 2014 at 03:23:27PM +0900, Inki Dae wrote:
> On 2014년 11월 05일 23:38, Thierry Reding wrote:
> > On Tue, Nov 04, 2014 at 09:18:46PM +0400, Matwey V. Kornilov wrote:
> >> Hi,
> >>
> >> I run 3.18-rc3 kernel on BeagleBone Black. It doesn't have Exynos DRM
> >> of course, but I run multi-platform kernel where CONFIG_DRM_EXYNOS is
> >> set to 'y'.
> >> The issue here is that the platform probe/init goes to infinite loop
> >> as the following:
> >>
> >> [    5.717343] platform exynos-drm: Driver exynos-drm requests probe deferral
> >> [    5.726848] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
> >> [    5.734700] platform exynos-drm: Driver exynos-drm requests probe deferral
> >> [    5.744044] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
> >> [    5.752010] platform exynos-drm: Driver exynos-drm requests probe deferral
> >> [    5.761377] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
> >> [    5.769291] platform exynos-drm: Driver exynos-drm requests probe deferral
> >>
> >> It is quite unexpectable behavior. I would expect that the exynos-drm
> >> failed to initialize with 'no device' error.
> >>
> >> See also for the reference: https://bugzilla.kernel.org/show_bug.cgi?id=87691
> > 
> > The reason for this seems to be that Exynos DRM instantiates a dummy
> > device that it can bind to (see exynos_drm_init()). Now this code is
> > executed unconditonally, so the device will be created whether or not
> > the kernel/module runs on an Exynos SoC. The driver should really bind
> > to some real device rather than instantiating a dummy. Or if it must
> > bind to a dummy then the code needs to at least check that it's running
> > on an Exynos SoC before instantiating the dummy.
> > 
> 
> Right, I also think the problem is because we use a dummay device for
> Exynos drm. As you mentioned, this device can always be bound as long as
> Exynos drm driver is enabled even without real device. So this issue
> gives us that we need super device node again. Actually, I had already
> tried the use  of the super device node like below for Exynos drm but
> other Samsung guys didn't want to use it.
> 	http://lists.freedesktop.org/archives/dri-devel/2014-April/056618.html
> 
> I think now we have the reason that we should use super device node so I
> will try to support the super device for Exynos drm like other ARM drm
> drivers did. However, for this, I'd like to listen to other opinions
> for a while before that.

Irrespective of any long-term solution you need to fix this as soon as
possible because this currently causes all sorts of weirdness when
booting a multi-platform kernel on non-Exynos boards. Probably the
easiest for now would be to add some soc_is_exynos*() check at the very
beginning of exynos_drm_init().

Thierry

[-- Attachment #1.2: Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2014-11-06  9:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-04 17:18 exynos-drm registration: infinite loop Matwey V. Kornilov
2014-11-05 14:38 ` Thierry Reding
2014-11-05 16:47   ` Matwey V. Kornilov
2014-11-06  6:23   ` Inki Dae
2014-11-06  8:03     ` Andrzej Hajda
2014-11-06  8:45       ` Inki Dae
2014-11-06  8:49         ` Matwey V. Kornilov
2014-11-06  9:03           ` Inki Dae
2014-11-06  9:29     ` Thierry Reding [this message]
2014-11-06  9:51       ` Inki Dae
2014-11-06  5:45 ` Inki Dae

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=20141106092914.GG26297@ulmo \
    --to=thierry.reding@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=inki.dae@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=matwey.kornilov@gmail.com \
    --cc=sw0312.kim@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.