diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-08-08 09:41:15 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-08-19 00:28:46 -0400 |
commit | 7d14bb6b537414ffe6a8641cb14088465c28460d (patch) | |
tree | da32f10856998e7c039a84e93a3cd5cf17f274ea /drivers/gpu/drm/drm_fops.c | |
parent | 0faa4a877765a4855dd570d6d391f77c5c37abc3 (diff) |
drm: don't call ->firstopen for KMS drivers
It has way too much potential for driver writers to do stupid things
like delayed hw setup because the load sequence is somehow racy (e.g.
the imx driver in staging). So don't call it for modesetting drivers,
which reduces the complexity of the drm core -> driver interface a
notch.
v2: Don't forget to update DocBook.
v3: Go with Laurent's slightly more elaborate proposal for the DocBook
update. Add a few words on top of his diff to elaborate a bit on what
KMS drivers should and shouldn't do in lastclose. There was already a
paragraph present talking about restoring properties, I've simply
extended that one.
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_fops.c')
-rw-r--r-- | drivers/gpu/drm/drm_fops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c index 1817f03efe80..567997116d7e 100644 --- a/drivers/gpu/drm/drm_fops.c +++ b/drivers/gpu/drm/drm_fops.c | |||
@@ -51,7 +51,8 @@ static int drm_setup(struct drm_device * dev) | |||
51 | int i; | 51 | int i; |
52 | int ret; | 52 | int ret; |
53 | 53 | ||
54 | if (dev->driver->firstopen) { | 54 | if (dev->driver->firstopen && |
55 | !drm_core_check_feature(dev, DRIVER_MODESET)) { | ||
55 | ret = dev->driver->firstopen(dev); | 56 | ret = dev->driver->firstopen(dev); |
56 | if (ret != 0) | 57 | if (ret != 0) |
57 | return ret; | 58 | return ret; |