diff options
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/arm/hdlcd_drv.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/armada/armada_drv.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_irq.c | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/gma500/psb_drv.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/imx/imx-drm-core.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_irq_kms.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/tegra/drm.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/vc4/vc4_kms.c | 2 | ||||
| -rw-r--r-- | include/drm/drmP.h | 8 |
14 files changed, 0 insertions, 47 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c index 9266c7b69808..835a3fa8d8df 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | |||
| @@ -219,7 +219,6 @@ int amdgpu_irq_init(struct amdgpu_device *adev) | |||
| 219 | if (r) { | 219 | if (r) { |
| 220 | return r; | 220 | return r; |
| 221 | } | 221 | } |
| 222 | adev->ddev->vblank_disable_allowed = true; | ||
| 223 | 222 | ||
| 224 | /* enable msi */ | 223 | /* enable msi */ |
| 225 | adev->irq.msi_enabled = false; | 224 | adev->irq.msi_enabled = false; |
diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c index 734899c4e4bb..b987c63ba8d6 100644 --- a/drivers/gpu/drm/arm/hdlcd_drv.c +++ b/drivers/gpu/drm/arm/hdlcd_drv.c | |||
| @@ -379,7 +379,6 @@ static int hdlcd_drm_bind(struct device *dev) | |||
| 379 | DRM_ERROR("failed to initialise vblank\n"); | 379 | DRM_ERROR("failed to initialise vblank\n"); |
| 380 | goto err_vblank; | 380 | goto err_vblank; |
| 381 | } | 381 | } |
| 382 | drm->vblank_disable_allowed = true; | ||
| 383 | 382 | ||
| 384 | drm_mode_config_reset(drm); | 383 | drm_mode_config_reset(drm); |
| 385 | drm_kms_helper_poll_init(drm); | 384 | drm_kms_helper_poll_init(drm); |
diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c index 82043c204b76..439824a61aa5 100644 --- a/drivers/gpu/drm/armada/armada_drv.c +++ b/drivers/gpu/drm/armada/armada_drv.c | |||
| @@ -113,7 +113,6 @@ static int armada_drm_load(struct drm_device *dev, unsigned long flags) | |||
| 113 | goto err_comp; | 113 | goto err_comp; |
| 114 | 114 | ||
| 115 | dev->irq_enabled = true; | 115 | dev->irq_enabled = true; |
| 116 | dev->vblank_disable_allowed = 1; | ||
| 117 | 116 | ||
| 118 | ret = armada_fbdev_init(dev); | 117 | ret = armada_fbdev_init(dev); |
| 119 | if (ret) | 118 | if (ret) |
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 3c1a6f18e71c..0fac801c18fe 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c | |||
| @@ -348,9 +348,6 @@ static void vblank_disable_fn(unsigned long arg) | |||
| 348 | unsigned int pipe = vblank->pipe; | 348 | unsigned int pipe = vblank->pipe; |
| 349 | unsigned long irqflags; | 349 | unsigned long irqflags; |
| 350 | 350 | ||
| 351 | if (!dev->vblank_disable_allowed) | ||
| 352 | return; | ||
| 353 | |||
| 354 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | 351 | spin_lock_irqsave(&dev->vbl_lock, irqflags); |
| 355 | if (atomic_read(&vblank->refcount) == 0 && vblank->enabled) { | 352 | if (atomic_read(&vblank->refcount) == 0 && vblank->enabled) { |
| 356 | DRM_DEBUG("disabling vblank on crtc %u\n", pipe); | 353 | DRM_DEBUG("disabling vblank on crtc %u\n", pipe); |
| @@ -437,8 +434,6 @@ int drm_vblank_init(struct drm_device *dev, unsigned int num_crtcs) | |||
| 437 | "get_vblank_timestamp == NULL\n"); | 434 | "get_vblank_timestamp == NULL\n"); |
| 438 | } | 435 | } |
| 439 | 436 | ||
| 440 | dev->vblank_disable_allowed = false; | ||
| 441 | |||
| 442 | return 0; | 437 | return 0; |
| 443 | 438 | ||
| 444 | err: | 439 | err: |
| @@ -1585,7 +1580,6 @@ void drm_vblank_post_modeset(struct drm_device *dev, unsigned int pipe) | |||
| 1585 | 1580 | ||
| 1586 | if (vblank->inmodeset) { | 1581 | if (vblank->inmodeset) { |
| 1587 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | 1582 | spin_lock_irqsave(&dev->vbl_lock, irqflags); |
| 1588 | dev->vblank_disable_allowed = true; | ||
| 1589 | drm_reset_vblank_timestamp(dev, pipe); | 1583 | drm_reset_vblank_timestamp(dev, pipe); |
| 1590 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | 1584 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); |
| 1591 | 1585 | ||
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index 21c719e8e02b..2dd820e23b0c 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c | |||
| @@ -212,13 +212,6 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags) | |||
| 212 | */ | 212 | */ |
| 213 | dev->irq_enabled = true; | 213 | dev->irq_enabled = true; |
| 214 | 214 | ||
| 215 | /* | ||
| 216 | * with vblank_disable_allowed = true, vblank interrupt will be disabled | ||
| 217 | * by drm timer once a current process gives up ownership of | ||
| 218 | * vblank event.(after drm_vblank_put function is called) | ||
| 219 | */ | ||
| 220 | dev->vblank_disable_allowed = true; | ||
| 221 | |||
| 222 | /* init kms poll for handling hpd */ | 215 | /* init kms poll for handling hpd */ |
| 223 | drm_kms_helper_poll_init(dev); | 216 | drm_kms_helper_poll_init(dev); |
| 224 | 217 | ||
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c index 44f6f262d75a..0ec1ad961e0d 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | |||
| @@ -80,7 +80,6 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) | |||
| 80 | dev_err(dev->dev, "failed to initialize vblank\n"); | 80 | dev_err(dev->dev, "failed to initialize vblank\n"); |
| 81 | goto done; | 81 | goto done; |
| 82 | } | 82 | } |
| 83 | dev->vblank_disable_allowed = true; | ||
| 84 | 83 | ||
| 85 | ret = fsl_dcu_drm_irq_init(dev); | 84 | ret = fsl_dcu_drm_irq_init(dev); |
| 86 | if (ret < 0) | 85 | if (ret < 0) |
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c index 4e1c6850520e..82b8ce418b27 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c | |||
| @@ -374,7 +374,6 @@ static int psb_driver_load(struct drm_device *dev, unsigned long flags) | |||
| 374 | 374 | ||
| 375 | drm_irq_install(dev, dev->pdev->irq); | 375 | drm_irq_install(dev, dev->pdev->irq); |
| 376 | 376 | ||
| 377 | dev->vblank_disable_allowed = true; | ||
| 378 | dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ | 377 | dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ |
| 379 | dev->driver->get_vblank_counter = psb_get_vblank_counter; | 378 | dev->driver->get_vblank_counter = psb_get_vblank_counter; |
| 380 | 379 | ||
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 5c7615041b31..15615fb9bde6 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
| @@ -476,9 +476,6 @@ static int i915_load_modeset_init(struct drm_device *dev) | |||
| 476 | 476 | ||
| 477 | intel_modeset_gem_init(dev); | 477 | intel_modeset_gem_init(dev); |
| 478 | 478 | ||
| 479 | /* Always safe in the mode setting case. */ | ||
| 480 | /* FIXME: do pre/post-mode set stuff in core KMS code */ | ||
| 481 | dev->vblank_disable_allowed = true; | ||
| 482 | if (INTEL_INFO(dev)->num_pipes == 0) | 479 | if (INTEL_INFO(dev)->num_pipes == 0) |
| 483 | return 0; | 480 | return 0; |
| 484 | 481 | ||
diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c index 2453fb1c68a7..1080019e7b17 100644 --- a/drivers/gpu/drm/imx/imx-drm-core.c +++ b/drivers/gpu/drm/imx/imx-drm-core.c | |||
| @@ -252,13 +252,6 @@ static int imx_drm_driver_load(struct drm_device *drm, unsigned long flags) | |||
| 252 | if (ret) | 252 | if (ret) |
| 253 | goto err_kms; | 253 | goto err_kms; |
| 254 | 254 | ||
| 255 | /* | ||
| 256 | * with vblank_disable_allowed = true, vblank interrupt will be | ||
| 257 | * disabled by drm timer once a current process gives up ownership | ||
| 258 | * of vblank event. (after drm_vblank_put function is called) | ||
| 259 | */ | ||
| 260 | drm->vblank_disable_allowed = true; | ||
| 261 | |||
| 262 | platform_set_drvdata(drm->platformdev, drm); | 255 | platform_set_drvdata(drm->platformdev, drm); |
| 263 | 256 | ||
| 264 | /* Now try and bind all our sub-components */ | 257 | /* Now try and bind all our sub-components */ |
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c index 1e9304d1c88f..c084cadcbf21 100644 --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c | |||
| @@ -291,7 +291,6 @@ int radeon_irq_kms_init(struct radeon_device *rdev) | |||
| 291 | if (r) { | 291 | if (r) { |
| 292 | return r; | 292 | return r; |
| 293 | } | 293 | } |
| 294 | rdev->ddev->vblank_disable_allowed = true; | ||
| 295 | 294 | ||
| 296 | /* enable msi */ | 295 | /* enable msi */ |
| 297 | rdev->msi_enabled = 0; | 296 | rdev->msi_enabled = 0; |
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index 399adf3c4224..a409d1f703cb 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c | |||
| @@ -216,13 +216,6 @@ static int rockchip_drm_load(struct drm_device *drm_dev, unsigned long flags) | |||
| 216 | if (ret) | 216 | if (ret) |
| 217 | goto err_kms_helper_poll_fini; | 217 | goto err_kms_helper_poll_fini; |
| 218 | 218 | ||
| 219 | /* | ||
| 220 | * with vblank_disable_allowed = true, vblank interrupt will be disabled | ||
| 221 | * by drm timer once a current process gives up ownership of | ||
| 222 | * vblank event.(after drm_vblank_put function is called) | ||
| 223 | */ | ||
| 224 | drm_dev->vblank_disable_allowed = true; | ||
| 225 | |||
| 226 | drm_mode_config_reset(drm_dev); | 219 | drm_mode_config_reset(drm_dev); |
| 227 | 220 | ||
| 228 | ret = rockchip_drm_fbdev_init(drm_dev); | 221 | ret = rockchip_drm_fbdev_init(drm_dev); |
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 679905544181..b59c3bf0df44 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c | |||
| @@ -180,7 +180,6 @@ static int tegra_drm_load(struct drm_device *drm, unsigned long flags) | |||
| 180 | 180 | ||
| 181 | /* syncpoints are used for full 32-bit hardware VBLANK counters */ | 181 | /* syncpoints are used for full 32-bit hardware VBLANK counters */ |
| 182 | drm->max_vblank_count = 0xffffffff; | 182 | drm->max_vblank_count = 0xffffffff; |
| 183 | drm->vblank_disable_allowed = true; | ||
| 184 | 183 | ||
| 185 | err = drm_vblank_init(drm, drm->mode_config.num_crtc); | 184 | err = drm_vblank_init(drm, drm->mode_config.num_crtc); |
| 186 | if (err < 0) | 185 | if (err < 0) |
diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c index d423ba10239a..cb37751bc99f 100644 --- a/drivers/gpu/drm/vc4/vc4_kms.c +++ b/drivers/gpu/drm/vc4/vc4_kms.c | |||
| @@ -207,8 +207,6 @@ int vc4_kms_load(struct drm_device *dev) | |||
| 207 | dev->mode_config.preferred_depth = 24; | 207 | dev->mode_config.preferred_depth = 24; |
| 208 | dev->mode_config.async_page_flip = true; | 208 | dev->mode_config.async_page_flip = true; |
| 209 | 209 | ||
| 210 | dev->vblank_disable_allowed = true; | ||
| 211 | |||
| 212 | drm_mode_config_reset(dev); | 210 | drm_mode_config_reset(dev); |
| 213 | 211 | ||
| 214 | vc4->fbdev = drm_fbdev_cma_init(dev, 32, | 212 | vc4->fbdev = drm_fbdev_cma_init(dev, 32, |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 360b2a74e1ef..84f1a8eefbdb 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
| @@ -815,14 +815,6 @@ struct drm_device { | |||
| 815 | int irq; | 815 | int irq; |
| 816 | 816 | ||
| 817 | /* | 817 | /* |
| 818 | * At load time, disabling the vblank interrupt won't be allowed since | ||
| 819 | * old clients may not call the modeset ioctl and therefore misbehave. | ||
| 820 | * Once the modeset ioctl *has* been called though, we can safely | ||
| 821 | * disable them when unused. | ||
| 822 | */ | ||
| 823 | bool vblank_disable_allowed; | ||
| 824 | |||
| 825 | /* | ||
| 826 | * If true, vblank interrupt will be disabled immediately when the | 818 | * If true, vblank interrupt will be disabled immediately when the |
| 827 | * refcount drops to zero, as opposed to via the vblank disable | 819 | * refcount drops to zero, as opposed to via the vblank disable |
| 828 | * timer. | 820 | * timer. |
