Skip to contentSkip to conversation

Deprecate struct drm_device.irq_enabled

PATCH In review Thomas Zimmermann 6 participants 36 messages Jun 25, 2021 – Aug 9, 2021

Subsystems (33)
lore
Share & tools
lore

Thomas Zimmermann

author maintainer
#0 lore raw

v4 cover Deprecate struct drm_device.irq_enabled

Remove references to struct drm_device.irq_enabled from modern DRM drivers and core.

KMS drivers enable IRQs for their devices internally. They don't have to keep track of the IRQ state via irq_enabled. For vblanking, it's cleaner to test for vblanking support directly than to test for enabled IRQs.

The first 3 patches replace uses of irq_enabled that are not required.

Patch 4 fixes vblank ioctls to actually test for vblank support instead of IRQs (for KMS drivers).

The rest of the patchset removes irq_enabled from all non-legacy drivers. The only exceptions are i915 and omapdrm, which have an internal dpendency on the field's value. For these drivers, the state gets duplicated internally.

With the patchset applied, drivers can later switch over to plain Linux IRQ interfaces and DRM's IRQ midlayer can be declared legacy.

v4:
* avoid preprocessor ifdef in drm_wait_vblank_ioctl() (Jani, Thierry)
v3:
* update armada, i915, rcar-du and vkms as well (Laurent)
* optimize drm_wait_vblank_ioctl() for KMS (Liviu)
* move imx/dcss changes into their own patch (Laurentiu)
* doc cleanups
v2:
* keep the original test for legacy drivers in drm_wait_vblank_ioctl() (Daniel)

Thomas Zimmermann (27):
drm/amdgpu: Track IRQ state in local device state drm/hibmc: Call drm_irq_uninstall() unconditionally drm/radeon: Track IRQ state in local device state
drm: Don't test for IRQ support in VBLANK ioctls drm/armada: Don't set struct drm_device.irq_enabled drm/i915: Track IRQ state in local device state drm/komeda: Don't set struct drm_device.irq_enabled drm/malidp: Don't set struct drm_device.irq_enabled drm/exynos: Don't set struct drm_device.irq_enabled drm/kirin: Don't set struct drm_device.irq_enabled drm/imx: Don't set struct drm_device.irq_enabled drm/imx/dcss: Don't set struct drm_device.irq_enabled drm/mediatek: Don't set struct drm_device.irq_enabled drm/nouveau: Don't set struct drm_device.irq_enabled drm/omapdrm: Track IRQ state in local device state drm/rcar-du: Don't set struct drm_device.irq_enabled drm/rockchip: Don't set struct drm_device.irq_enabled drm/sti: Don't set struct drm_device.irq_enabled drm/stm: Don't set struct drm_device.irq_enabled drm/sun4i: Don't set struct drm_device.irq_enabled drm/tegra: Don't set struct drm_device.irq_enabled drm/tidss: Don't use struct drm_device.irq_enabled drm/vc4: Don't set struct drm_device.irq_enabled drm/vkms: Don't set struct drm_device.irq_enabled drm/vmwgfx: Don't set struct drm_device.irq_enabled drm/xlnx: Don't set struct drm_device.irq_enabled drm/zte: Don't set struct drm_device.irq_enabled

 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c         |  6 +++---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c |  4 ----
 drivers/gpu/drm/arm/malidp_drv.c                |  4 ----
 drivers/gpu/drm/armada/armada_drv.c             |  2 --
 drivers/gpu/drm/drm_irq.c                       | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c                    | 15 ++++++++++++---
 drivers/gpu/drm/exynos/exynos_drm_drv.c         | 10 ----------
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c |  3 +--
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c |  2 --
 drivers/gpu/drm/i915/i915_drv.h                 |  2 ++
 drivers/gpu/drm/i915/i915_irq.c                 |  8 ++++----
 drivers/gpu/drm/imx/dcss/dcss-kms.c             |  3 ---
 drivers/gpu/drm/imx/imx-drm-core.c              | 11 -----------
 drivers/gpu/drm/mediatek/mtk_drm_drv.c          |  6 ------
 drivers/gpu/drm/nouveau/nouveau_drm.c           |  3 ---
 drivers/gpu/drm/omapdrm/omap_drv.h              |  2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c              |  6 +++---
 drivers/gpu/drm/radeon/radeon_fence.c           |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c         | 16 ++++++++--------
 drivers/gpu/drm/rcar-du/rcar_du_drv.c           |  2 --
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c     |  6 ------
 drivers/gpu/drm/sti/sti_compositor.c            |  2 --
 drivers/gpu/drm/stm/ltdc.c                      |  3 ---
 drivers/gpu/drm/sun4i/sun4i_drv.c               |  2 --
 drivers/gpu/drm/tegra/drm.c                     |  7 -------
 drivers/gpu/drm/tidss/tidss_irq.c               |  3 ---
 drivers/gpu/drm/vc4/vc4_kms.c                   |  1 -
 drivers/gpu/drm/vkms/vkms_drv.c                 |  2 --
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c             |  8 --------
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c             |  2 --
 drivers/gpu/drm/zte/zx_drm_drv.c                |  6 ------
 31 files changed, 40 insertions(+), 122 deletions(-)

base-commit: 8c1323b422f8473421682ba783b5949ddd89a3f4
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 --
2.32.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

author maintainer
#1 lore raw

PATCH v4 1/27 drm/amdgpu: Track IRQ state in local device state

Replace usage of struct drm_device.irq_enabled with the driver's own state field struct amdgpu_device.irq.installed. The field in the DRM device structure is considered legacy and should not be used by KMS drivers.

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c +3 -3
index 32ce0e679dc7..7dad44e73cf6 100644
@@ -599,7 +599,7 @@ void amdgpu_irq_gpu_reset_resume_helper(struct amdgpu_device *adev)
 int amdgpu_irq_get(struct amdgpu_device *adev, struct amdgpu_irq_src *src,
 		   unsigned type)
 {
-	if (!adev_to_drm(adev)->irq_enabled)
+	if (!adev->irq.installed)
 		return -ENOENT;
 
 	if (type >= src->num_types)
@@ -629,7 +629,7 @@ int amdgpu_irq_get(struct amdgpu_device *adev, struct amdgpu_irq_src *src,
 int amdgpu_irq_put(struct amdgpu_device *adev, struct amdgpu_irq_src *src,
 		   unsigned type)
 {
-	if (!adev_to_drm(adev)->irq_enabled)
+	if (!adev->irq.installed)
 		return -ENOENT;
 
 	if (type >= src->num_types)
@@ -660,7 +660,7 @@ int amdgpu_irq_put(struct amdgpu_device *adev, struct amdgpu_irq_src *src,
 bool amdgpu_irq_enabled(struct amdgpu_device *adev, struct amdgpu_irq_src *src,
 			unsigned type)
 {
-	if (!adev_to_drm(adev)->irq_enabled)
+	if (!adev->irq.installed)
 		return false;
 
 	if (type >= src->num_types)
Signature · 1 line
2.32.0
author maintainer
#2 lore raw

PATCH v4 2/27 drm/hibmc: Call drm_irq_uninstall() unconditionally

In reply to Thomas Zimmermann

Remove the check around drm_irq_uninstall(). The same test is done by the function internally. The tested state in irq_enabled is considered obsolete and should not be used by KMS drivers.

---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c +1 -2
index f4bc5386574a..f8ef711bbe5d 100644
@@ -253,8 +253,7 @@ static int hibmc_unload(struct drm_device *dev)
 {
 	drm_atomic_helper_shutdown(dev);
 
-	if (dev->irq_enabled)
-		drm_irq_uninstall(dev);
+	drm_irq_uninstall(dev);
 
 	pci_disable_msi(to_pci_dev(dev->dev));
 
Signature · 1 line
2.32.0
author maintainer
#3 lore raw

PATCH v4 3/27 drm/radeon: Track IRQ state in local device state

In reply to Thomas Zimmermann

Replace usage of struct drm_device.irq_enabled with the driver's own state field struct radeon_device.irq.installed. The field in the DRM device structure is considered legacy and should not be used by KMS drivers.

---
 drivers/gpu/drm/radeon/radeon_fence.c   |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)
drivers/gpu/drm/radeon/radeon_fence.c +1 -1
index 0d8ef2368adf..7ec581363e23 100644
@@ -288,7 +288,7 @@ static void radeon_fence_check_lockup(struct work_struct *work)
 		return;
 	}
 
-	if (fence_drv->delayed_irq && rdev->ddev->irq_enabled) {
+	if (fence_drv->delayed_irq && rdev->irq.installed) {
 		unsigned long irqflags;
 
 		fence_drv->delayed_irq = false;
drivers/gpu/drm/radeon/radeon_irq_kms.c +8 -8
index 84d0b1a3355f..a36ce826d0c0 100644
@@ -357,7 +357,7 @@ void radeon_irq_kms_sw_irq_get(struct radeon_device *rdev, int ring)
 {
 	unsigned long irqflags;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	if (atomic_inc_return(&rdev->irq.ring_int[ring]) == 1) {
@@ -396,7 +396,7 @@ void radeon_irq_kms_sw_irq_put(struct radeon_device *rdev, int ring)
 {
 	unsigned long irqflags;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	if (atomic_dec_and_test(&rdev->irq.ring_int[ring])) {
@@ -422,7 +422,7 @@ void radeon_irq_kms_pflip_irq_get(struct radeon_device *rdev, int crtc)
 	if (crtc < 0 || crtc >= rdev->num_crtc)
 		return;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	if (atomic_inc_return(&rdev->irq.pflip[crtc]) == 1) {
@@ -448,7 +448,7 @@ void radeon_irq_kms_pflip_irq_put(struct radeon_device *rdev, int crtc)
 	if (crtc < 0 || crtc >= rdev->num_crtc)
 		return;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	if (atomic_dec_and_test(&rdev->irq.pflip[crtc])) {
@@ -470,7 +470,7 @@ void radeon_irq_kms_enable_afmt(struct radeon_device *rdev, int block)
 {
 	unsigned long irqflags;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	spin_lock_irqsave(&rdev->irq.lock, irqflags);
@@ -492,7 +492,7 @@ void radeon_irq_kms_disable_afmt(struct radeon_device *rdev, int block)
 {
 	unsigned long irqflags;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	spin_lock_irqsave(&rdev->irq.lock, irqflags);
@@ -514,7 +514,7 @@ void radeon_irq_kms_enable_hpd(struct radeon_device *rdev, unsigned hpd_mask)
 	unsigned long irqflags;
 	int i;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	spin_lock_irqsave(&rdev->irq.lock, irqflags);
@@ -537,7 +537,7 @@ void radeon_irq_kms_disable_hpd(struct radeon_device *rdev, unsigned hpd_mask)
 	unsigned long irqflags;
 	int i;
 
-	if (!rdev->ddev->irq_enabled)
+	if (!rdev->irq.installed)
 		return;
 
 	spin_lock_irqsave(&rdev->irq.lock, irqflags);
Signature · 1 line
2.32.0
author maintainer
#4 lore raw

PATCH v4 4/27 drm: Don't test for IRQ support in VBLANK ioctls

In reply to Thomas Zimmermann

For KMS drivers, replace the IRQ check in VBLANK ioctls with a check for vblank support. IRQs might be enabled wthout vblanking being supported.

This change also removes the DRM framework's only dependency on IRQ state for non-legacy drivers. For legacy drivers with userspace modesetting, the original test remains in drm_wait_vblank_ioctl().

v4:
* avoid preprocessor ifdef in drm_wait_vblank_ioctl() (Jani, Thierry)
v3:
* optimize test in drm_wait_vblank_ioctl() for KMS case (Liviu)
* update docs for drm_irq_uninstall()
v2:
* keep the old test for legacy drivers in drm_wait_vblank_ioctl() (Daniel)

---
 drivers/gpu/drm/drm_irq.c    | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c | 15 ++++++++++++---
 2 files changed, 16 insertions(+), 12 deletions(-)
drivers/gpu/drm/drm_irq.c +4 -9
index c3bd664ea733..945dd82e2ea3 100644
@@ -74,10 +74,8 @@
  * only supports devices with a single interrupt on the main device stored in
  * &drm_device.dev and set as the device paramter in drm_dev_alloc().
  *
- * These IRQ helpers are strictly optional. Drivers which roll their own only
- * need to set &drm_device.irq_enabled to signal the DRM core that vblank
- * interrupts are working. Since these helpers don't automatically clean up the
- * requested interrupt like e.g. devm_request_irq() they're not really
+ * These IRQ helpers are strictly optional. Since these helpers don't automatically
+ * clean up the requested interrupt like e.g. devm_request_irq() they're not really
  * recommended.
  */
 
@@ -91,9 +89,7 @@
  * and after the installation.
  *
  * This is the simplified helper interface provided for drivers with no special
- * needs. Drivers which need to install interrupt handlers for multiple
- * interrupts must instead set &drm_device.irq_enabled to signal the DRM core
- * that vblank interrupts are available.
+ * needs.
  *
  * @irq must match the interrupt number that would be passed to request_irq(),
  * if called directly instead of using this helper function.
@@ -156,8 +152,7 @@ EXPORT_SYMBOL(drm_irq_install);
  *
  * Calls the driver's &drm_driver.irq_uninstall function and unregisters the IRQ
  * handler.  This should only be called by drivers which used drm_irq_install()
- * to set up their interrupt handler. Other drivers must only reset
- * &drm_device.irq_enabled to false.
+ * to set up their interrupt handler.
  *
  * Note that for kernel modesetting drivers it is a bug if this function fails.
  * The sanity checks are only to catch buggy user modesetting drivers which call
drivers/gpu/drm/drm_vblank.c +12 -3
index 3417e1ac7918..bba6781cc48f 100644
@@ -1737,6 +1737,15 @@ static void drm_wait_vblank_reply(struct drm_device *dev, unsigned int pipe,
 	reply->tval_usec = ts.tv_nsec / 1000;
 }
 
+static bool drm_wait_vblank_supported(struct drm_device *dev)
+{
+	if  (IS_ENABLED(CONFIG_DRM_LEGACY)) {
+		if (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
+			return dev->irq_enabled;
+	}
+	return drm_dev_has_vblank(dev);
+}
+
 int drm_wait_vblank_ioctl(struct drm_device *dev, void *data,
 			  struct drm_file *file_priv)
 {
@@ -1748,7 +1757,7 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void *data,
 	unsigned int pipe_index;
 	unsigned int flags, pipe, high_pipe;
 
-	if (!dev->irq_enabled)
+	if (!drm_wait_vblank_supported(dev))
 		return -EOPNOTSUPP;
 
 	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
@@ -2023,7 +2032,7 @@ int drm_crtc_get_sequence_ioctl(struct drm_device *dev, void *data,
 	if (!drm_core_check_feature(dev, DRIVER_MODESET))
 		return -EOPNOTSUPP;
 
-	if (!dev->irq_enabled)
+	if (!drm_dev_has_vblank(dev))
 		return -EOPNOTSUPP;
 
 	crtc = drm_crtc_find(dev, file_priv, get_seq->crtc_id);
@@ -2082,7 +2091,7 @@ int drm_crtc_queue_sequence_ioctl(struct drm_device *dev, void *data,
 	if (!drm_core_check_feature(dev, DRIVER_MODESET))
 		return -EOPNOTSUPP;
 
-	if (!dev->irq_enabled)
+	if (!drm_dev_has_vblank(dev))
 		return -EOPNOTSUPP;
 
 	crtc = drm_crtc_find(dev, file_priv, queue_seq->crtc_id);
Signature · 1 line
2.32.0
author maintainer
#5 lore raw

PATCH v4 5/27 drm/armada: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in armada.

---
 drivers/gpu/drm/armada/armada_drv.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/armada/armada_drv.c +0 -2
index dab0a1f0983b..4a64f1b9ec4d 100644
@@ -130,8 +130,6 @@ static int armada_drm_bind(struct device *dev)
 	if (ret)
 		goto err_comp;
 
-	priv->drm.irq_enabled = true;
-
 	drm_mode_config_reset(&priv->drm);
 
 	ret = armada_fbdev_init(&priv->drm);
Signature · 1 line
2.32.0
author maintainer
#6 lore raw

Re: [PATCH v4 05/27] drm/armada: Don't set struct drm_device.irq_enabled

Am 25.06.21 um 10:22 schrieb Thomas Zimmermann:

Quoted 4 lines

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in armada.

R-b'ed by Laurent via IRC

Quoted 18 lines
---
  drivers/gpu/drm/armada/armada_drv.c | 2 --
  1 file changed, 2 deletions(-)
drivers/gpu/drm/armada/armada_drv.c +0 -2
index dab0a1f0983b..4a64f1b9ec4d 100644
@@ -130,8 +130,6 @@ static int armada_drm_bind(struct device *dev)
  	if (ret)
  		goto err_comp;
 
-	priv->drm.irq_enabled = true;
-
  	drm_mode_config_reset(&priv->drm);
 
  	ret = armada_fbdev_init(&priv->drm);
Signature · 6 lines
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
author maintainer
#7 lore raw

PATCH v4 6/27 drm/i915: Track IRQ state in local device state

In reply to Thomas Zimmermann

Replace usage of struct drm_device.irq_enabled with the driver's own state field struct drm_i915_private.irq_enabled. The field in the DRM device structure is considered legacy and should not be used by KMS drivers.

---
 drivers/gpu/drm/i915/i915_drv.h | 2 ++
 drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)
drivers/gpu/drm/i915/i915_drv.h +2 -0
index 01e11fe38642..48c1835bd54b 100644
@@ -1134,6 +1134,8 @@ struct drm_i915_private {
 	/* For i915gm/i945gm vblank irq workaround */
 	u8 vblank_enabled;
 
+	bool irq_enabled;
+
 	/* perform PHY state sanity checks? */
 	bool chv_phy_assert[2];
 
drivers/gpu/drm/i915/i915_irq.c +4 -4
index a11bdb667241..987211f21761 100644
@@ -4488,14 +4488,14 @@ int intel_irq_install(struct drm_i915_private *dev_priv)
 	 */
 	dev_priv->runtime_pm.irqs_enabled = true;
 
-	dev_priv->drm.irq_enabled = true;
+	dev_priv->irq_enabled = true;
 
 	intel_irq_reset(dev_priv);
 
 	ret = request_irq(irq, intel_irq_handler(dev_priv),
 			  IRQF_SHARED, DRIVER_NAME, dev_priv);
 	if (ret < 0) {
-		dev_priv->drm.irq_enabled = false;
+		dev_priv->irq_enabled = false;
 		return ret;
 	}
 
@@ -4521,10 +4521,10 @@ void intel_irq_uninstall(struct drm_i915_private *dev_priv)
 	 * intel_modeset_driver_remove() calling us out of sequence.
 	 * Would be nice if it didn't do that...
 	 */
-	if (!dev_priv->drm.irq_enabled)
+	if (!dev_priv->irq_enabled)
 		return;
 
-	dev_priv->drm.irq_enabled = false;
+	dev_priv->irq_enabled = false;
 
 	intel_irq_reset(dev_priv);
 
Signature · 1 line
2.32.0
author maintainer
#8 lore raw

PATCH v4 7/27 drm/komeda: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in komeda.

---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/arm/display/komeda/komeda_kms.c +0 -4
index ff45f23f3d56..52a6db5707a3 100644
@@ -301,8 +301,6 @@ struct komeda_kms_dev *komeda_kms_attach(struct komeda_dev *mdev)
 	if (err)
 		goto free_component_binding;
 
-	drm->irq_enabled = true;
-
 	drm_kms_helper_poll_init(drm);
 
 	err = drm_dev_register(drm, 0);
@@ -313,7 +311,6 @@ struct komeda_kms_dev *komeda_kms_attach(struct komeda_dev *mdev)
 
 free_interrupts:
 	drm_kms_helper_poll_fini(drm);
-	drm->irq_enabled = false;
 free_component_binding:
 	component_unbind_all(mdev->dev, drm);
 cleanup_mode_config:
@@ -331,7 +328,6 @@ void komeda_kms_detach(struct komeda_kms_dev *kms)
 	drm_dev_unregister(drm);
 	drm_kms_helper_poll_fini(drm);
 	drm_atomic_helper_shutdown(drm);
-	drm->irq_enabled = false;
 	component_unbind_all(mdev->dev, drm);
 	drm_mode_config_cleanup(drm);
 	komeda_kms_cleanup_private_objs(kms);
Signature · 1 line
2.32.0
author maintainer
#9 lore raw

PATCH v4 8/27 drm/malidp: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in malidp.

---
 drivers/gpu/drm/arm/malidp_drv.c | 4 ----
 1 file changed, 4 deletions(-)
drivers/gpu/drm/arm/malidp_drv.c +0 -4
index de59f3302516..78d15b04b105 100644
@@ -847,8 +847,6 @@ static int malidp_bind(struct device *dev)
 	if (ret < 0)
 		goto irq_init_fail;
 
-	drm->irq_enabled = true;
-
 	ret = drm_vblank_init(drm, drm->mode_config.num_crtc);
 	if (ret < 0) {
 		DRM_ERROR("failed to initialise vblank\n");
@@ -874,7 +872,6 @@ static int malidp_bind(struct device *dev)
 vblank_fail:
 	malidp_se_irq_fini(hwdev);
 	malidp_de_irq_fini(hwdev);
-	drm->irq_enabled = false;
 irq_init_fail:
 	drm_atomic_helper_shutdown(drm);
 	component_unbind_all(dev, drm);
@@ -909,7 +906,6 @@ static void malidp_unbind(struct device *dev)
 	drm_atomic_helper_shutdown(drm);
 	malidp_se_irq_fini(hwdev);
 	malidp_de_irq_fini(hwdev);
-	drm->irq_enabled = false;
 	component_unbind_all(dev, drm);
 	of_node_put(malidp->crtc.port);
 	malidp->crtc.port = NULL;
Signature · 1 line
2.32.0
author maintainer
#10 lore raw

PATCH v4 9/27 drm/exynos: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in exynos.

---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 ----------
 1 file changed, 10 deletions(-)
drivers/gpu/drm/exynos/exynos_drm_drv.c +0 -10
index e60257f1f24b..d8f1cf4d6b69 100644
@@ -300,16 +300,6 @@ static int exynos_drm_bind(struct device *dev)
 
 	drm_mode_config_reset(drm);
 
-	/*
-	 * enable drm irq mode.
-	 * - with irq_enabled = true, we can use the vblank feature.
-	 *
-	 * P.S. note that we wouldn't use drm irq handler but
-	 *	just specific driver own one instead because
-	 *	drm framework supports only one irq handler.
-	 */
-	drm->irq_enabled = true;
-
 	/* init kms poll for handling hpd */
 	drm_kms_helper_poll_init(drm);
 
Signature · 1 line
2.32.0
author maintainer
#11 lore raw

PATCH v4 10/27 drm/kirin: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in kirin.

---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c +0 -2
index e590e19db657..98ae9a48f3fe 100644
@@ -185,8 +185,6 @@ static int kirin_drm_kms_init(struct drm_device *dev,
 		DRM_ERROR("failed to initialize vblank.\n");
 		goto err_unbind_all;
 	}
-	/* with irq_enabled = true, we can use the vblank feature. */
-	dev->irq_enabled = true;
 
 	/* reset all the states of crtc/plane/encoder/connector */
 	drm_mode_config_reset(dev);
Signature · 1 line
2.32.0
author maintainer
#12 lore raw

PATCH v4 11/27 drm/imx: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in imx.

v3:
* move dcss changes into separate patch (Laurentiu)

---
 drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
 1 file changed, 11 deletions(-)
drivers/gpu/drm/imx/imx-drm-core.c +0 -11
index 76819a8ac37f..9558e9e1b431 100644
@@ -207,17 +207,6 @@ static int imx_drm_bind(struct device *dev)
 	if (IS_ERR(drm))
 		return PTR_ERR(drm);
 
-	/*
-	 * enable drm irq mode.
-	 * - with irq_enabled = true, we can use the vblank feature.
-	 *
-	 * P.S. note that we wouldn't use drm irq handler but
-	 *      just specific driver own one instead because
-	 *      drm framework supports only one irq handler and
-	 *      drivers can well take care of their interrupts
-	 */
-	drm->irq_enabled = true;
-
 	/*
 	 * set max width and height as default value(4096x4096).
 	 * this value would be used to check framebuffer size limitation
Signature · 1 line
2.32.0
author maintainer
#13 lore raw

PATCH v4 12/27 drm/imx/dcss: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in dcss.

---
 drivers/gpu/drm/imx/dcss/dcss-kms.c | 3 ---
 1 file changed, 3 deletions(-)
drivers/gpu/drm/imx/dcss/dcss-kms.c +0 -3
index 37ae68a7fba5..917834b1c80e 100644
@@ -133,8 +133,6 @@ struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss)
 	if (ret)
 		goto cleanup_mode_config;
 
-	drm->irq_enabled = true;
-
 	ret = dcss_kms_bridge_connector_init(kms);
 	if (ret)
 		goto cleanup_mode_config;
@@ -178,7 +176,6 @@ void dcss_kms_detach(struct dcss_kms_dev *kms)
 	drm_kms_helper_poll_fini(drm);
 	drm_atomic_helper_shutdown(drm);
 	drm_crtc_vblank_off(&kms->crtc.base);
-	drm->irq_enabled = false;
 	drm_mode_config_cleanup(drm);
 	dcss_crtc_deinit(&kms->crtc, drm);
 	drm->dev_private = NULL;
Signature · 1 line
2.32.0
author maintainer
#14 lore raw

PATCH v4 13/27 drm/mediatek: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in mediatek.

---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)
drivers/gpu/drm/mediatek/mtk_drm_drv.c +0 -6
index b46bdb8985da..9b60bec33d3b 100644
@@ -270,12 +270,6 @@ static int mtk_drm_kms_init(struct drm_device *drm)
 		goto err_component_unbind;
 	}
 
-	/*
-	 * We don't use the drm_irq_install() helpers provided by the DRM
-	 * core, so we need to set this manually in order to allow the
-	 * DRM_IOCTL_WAIT_VBLANK to operate correctly.
-	 */
-	drm->irq_enabled = true;
 	ret = drm_vblank_init(drm, MAX_CRTC);
 	if (ret < 0)
 		goto err_component_unbind;
Signature · 1 line
2.32.0
maintainer Acked-by on v4 13/27
#15 lore raw

Re: [PATCH v4 13/27] drm/mediatek: Don't set struct drm_device.irq_enabled

Hi, Thomas:

Thomas Zimmermann <[email protected]> 於 2021年6月25日 週五 下午4:22寫道:

Quoted 4 lines

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in mediatek.

Quoted 27 lines
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)
drivers/gpu/drm/mediatek/mtk_drm_drv.c +0 -7
index b46bdb8985da..9b60bec33d3b 100644
@@ -270,12 +270,6 @@ static int mtk_drm_kms_init(struct drm_device *drm)
                goto err_component_unbind;
        }
 
-       /*
-        * We don't use the drm_irq_install() helpers provided by the DRM
-        * core, so we need to set this manually in order to allow the
-        * DRM_IOCTL_WAIT_VBLANK to operate correctly.
-        */
-       drm->irq_enabled = true;
        ret = drm_vblank_init(drm, MAX_CRTC);
        if (ret < 0)
                goto err_component_unbind;
--

2.32.0

author maintainer
#16 lore raw

PATCH v4 14/27 drm/nouveau: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in nouveau.

---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ---
 1 file changed, 3 deletions(-)
drivers/gpu/drm/nouveau/nouveau_drm.c +0 -3
index a616cf4573b8..1cb14e99a60c 100644
@@ -553,8 +553,6 @@ nouveau_drm_device_init(struct drm_device *dev)
 	if (ret)
 		goto fail_master;
 
-	dev->irq_enabled = true;
-
 	nvxx_client(&drm->client.base)->debug =
 		nvkm_dbgopt(nouveau_debug, "DRM");
 
@@ -795,7 +793,6 @@ nouveau_drm_device_remove(struct drm_device *dev)
 
 	drm_dev_unregister(dev);
 
-	dev->irq_enabled = false;
 	client = nvxx_client(&drm->client.base);
 	device = nvkm_device_find(client->device);
 
Signature · 1 line
2.32.0
author maintainer
#17 lore raw

PATCH v4 15/27 drm/omapdrm: Track IRQ state in local device state

In reply to Thomas Zimmermann

Replace usage of struct drm_device.irq_enabled with the driver's own state field struct omap_drm_device.irq_enabled. The field in the DRM device structure is considered legacy and should not be used by KMS drivers.

---
 drivers/gpu/drm/omapdrm/omap_drv.h | 2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)
drivers/gpu/drm/omapdrm/omap_drv.h +2 -0
index d6f136984da9..591d4c273f02 100644
@@ -48,6 +48,8 @@ struct omap_drm_private {
 	struct dss_device *dss;
 	struct dispc_device *dispc;
 
+	bool irq_enabled;
+
 	unsigned int num_pipes;
 	struct omap_drm_pipeline pipes[8];
 	struct omap_drm_pipeline *channels[8];
drivers/gpu/drm/omapdrm/omap_irq.c +3 -3
index 15148d4b35b5..bb6e3fc18204 100644
@@ -291,7 +291,7 @@ int omap_drm_irq_install(struct drm_device *dev)
 	if (ret < 0)
 		return ret;
 
-	dev->irq_enabled = true;
+	priv->irq_enabled = true;
 
 	return 0;
 }
@@ -300,10 +300,10 @@ void omap_drm_irq_uninstall(struct drm_device *dev)
 {
 	struct omap_drm_private *priv = dev->dev_private;
 
-	if (!dev->irq_enabled)
+	if (!priv->irq_enabled)
 		return;
 
-	dev->irq_enabled = false;
+	priv->irq_enabled = false;
 
 	dispc_free_irq(priv->dispc, dev);
 }
Signature · 1 line
2.32.0
author maintainer
#18 lore raw

PATCH v4 16/27 drm/rcar-du: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in rcar-du.

---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/rcar-du/rcar_du_drv.c +0 -2
index bfbff90588cb..e289a66594a7 100644
@@ -593,8 +593,6 @@ static int rcar_du_probe(struct platform_device *pdev)
 		goto error;
 	}
 
-	rcdu->ddev.irq_enabled = 1;
-
 	/*
 	 * Register the DRM device with the core and the connectors with
 	 * sysfs.
Signature · 1 line
2.32.0
author maintainer
#19 lore raw

PATCH v4 17/27 drm/rockchip: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in rockchip.

---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)
drivers/gpu/drm/rockchip/rockchip_drm_drv.c +0 -6
index b730b8d5d949..c8e60fd9ff24 100644
@@ -162,12 +162,6 @@ static int rockchip_drm_bind(struct device *dev)
 
 	drm_mode_config_reset(drm_dev);
 
-	/*
-	 * enable drm irq mode.
-	 * - with irq_enabled = true, we can use the vblank feature.
-	 */
-	drm_dev->irq_enabled = true;
-
 	ret = rockchip_drm_fbdev_init(drm_dev);
 	if (ret)
 		goto err_unbind_all;
Signature · 1 line
2.32.0
author maintainer
#20 lore raw

PATCH v4 18/27 drm/sti: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in sti.

---
 drivers/gpu/drm/sti/sti_compositor.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/sti/sti_compositor.c +0 -2
index 319962a2c17b..9caaf3ccfabe 100644
@@ -145,8 +145,6 @@ static int sti_compositor_bind(struct device *dev,
 	}
 
 	drm_vblank_init(drm_dev, crtc_id);
-	/* Allow usage of vblank without having to call drm_irq_install */
-	drm_dev->irq_enabled = 1;
 
 	return 0;
 }
Signature · 1 line
2.32.0
author maintainer
#21 lore raw

PATCH v4 19/27 drm/stm: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in stm.

---
 drivers/gpu/drm/stm/ltdc.c | 3 ---
 1 file changed, 3 deletions(-)
drivers/gpu/drm/stm/ltdc.c +0 -3
index 08b71248044d..e9c5a52f041a 100644
@@ -1339,9 +1339,6 @@ int ltdc_load(struct drm_device *ddev)
 		goto err;
 	}
 
-	/* Allow usage of vblank without having to call drm_irq_install */
-	ddev->irq_enabled = 1;
-
 	clk_disable_unprepare(ldev->pixel_clk);
 
 	pinctrl_pm_select_sleep_state(ddev->dev);
Signature · 1 line
2.32.0
maintainer Tested-by on v4 19/27
#22 lore raw

Re: [PATCH v4 19/27] drm/stm: Don't set struct drm_device.irq_enabled

Hello Thomas,
thanks for the patch.

Best regards

Quoted 25 lines · Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in stm.

---
  drivers/gpu/drm/stm/ltdc.c | 3 ---
  1 file changed, 3 deletions(-)
drivers/gpu/drm/stm/ltdc.c +0 -3
index 08b71248044d..e9c5a52f041a 100644
@@ -1339,9 +1339,6 @@ int ltdc_load(struct drm_device *ddev)
  		goto err;
  	}
 
-	/* Allow usage of vblank without having to call drm_irq_install */
-	ddev->irq_enabled = 1;
-
  	clk_disable_unprepare(ldev->pixel_clk);
 
  	pinctrl_pm_select_sleep_state(ddev->dev);
author maintainer
#23 lore raw

PATCH v4 20/27 drm/sun4i: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in sun4i.

---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/sun4i/sun4i_drv.c +0 -2
index af335f58bdfc..570f3af25e86 100644
@@ -97,8 +97,6 @@ static int sun4i_drv_bind(struct device *dev)
 	if (ret)
 		goto cleanup_mode_config;
 
-	drm->irq_enabled = true;
-
 	/* Remove early framebuffers (ie. simplefb) */
 	ret = drm_aperture_remove_framebuffers(false, "sun4i-drm-fb");
 	if (ret)
Signature · 1 line
2.32.0
author maintainer
#24 lore raw

PATCH v4 21/27 drm/tegra: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in tegra.

---
 drivers/gpu/drm/tegra/drm.c | 7 -------
 1 file changed, 7 deletions(-)
drivers/gpu/drm/tegra/drm.c +0 -7
index f96c237b2242..8d27c21ddf48 100644
@@ -1188,13 +1188,6 @@ static int host1x_drm_probe(struct host1x_device *dev)
 			goto device;
 	}
 
-	/*
-	 * We don't use the drm_irq_install() helpers provided by the DRM
-	 * core, so we need to set this manually in order to allow the
-	 * DRM_IOCTL_WAIT_VBLANK to operate correctly.
-	 */
-	drm->irq_enabled = true;
-
 	/* syncpoints are used for full 32-bit hardware VBLANK counters */
 	drm->max_vblank_count = 0xffffffff;
 
Signature · 1 line
2.32.0
author maintainer
#25 lore raw

PATCH v4 22/27 drm/tidss: Don't use struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't use it in tidss.

---
 drivers/gpu/drm/tidss/tidss_irq.c | 3 ---
 1 file changed, 3 deletions(-)
drivers/gpu/drm/tidss/tidss_irq.c +0 -3
index a5ec7931ef6b..2ed3e3296776 100644
@@ -57,9 +57,6 @@ irqreturn_t tidss_irq_handler(int irq, void *arg)
 	unsigned int id;
 	dispc_irq_t irqstatus;
 
-	if (WARN_ON(!ddev->irq_enabled))
-		return IRQ_NONE;
-
 	irqstatus = dispc_read_and_clear_irqstatus(tidss->dispc);
 
 	for (id = 0; id < tidss->num_crtcs; id++) {
Signature · 1 line
2.32.0
author maintainer
#26 lore raw

PATCH v4 23/27 drm/vc4: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in vc4.

---
 drivers/gpu/drm/vc4/vc4_kms.c | 1 -
 1 file changed, 1 deletion(-)
drivers/gpu/drm/vc4/vc4_kms.c +0 -1
index 6a1a9e1d72ce..f0b3e4cf5bce 100644
@@ -880,7 +880,6 @@ int vc4_kms_load(struct drm_device *dev)
 	/* Set support for vblank irq fast disable, before drm_vblank_init() */
 	dev->vblank_disable_immediate = true;
 
-	dev->irq_enabled = true;
 	ret = drm_vblank_init(dev, dev->mode_config.num_crtc);
 	if (ret < 0) {
 		dev_err(dev->dev, "failed to initialize vblank\n");
Signature · 1 line
2.32.0
author maintainer
#27 lore raw

PATCH v4 24/27 drm/vkms: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in vkms.

---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/vkms/vkms_drv.c +0 -2
index 027ffe759440..496de38ad983 100644
@@ -163,8 +163,6 @@ static int vkms_create(struct vkms_config *config)
 		goto out_devres;
 	}
 
-	vkms_device->drm.irq_enabled = true;
-
 	ret = drm_vblank_init(&vkms_device->drm, 1);
 	if (ret) {
 		DRM_ERROR("Failed to vblank\n");
Signature · 1 line
2.32.0
reviewer Reviewed-by on v4 24/27
#28 lore raw

Re: [PATCH v4 24/27] drm/vkms: Don't set struct drm_device.irq_enabled

Quoted 5 lines · Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in vkms.

I've also checked here, lgtm.

Quoted 20 lines
---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/vkms/vkms_drv.c +0 -2
index 027ffe759440..496de38ad983 100644
@@ -163,8 +163,6 @@ static int vkms_create(struct vkms_config *config)
 		goto out_devres;
 	}
 
-	vkms_device->drm.irq_enabled = true;
-
 	ret = drm_vblank_init(&vkms_device->drm, 1);
 	if (ret) {
 		DRM_ERROR("Failed to vblank\n");
Signature · 1 line
2.32.0
author maintainer
#29 lore raw

PATCH v4 25/27 drm/vmwgfx: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in vmxgfx. All usage of the field within vmwgfx can safely be removed.

---
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 8 --------
 1 file changed, 8 deletions(-)
drivers/gpu/drm/vmwgfx/vmwgfx_irq.c +0 -8
index b9a9b7ddadbd..4b82f5995452 100644
@@ -292,15 +292,11 @@ void vmw_irq_uninstall(struct drm_device *dev)
 	if (!(dev_priv->capabilities & SVGA_CAP_IRQMASK))
 		return;
 
-	if (!dev->irq_enabled)
-		return;
-
 	vmw_write(dev_priv, SVGA_REG_IRQMASK, 0);
 
 	status = vmw_irq_status_read(dev_priv);
 	vmw_irq_status_write(dev_priv, status);
 
-	dev->irq_enabled = false;
 	free_irq(dev->irq, dev);
 }
 
@@ -315,9 +311,6 @@ int vmw_irq_install(struct drm_device *dev, int irq)
 {
 	int ret;
 
-	if (dev->irq_enabled)
-		return -EBUSY;
-
 	vmw_irq_preinstall(dev);
 
 	ret = request_threaded_irq(irq, vmw_irq_handler, vmw_thread_fn,
@@ -325,7 +318,6 @@ int vmw_irq_install(struct drm_device *dev, int irq)
 	if (ret < 0)
 		return ret;
 
-	dev->irq_enabled = true;
 	dev->irq = irq;
 
 	return ret;
Signature · 1 line
2.32.0
Reviewed-by on v4 25/27
#30 lore raw

Re: [PATCH v4 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled

Quoted 10 lines · Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in vmxgfx. All usage of the field within vmwgfx can safely be removed.

Looks good.

author maintainer
#31 lore raw

PATCH v4 26/27 drm/xlnx: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in xlnx.

---
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 --
 1 file changed, 2 deletions(-)
drivers/gpu/drm/xlnx/zynqmp_dpsub.c +0 -2
index 0c1c50271a88..ac37053412a1 100644
@@ -111,8 +111,6 @@ static int zynqmp_dpsub_drm_init(struct zynqmp_dpsub *dpsub)
 	if (ret)
 		return ret;
 
-	drm->irq_enabled = 1;
-
 	drm_kms_helper_poll_init(drm);
 
 	/*
Signature · 1 line
2.32.0
author maintainer
#32 lore raw

PATCH v4 27/27 drm/zte: Don't set struct drm_device.irq_enabled

In reply to Thomas Zimmermann

The field drm_device.irq_enabled is only used by legacy drivers with userspace modesetting. Don't set it in zte.

---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)
drivers/gpu/drm/zte/zx_drm_drv.c +0 -6
index 5506336594e2..064056503ebb 100644
@@ -75,12 +75,6 @@ static int zx_drm_bind(struct device *dev)
 		goto out_unbind;
 	}
 
-	/*
-	 * We will manage irq handler on our own.  In this case, irq_enabled
-	 * need to be true for using vblank core support.
-	 */
-	drm->irq_enabled = true;
-
 	drm_mode_config_reset(drm);
 	drm_kms_helper_poll_init(drm);
 
Signature · 1 line
2.32.0
#33 lore raw

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for Deprecate struct drm_device.irq_enabled (rev2)

In reply to Thomas Zimmermann
== Series Details ==

== Series Details ==

Series: Deprecate struct drm_device.irq_enabled (rev2)
URL : https://patchwork.freedesktop.org/series/91845/
State : warning

== Summary ==

$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:312:49: error: static assertion failed: "amd_sriov_msg_vf2pf_info must be 1 KB"
+drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h:316:49: error: static assertion failed: "amd_sriov_msg_pf2vf_info must be 1 KB"
+drivers/gpu/drm/i915/display/intel_display.c:1893:21:    expected struct i915_vma *[assigned] vma
+drivers/gpu/drm/i915/display/intel_display.c:1893:21:    got void [noderef] __iomem *[assigned] iomem
+drivers/gpu/drm/i915/display/intel_display.c:1893:21: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:32:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:32:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:56:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:56:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_reset.c:1396:5: warning: context imbalance in 'intel_gt_reset_trylock' - different lock contexts for basic block
+drivers/gpu/drm/i915/gt/intel_ring_submission.c:1207:24: warning: Using plain integer as NULL pointer
+drivers/gpu/drm/i915/i915_perf.c:1434:15: warning: memset with byte count of 16777216
+drivers/gpu/drm/i915/i915_perf.c:1488:15: warning: memset with byte count of 16777216
+./include/asm-generic/bitops/find.h:112:45: warning: shift count is negative (-262080)
+./include/asm-generic/bitops/find.h:32:31: warning: shift count is negative (-262080)
+./include/linux/seqlock.h:840:24: warning: trying to copy expression type 31
+./include/linux/seqlock.h:840:24: warning: trying to copy expression type 31
+./include/linux/seqlock.h:866:16: warning: trying to copy expression type 31
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write8' - different lock contexts for basic block

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#34 lore raw

[Intel-gfx] ✓ Fi.CI.BAT: success for Deprecate struct drm_device.irq_enabled (rev2)

In reply to Thomas Zimmermann
== Series Details ==

== Series Details ==

Series: Deprecate struct drm_device.irq_enabled (rev2)
URL : https://patchwork.freedesktop.org/series/91845/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10279 -> Patchwork_20466
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/index.html

Known issues
------------

Here are the changes found in Patchwork_20466 that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@runner@aborted:
- fi-bdw-5557u: NOTRUN -> [FAIL][1] ([i915#1602] / [i915#2029])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/fi-bdw-5557u/igt@[email protected]

#### Possible fixes ####

* igt@i915_module_load@reload:
- {fi-tgl-dsi}: [DMESG-WARN][2] ([i915#1982] / [k.org#205379]) -> [PASS][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/fi-tgl-dsi/igt@[email protected]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/fi-tgl-dsi/igt@[email protected]

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029
[k.org#205379]: https://bugzilla.kernel.org/show_bug.cgi?id=205379

Participating hosts (43 -> 37)
------------------------------

Missing (6): fi-ilk-m540 fi-hsw-4200u fi-bdw-gvtdvm fi-glk-dsi fi-bsw-cyan fi-bdw-samus

Build changes
-------------

* Linux: CI_DRM_10279 -> Patchwork_20466

CI-20190529: 20190529
CI_DRM_10279: a996e82cbdc77fc789d0a385602e02f7e2478a1e @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6119: a306810ebbc8984bde38a57ef0c33eea394f4e18 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_20466: e1c155287a51ea8b770c774b9f98b77656dc2acc @ git://anongit.freedesktop.org/gfx-ci/linux

== Linux commits ==

e1c155287a51 drm/zte: Don't set struct drm_device.irq_enabled 0d788773b4a2 drm/xlnx: Don't set struct drm_device.irq_enabled 6e0450487727 drm/vmwgfx: Don't set struct drm_device.irq_enabled 1a40222c9b06 drm/vkms: Don't set struct drm_device.irq_enabled 5a68258241ce drm/vc4: Don't set struct drm_device.irq_enabled a1667c37b77a drm/tidss: Don't use struct drm_device.irq_enabled cdf717450b9f drm/tegra: Don't set struct drm_device.irq_enabled ff36999c025e drm/sun4i: Don't set struct drm_device.irq_enabled aeb6c0b29a7e drm/stm: Don't set struct drm_device.irq_enabled 07c0db48dd80 drm/sti: Don't set struct drm_device.irq_enabled 0bc658b72ff7 drm/rockchip: Don't set struct drm_device.irq_enabled 6c146315f78b drm/rcar-du: Don't set struct drm_device.irq_enabled 5192f22d62d4 drm/omapdrm: Track IRQ state in local device state 75ab41cf85ba drm/nouveau: Don't set struct drm_device.irq_enabled 3397b281d304 drm/mediatek: Don't set struct drm_device.irq_enabled e6112f1649c3 drm/imx/dcss: Don't set struct drm_device.irq_enabled 2653cbdb30bb drm/imx: Don't set struct drm_device.irq_enabled 0e30c8dbb5d4 drm/kirin: Don't set struct drm_device.irq_enabled 55f896d83228 drm/exynos: Don't set struct drm_device.irq_enabled 5aec6c6f8fc4 drm/malidp: Don't set struct drm_device.irq_enabled 99ea1463f8fb drm/komeda: Don't set struct drm_device.irq_enabled fb1312913e45 drm/i915: Track IRQ state in local device state feeaf91e136a drm/armada: Don't set struct drm_device.irq_enabled 87185ebf5f0c drm: Don't test for IRQ support in VBLANK ioctls f1fa91fa0489 drm/radeon: Track IRQ state in local device state 67cea301f9df drm/hibmc: Call drm_irq_uninstall() unconditionally 3045cc2d3cf2 drm/amdgpu: Track IRQ state in local device state

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/index.html

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#35 lore raw

[Intel-gfx] ✓ Fi.CI.IGT: success for Deprecate struct drm_device.irq_enabled (rev2)

In reply to Thomas Zimmermann
== Series Details ==

== Series Details ==

Series: Deprecate struct drm_device.irq_enabled (rev2)
URL : https://patchwork.freedesktop.org/series/91845/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10279_full -> Patchwork_20466_full
====================================================

Summary
-------

**WARNING**

Minor unknown changes coming with Patchwork_20466_full need to be verified manually.

If you think the reported changes have nothing to do with the changes introduced in Patchwork_20466_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI.

Possible new issues
-------------------

Here are the unknown changes that may have been introduced in Patchwork_20466_full:

### IGT changes ###

#### Warnings ####

* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1:
- shard-iclb: [SKIP][1] ([i915#658]) -> [SKIP][2] +1 similar issue
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb8/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb2/igt@[email protected]

Known issues
------------

Here are the changes found in Patchwork_20466_full that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@gem_create@create-massive:
- shard-snb: NOTRUN -> [DMESG-WARN][3] ([i915#3002]) +1 similar issue
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-snb6/igt@[email protected]

* igt@gem_ctx_persistence@legacy-engines-mixed-process:
- shard-snb: NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#1099]) +3 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-snb7/igt@[email protected]

* igt@gem_ctx_shared@q-in-order:
- shard-snb: NOTRUN -> [SKIP][5] ([fdo#109271]) +420 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-snb7/igt@[email protected]

* igt@gem_exec_fair@basic-deadline:
- shard-glk: [PASS][6] -> [FAIL][7] ([i915#2846])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk9/igt@[email protected]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk1/igt@[email protected]

* igt@gem_exec_fair@basic-none@vcs1:
- shard-iclb: NOTRUN -> [FAIL][8] ([i915#2842])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb4/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglb: [PASS][9] -> [FAIL][10] ([i915#2842]) +1 similar issue
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-tglb3/igt@gem_exec_fair@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-tglb2/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-glk: [PASS][11] -> [FAIL][12] ([i915#2842]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk2/igt@gem_exec_fair@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk8/igt@gem_exec_fair@[email protected]

* igt@gem_exec_reloc@basic-wide-active@vcs1:
- shard-iclb: NOTRUN -> [FAIL][13] ([i915#3633])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb4/igt@gem_exec_reloc@[email protected]

* igt@gem_mmap_gtt@big-copy:
- shard-skl: [PASS][14] -> [FAIL][15] ([i915#307])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl9/igt@[email protected]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl9/igt@[email protected]

* igt@gem_pwrite@basic-exhaustion:
- shard-snb: NOTRUN -> [WARN][16] ([i915#2658])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-snb7/igt@[email protected]

* igt@gem_userptr_blits@input-checking:
- shard-apl: NOTRUN -> [DMESG-WARN][17] ([i915#3002])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl8/igt@[email protected]

* igt@i915_module_load@reload:
- shard-skl: [PASS][18] -> [DMESG-WARN][19] ([i915#1982]) +1 similar issue
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl4/igt@[email protected]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl7/igt@[email protected]

* igt@kms_big_fb@linear-32bpp-rotate-0:
- shard-glk: [PASS][20] -> [DMESG-WARN][21] ([i915#118] / [i915#95])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk2/igt@[email protected]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk6/igt@[email protected]

* igt@kms_chamelium@dp-hpd-storm-disable:
- shard-skl: NOTRUN -> [SKIP][22] ([fdo#109271] / [fdo#111827]) +3 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl10/igt@[email protected]

* igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
- shard-snb: NOTRUN -> [SKIP][23] ([fdo#109271] / [fdo#111827]) +22 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-snb7/igt@[email protected]

* igt@kms_chamelium@vga-hpd-for-each-pipe:
- shard-glk: NOTRUN -> [SKIP][24] ([fdo#109271] / [fdo#111827]) +2 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk9/igt@[email protected]

* igt@kms_color_chamelium@pipe-a-ctm-0-75:
- shard-kbl: NOTRUN -> [SKIP][25] ([fdo#109271] / [fdo#111827]) +4 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]

* igt@kms_color_chamelium@pipe-a-ctm-limited-range:
- shard-apl: NOTRUN -> [SKIP][26] ([fdo#109271] / [fdo#111827]) +24 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl8/igt@[email protected]

* igt@kms_content_protection@atomic-dpms:
- shard-apl: NOTRUN -> [TIMEOUT][27] ([i915#1319])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl2/igt@[email protected]

* igt@kms_content_protection@srm:
- shard-kbl: NOTRUN -> [TIMEOUT][28] ([i915#1319])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]

* igt@kms_cursor_crc@pipe-d-cursor-256x256-random:
- shard-glk: NOTRUN -> [SKIP][29] ([fdo#109271]) +26 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk9/igt@[email protected]

* igt@kms_cursor_crc@pipe-d-cursor-32x32-sliding:
- shard-kbl: NOTRUN -> [SKIP][30] ([fdo#109271]) +40 similar issues
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]

* igt@kms_cursor_legacy@pipe-d-single-bo:
- shard-kbl: NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#533])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]

* igt@kms_cursor_legacy@pipe-d-torture-bo:
- shard-apl: NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#533]) +1 similar issue
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl1/igt@[email protected]

* igt@kms_fbcon_fbt@fbc-suspend:
- shard-kbl: [PASS][33] -> [INCOMPLETE][34] ([i915#155] / [i915#180] / [i915#636])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl6/igt@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl4/igt@[email protected]

* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-skl: [PASS][35] -> [FAIL][36] ([i915#2122])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl6/igt@kms_flip@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl3/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-expired-vblank@b-edp1:
- shard-skl: [PASS][37] -> [FAIL][38] ([i915#79])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl6/igt@kms_flip@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl3/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
- shard-kbl: [PASS][39] -> [DMESG-WARN][40] ([i915#180]) +6 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl6/igt@kms_flip@[email protected]
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl4/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-suspend@a-dp1:
- shard-apl: NOTRUN -> [DMESG-WARN][41] ([i915#180]) +1 similar issue
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl1/igt@kms_flip@[email protected]

* igt@kms_frontbuffer_tracking@fbc-farfromfence-mmap-gtt:
- shard-glk: [PASS][42] -> [FAIL][43] ([i915#2546])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk2/igt@[email protected]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk4/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt:
- shard-skl: NOTRUN -> [SKIP][44] ([fdo#109271]) +33 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl10/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
- shard-apl: NOTRUN -> [FAIL][45] ([fdo#108145] / [i915#265]) +4 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl8/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
- shard-apl: NOTRUN -> [FAIL][46] ([i915#265])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl2/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-kbl: NOTRUN -> [FAIL][47] ([fdo#108145] / [i915#265])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
- shard-skl: [PASS][48] -> [FAIL][49] ([fdo#108145] / [i915#265]) +1 similar issue
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl8/igt@[email protected]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl9/igt@[email protected]

* igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping:
- shard-apl: NOTRUN -> [SKIP][50] ([fdo#109271] / [i915#2733])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl2/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping.html

* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4:
- shard-apl: NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#658]) +2 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl1/igt@[email protected]

* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-1:
- shard-kbl: NOTRUN -> [SKIP][52] ([fdo#109271] / [i915#658])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]

* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2:
- shard-glk: NOTRUN -> [SKIP][53] ([fdo#109271] / [i915#658])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk9/igt@[email protected]

* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][54] -> [SKIP][55] ([fdo#109441]) +3 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb4/igt@kms_psr@psr2_primary_mmap_cpu.html

* igt@kms_setmode@clone-exclusive-crtc:
- shard-skl: NOTRUN -> [WARN][56] ([i915#2100])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl3/igt@[email protected]

* igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend:
- shard-kbl: [PASS][57] -> [INCOMPLETE][58] ([i915#155])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl1/igt@[email protected]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl4/igt@[email protected]

* igt@kms_writeback@writeback-check-output:
- shard-apl: NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#2437]) +1 similar issue
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl1/igt@[email protected]

* igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame:
- shard-apl: NOTRUN -> [SKIP][60] ([fdo#109271]) +300 similar issues
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl2/igt@[email protected]

* igt@prime_vgem@sync@bcs0:
- shard-tglb: [PASS][61] -> [INCOMPLETE][62] ([i915#409])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-tglb2/igt@prime_vgem@[email protected]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-tglb5/igt@prime_vgem@[email protected]

* igt@runner@aborted:
- shard-snb: NOTRUN -> ([FAIL][63], [FAIL][64]) ([i915#3002])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-snb6/igt@[email protected]
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-snb2/igt@[email protected]

* igt@sysfs_clients@create:
- shard-apl: NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#2994]) +4 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl8/igt@[email protected]

#### Possible fixes ####

* igt@gem_eio@kms:
- shard-glk: [INCOMPLETE][66] -> [PASS][67]
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk5/igt@[email protected]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk2/igt@[email protected]

* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-iclb: [FAIL][68] ([i915#2842]) -> [PASS][69]
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb5/igt@gem_exec_fair@[email protected]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb8/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-none-vip@rcs0:
- shard-glk: [FAIL][70] ([i915#2842]) -> [PASS][71]
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk3/igt@gem_exec_fair@[email protected]
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk5/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-iclb: [FAIL][72] ([i915#2849]) -> [PASS][73]
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb7/igt@gem_exec_fair@[email protected]
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb6/igt@gem_exec_fair@[email protected]

* igt@gem_mmap_gtt@cpuset-big-copy:
- shard-iclb: [FAIL][74] ([i915#307]) -> [PASS][75]
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb2/igt@[email protected]
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb5/igt@[email protected]

* igt@i915_suspend@sysfs-reader:
- shard-apl: [DMESG-WARN][76] ([i915#180]) -> [PASS][77]
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-apl1/igt@[email protected]
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl1/igt@[email protected]

* igt@kms_async_flips@alternate-sync-async-flip:
- shard-skl: [FAIL][78] ([i915#2521]) -> [PASS][79]
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl2/igt@[email protected]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl9/igt@[email protected]

* igt@kms_big_fb@x-tiled-32bpp-rotate-180:
- shard-glk: [DMESG-WARN][80] ([i915#118] / [i915#95]) -> [PASS][81]
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk2/igt@[email protected]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk6/igt@[email protected]

* igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1:
- shard-skl: [FAIL][82] ([i915#2122]) -> [PASS][83]
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl3/igt@kms_flip@[email protected]
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl2/igt@kms_flip@[email protected]

* igt@kms_hdr@bpc-switch-suspend:
- shard-kbl: [DMESG-WARN][84] ([i915#180]) -> [PASS][85] +1 similar issue
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl4/igt@[email protected]
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]
- shard-skl: [FAIL][86] ([i915#1188]) -> [PASS][87]
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl4/igt@[email protected]
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl1/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [FAIL][88] ([fdo#108145] / [i915#265]) -> [PASS][89]
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl4/igt@[email protected]
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl1/igt@[email protected]

* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [SKIP][90] ([fdo#109441]) -> [PASS][91] +2 similar issues
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb4/igt@kms_psr@psr2_primary_page_flip.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html

* igt@perf@polling-parameterized:
- shard-glk: [FAIL][92] ([i915#1542]) -> [PASS][93]
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-glk8/igt@[email protected]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-glk7/igt@[email protected]

#### Warnings ####

* igt@kms_dp_dsc@basic-dsc-enable-edp:
- shard-iclb: [SKIP][94] ([fdo#109349]) -> [DMESG-WARN][95] ([i915#1226])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb8/igt@[email protected]
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb2/igt@[email protected]

* igt@kms_psr2_sf@cursor-plane-update-sf:
- shard-iclb: [SKIP][96] -> [SKIP][97] ([i915#658])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-iclb2/igt@[email protected]
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-iclb4/igt@[email protected]

* igt@runner@aborted:
- shard-kbl: ([FAIL][98], [FAIL][99], [FAIL][100], [FAIL][101], [FAIL][102], [FAIL][103]) ([i915#1436] / [i915#1814] / [i915#3002] / [i915#3363]) -> ([FAIL][104], [FAIL][105], [FAIL][106], [FAIL][107], [FAIL][108], [FAIL][109], [FAIL][110], [FAIL][111], [FAIL][112], [FAIL][113]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#2505] / [i915#3002] / [i915#3363] / [i915#92])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl4/igt@[email protected]
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl2/igt@[email protected]
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl4/igt@[email protected]
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl4/igt@[email protected]
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl3/igt@[email protected]
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-kbl2/igt@[email protected]
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl2/igt@[email protected]
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl2/igt@[email protected]
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl1/igt@[email protected]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl1/igt@[email protected]
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl6/igt@[email protected]
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl4/igt@[email protected]
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl4/igt@[email protected]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl4/igt@[email protected]
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl3/igt@[email protected]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-kbl4/igt@[email protected]
- shard-apl: ([FAIL][114], [FAIL][115], [FAIL][116]) ([i915#180] / [i915#1814] / [i915#3002] / [i915#3363]) -> ([FAIL][117], [FAIL][118], [FAIL][119]) ([i915#180] / [i915#3002] / [i915#3363])
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-apl1/igt@[email protected]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-apl3/igt@[email protected]
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-apl1/igt@[email protected]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl1/igt@[email protected]
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl8/igt@[email protected]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-apl2/igt@[email protected]
- shard-tglb: ([FAIL][120], [FAIL][121]) ([i915#3002]) -> ([FAIL][122], [FAIL][123], [FAIL][124]) ([i915#2426] / [i915#3002] / [i915#3690] / [i915#409])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-tglb7/igt@[email protected]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-tglb5/igt@[email protected]
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-tglb5/igt@[email protected]
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-tglb5/igt@[email protected]
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-tglb3/igt@[email protected]
- shard-skl: ([FAIL][125], [FAIL][126], [FAIL][127]) ([i915#1814] / [i915#2029] / [i915#3002] / [i915#3363]) -> ([FAIL][128], [FAIL][129]) ([i915#1814] / [i915#3002] / [i915#3363])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl10/igt@[email protected]
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl3/igt@[email protected]
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10279/shard-skl10/igt@[email protected]
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl8/igt@[email protected]
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/shard-skl3/igt@[email protected]

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226
[i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
[i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
[i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
[i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029
[i915#2100]: https://gitlab.freedesktop.org/drm/intel/issues/2100
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2505]: https://gitlab.freedesktop.org/drm/intel/issues/2505
[i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
[i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2733]: https://gitlab.freedesktop.org/drm/intel/issues/2733
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#307]: https://gitlab.freedesktop.org/drm/intel/issues/307
[i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
[i915#3633]: https://gitlab.freedesktop.org/drm/intel/issues/3633
[i915#3690]: https://gitlab.freedesktop.org/drm/intel/issues/3690
[i915#409]: https://gitlab.freedesktop.org/drm/intel/issues/409
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#636]: https://gitlab.freedesktop.org/drm/intel/issues/636
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95

Participating hosts (10 -> 10)
------------------------------

No changes in participating hosts

Build changes
-------------

* Linux: CI_DRM_10279 -> Patchwork_20466

CI-20190529: 20190529
CI_DRM_10279: a996e82cbdc77fc789d0a385602e02f7e2478a1e @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6119: a306810ebbc8984bde38a57ef0c33eea394f4e18 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_20466: e1c155287a51ea8b770c774b9f98b77656dc2acc @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20466/index.html

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx