All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-24  7:28 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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.

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                    | 16 ++++++++++++----
 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(+), 123 deletions(-)


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


^ permalink raw reply	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-24  7:28 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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.

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                    | 16 ++++++++++++----
 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(+), 123 deletions(-)


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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-24  7:28 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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.

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                    | 16 ++++++++++++----
 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(+), 123 deletions(-)


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


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-24  7:28 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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.

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                    | 16 ++++++++++++----
 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(+), 123 deletions(-)


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


^ permalink raw reply	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-24  7:28 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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.

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                    | 16 ++++++++++++----
 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(+), 123 deletions(-)


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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled
@ 2021-06-24  7:28 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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.

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                    | 16 ++++++++++++----
 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(+), 123 deletions(-)


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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 32ce0e679dc7..7dad44e73cf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -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)
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 32ce0e679dc7..7dad44e73cf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -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)
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 32ce0e679dc7..7dad44e73cf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -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)
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 32ce0e679dc7..7dad44e73cf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -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)
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 32ce0e679dc7..7dad44e73cf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -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)
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 32ce0e679dc7..7dad44e73cf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -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)
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index f4bc5386574a..f8ef711bbe5d 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -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));
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index f4bc5386574a..f8ef711bbe5d 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -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));
 
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index f4bc5386574a..f8ef711bbe5d 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -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));
 
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index f4bc5386574a..f8ef711bbe5d 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -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));
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index f4bc5386574a..f8ef711bbe5d 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -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));
 
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index f4bc5386574a..f8ef711bbe5d 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -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));
 
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/radeon/radeon_fence.c   |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 0d8ef2368adf..7ec581363e23 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -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;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 84d0b1a3355f..a36ce826d0c0 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/radeon/radeon_fence.c   |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 0d8ef2368adf..7ec581363e23 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -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;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 84d0b1a3355f..a36ce826d0c0 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -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);
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/radeon/radeon_fence.c   |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 0d8ef2368adf..7ec581363e23 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -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;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 84d0b1a3355f..a36ce826d0c0 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -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);
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/radeon/radeon_fence.c   |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 0d8ef2368adf..7ec581363e23 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -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;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 84d0b1a3355f..a36ce826d0c0 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/radeon/radeon_fence.c   |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 0d8ef2368adf..7ec581363e23 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -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;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 84d0b1a3355f..a36ce826d0c0 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -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);
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/radeon/radeon_fence.c   |  2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 0d8ef2368adf..7ec581363e23 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -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;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 84d0b1a3355f..a36ce826d0c0 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -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);
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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().

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_irq.c    | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index c3bd664ea733..945dd82e2ea3 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -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
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 3417e1ac7918..10fe16bafcb6 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1748,8 +1748,16 @@ 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)
-		return -EOPNOTSUPP;
+#if defined(CONFIG_DRM_LEGACY)
+	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
+		if (!dev->irq_enabled)
+			return -EOPNOTSUPP;
+	} else /* if DRIVER_MODESET */
+#endif
+	{
+		if (!drm_dev_has_vblank(dev))
+			return -EOPNOTSUPP;
+	}
 
 	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
 		return -EINVAL;
@@ -2023,7 +2031,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 +2090,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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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().

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_irq.c    | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index c3bd664ea733..945dd82e2ea3 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -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
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 3417e1ac7918..10fe16bafcb6 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1748,8 +1748,16 @@ 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)
-		return -EOPNOTSUPP;
+#if defined(CONFIG_DRM_LEGACY)
+	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
+		if (!dev->irq_enabled)
+			return -EOPNOTSUPP;
+	} else /* if DRIVER_MODESET */
+#endif
+	{
+		if (!drm_dev_has_vblank(dev))
+			return -EOPNOTSUPP;
+	}
 
 	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
 		return -EINVAL;
@@ -2023,7 +2031,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 +2090,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);
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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().

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_irq.c    | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index c3bd664ea733..945dd82e2ea3 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -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
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 3417e1ac7918..10fe16bafcb6 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1748,8 +1748,16 @@ 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)
-		return -EOPNOTSUPP;
+#if defined(CONFIG_DRM_LEGACY)
+	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
+		if (!dev->irq_enabled)
+			return -EOPNOTSUPP;
+	} else /* if DRIVER_MODESET */
+#endif
+	{
+		if (!drm_dev_has_vblank(dev))
+			return -EOPNOTSUPP;
+	}
 
 	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
 		return -EINVAL;
@@ -2023,7 +2031,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 +2090,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);
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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().

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_irq.c    | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index c3bd664ea733..945dd82e2ea3 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -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
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 3417e1ac7918..10fe16bafcb6 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1748,8 +1748,16 @@ 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)
-		return -EOPNOTSUPP;
+#if defined(CONFIG_DRM_LEGACY)
+	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
+		if (!dev->irq_enabled)
+			return -EOPNOTSUPP;
+	} else /* if DRIVER_MODESET */
+#endif
+	{
+		if (!drm_dev_has_vblank(dev))
+			return -EOPNOTSUPP;
+	}
 
 	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
 		return -EINVAL;
@@ -2023,7 +2031,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 +2090,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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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().

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_irq.c    | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index c3bd664ea733..945dd82e2ea3 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -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
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 3417e1ac7918..10fe16bafcb6 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1748,8 +1748,16 @@ 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)
-		return -EOPNOTSUPP;
+#if defined(CONFIG_DRM_LEGACY)
+	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
+		if (!dev->irq_enabled)
+			return -EOPNOTSUPP;
+	} else /* if DRIVER_MODESET */
+#endif
+	{
+		if (!drm_dev_has_vblank(dev))
+			return -EOPNOTSUPP;
+	}
 
 	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
 		return -EINVAL;
@@ -2023,7 +2031,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 +2090,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);
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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().

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_irq.c    | 13 ++++---------
 drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index c3bd664ea733..945dd82e2ea3 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -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
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 3417e1ac7918..10fe16bafcb6 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1748,8 +1748,16 @@ 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)
-		return -EOPNOTSUPP;
+#if defined(CONFIG_DRM_LEGACY)
+	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
+		if (!dev->irq_enabled)
+			return -EOPNOTSUPP;
+	} else /* if DRIVER_MODESET */
+#endif
+	{
+		if (!drm_dev_has_vblank(dev))
+			return -EOPNOTSUPP;
+	}
 
 	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
 		return -EINVAL;
@@ -2023,7 +2031,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 +2090,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);
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/armada/armada_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index dab0a1f0983b..4a64f1b9ec4d 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/armada/armada_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index dab0a1f0983b..4a64f1b9ec4d 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -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);
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/armada/armada_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index dab0a1f0983b..4a64f1b9ec4d 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -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);
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/armada/armada_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index dab0a1f0983b..4a64f1b9ec4d 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/armada/armada_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index dab0a1f0983b..4a64f1b9ec4d 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -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);
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/armada/armada_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index dab0a1f0983b..4a64f1b9ec4d 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -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);
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, 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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/i915/i915_drv.h | 2 ++
 drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 01e11fe38642..48c1835bd54b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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];
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index a11bdb667241..987211f21761 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/i915/i915_drv.h | 2 ++
 drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 01e11fe38642..48c1835bd54b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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];
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index a11bdb667241..987211f21761 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, 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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/i915/i915_drv.h | 2 ++
 drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 01e11fe38642..48c1835bd54b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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];
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index a11bdb667241..987211f21761 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -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);
 
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/i915/i915_drv.h | 2 ++
 drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 01e11fe38642..48c1835bd54b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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];
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index a11bdb667241..987211f21761 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/i915/i915_drv.h | 2 ++
 drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 01e11fe38642..48c1835bd54b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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];
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index a11bdb667241..987211f21761 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/i915/i915_drv.h | 2 ++
 drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 01e11fe38642..48c1835bd54b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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];
 
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index a11bdb667241..987211f21761 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index ff45f23f3d56..52a6db5707a3 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index ff45f23f3d56..52a6db5707a3 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -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);
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index ff45f23f3d56..52a6db5707a3 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -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);
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index ff45f23f3d56..52a6db5707a3 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index ff45f23f3d56..52a6db5707a3 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -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);
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
index ff45f23f3d56..52a6db5707a3 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
@@ -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);
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 08/27] drm/malidp: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/malidp_drv.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index de59f3302516..78d15b04b105 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 08/27] drm/malidp: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/malidp_drv.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index de59f3302516..78d15b04b105 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -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;
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 08/27] drm/malidp: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/malidp_drv.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index de59f3302516..78d15b04b105 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -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;
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 08/27] drm/malidp: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/malidp_drv.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index de59f3302516..78d15b04b105 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 08/27] drm/malidp: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/malidp_drv.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index de59f3302516..78d15b04b105 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -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;
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 08/27] drm/malidp: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/arm/malidp_drv.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index de59f3302516..78d15b04b105 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -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;
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 09/27] drm/exynos: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index e60257f1f24b..d8f1cf4d6b69 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 09/27] drm/exynos: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index e60257f1f24b..d8f1cf4d6b69 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 09/27] drm/exynos: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index e60257f1f24b..d8f1cf4d6b69 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -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);
 
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 09/27] drm/exynos: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index e60257f1f24b..d8f1cf4d6b69 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 09/27] drm/exynos: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index e60257f1f24b..d8f1cf4d6b69 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 09/27] drm/exynos: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index e60257f1f24b..d8f1cf4d6b69 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 10/27] drm/kirin: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:28   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index e590e19db657..98ae9a48f3fe 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 10/27] drm/kirin: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index e590e19db657..98ae9a48f3fe 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -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);
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 10/27] drm/kirin: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index e590e19db657..98ae9a48f3fe 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -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);
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 10/27] drm/kirin: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index e590e19db657..98ae9a48f3fe 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 10/27] drm/kirin: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index e590e19db657..98ae9a48f3fe 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -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);
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 10/27] drm/kirin: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:28   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:28 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index e590e19db657..98ae9a48f3fe 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -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);
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 76819a8ac37f..9558e9e1b431 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -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
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 76819a8ac37f..9558e9e1b431 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -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
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 76819a8ac37f..9558e9e1b431 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -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
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 76819a8ac37f..9558e9e1b431 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -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
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 76819a8ac37f..9558e9e1b431 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -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
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 76819a8ac37f..9558e9e1b431 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -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
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 12/27] drm/imx/dcss: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/dcss/dcss-kms.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
index 37ae68a7fba5..917834b1c80e 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-kms.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 12/27] drm/imx/dcss: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/dcss/dcss-kms.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
index 37ae68a7fba5..917834b1c80e 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-kms.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c
@@ -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;
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 12/27] drm/imx/dcss: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/dcss/dcss-kms.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
index 37ae68a7fba5..917834b1c80e 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-kms.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c
@@ -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;
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 12/27] drm/imx/dcss: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/dcss/dcss-kms.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
index 37ae68a7fba5..917834b1c80e 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-kms.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 12/27] drm/imx/dcss: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/dcss/dcss-kms.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
index 37ae68a7fba5..917834b1c80e 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-kms.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c
@@ -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;
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 12/27] drm/imx/dcss: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/imx/dcss/dcss-kms.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-kms.c b/drivers/gpu/drm/imx/dcss/dcss-kms.c
index 37ae68a7fba5..917834b1c80e 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-kms.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-kms.c
@@ -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;
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 13/27] drm/mediatek: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index b46bdb8985da..9b60bec33d3b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -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


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 13/27] drm/mediatek: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index b46bdb8985da..9b60bec33d3b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 13/27] drm/mediatek: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index b46bdb8985da..9b60bec33d3b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -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


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 13/27] drm/mediatek: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index b46bdb8985da..9b60bec33d3b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -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


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 13/27] drm/mediatek: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index b46bdb8985da..9b60bec33d3b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 13/27] drm/mediatek: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index b46bdb8985da..9b60bec33d3b 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 14/27] drm/nouveau: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index a616cf4573b8..1cb14e99a60c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 14/27] drm/nouveau: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index a616cf4573b8..1cb14e99a60c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 14/27] drm/nouveau: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index a616cf4573b8..1cb14e99a60c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -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);
 
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 14/27] drm/nouveau: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index a616cf4573b8..1cb14e99a60c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 14/27] drm/nouveau: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index a616cf4573b8..1cb14e99a60c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 14/27] drm/nouveau: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index a616cf4573b8..1cb14e99a60c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/omapdrm/omap_drv.h | 2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index d6f136984da9..591d4c273f02 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -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];
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
index 15148d4b35b5..bb6e3fc18204 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.c
+++ b/drivers/gpu/drm/omapdrm/omap_irq.c
@@ -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);
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/omapdrm/omap_drv.h | 2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index d6f136984da9..591d4c273f02 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -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];
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
index 15148d4b35b5..bb6e3fc18204 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.c
+++ b/drivers/gpu/drm/omapdrm/omap_irq.c
@@ -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);
 }
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/omapdrm/omap_drv.h | 2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index d6f136984da9..591d4c273f02 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -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];
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
index 15148d4b35b5..bb6e3fc18204 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.c
+++ b/drivers/gpu/drm/omapdrm/omap_irq.c
@@ -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);
 }
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/omapdrm/omap_drv.h | 2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index d6f136984da9..591d4c273f02 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -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];
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
index 15148d4b35b5..bb6e3fc18204 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.c
+++ b/drivers/gpu/drm/omapdrm/omap_irq.c
@@ -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);
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/omapdrm/omap_drv.h | 2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index d6f136984da9..591d4c273f02 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -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];
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
index 15148d4b35b5..bb6e3fc18204 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.c
+++ b/drivers/gpu/drm/omapdrm/omap_irq.c
@@ -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);
 }
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/omapdrm/omap_drv.h | 2 ++
 drivers/gpu/drm/omapdrm/omap_irq.c | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index d6f136984da9..591d4c273f02 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -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];
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
index 15148d4b35b5..bb6e3fc18204 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.c
+++ b/drivers/gpu/drm/omapdrm/omap_irq.c
@@ -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);
 }
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index bfbff90588cb..e289a66594a7 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -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.
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index bfbff90588cb..e289a66594a7 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -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.
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index bfbff90588cb..e289a66594a7 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -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.
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index bfbff90588cb..e289a66594a7 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -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.
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index bfbff90588cb..e289a66594a7 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -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.
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index bfbff90588cb..e289a66594a7 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -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.
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 17/27] drm/rockchip: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index b730b8d5d949..c8e60fd9ff24 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 17/27] drm/rockchip: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index b730b8d5d949..c8e60fd9ff24 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -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;
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 17/27] drm/rockchip: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index b730b8d5d949..c8e60fd9ff24 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -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;
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 17/27] drm/rockchip: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index b730b8d5d949..c8e60fd9ff24 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 17/27] drm/rockchip: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index b730b8d5d949..c8e60fd9ff24 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -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;
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 17/27] drm/rockchip: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index b730b8d5d949..c8e60fd9ff24 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -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;
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 18/27] drm/sti: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sti/sti_compositor.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c
index 319962a2c17b..9caaf3ccfabe 100644
--- a/drivers/gpu/drm/sti/sti_compositor.c
+++ b/drivers/gpu/drm/sti/sti_compositor.c
@@ -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;
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 18/27] drm/sti: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sti/sti_compositor.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c
index 319962a2c17b..9caaf3ccfabe 100644
--- a/drivers/gpu/drm/sti/sti_compositor.c
+++ b/drivers/gpu/drm/sti/sti_compositor.c
@@ -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;
 }
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 18/27] drm/sti: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sti/sti_compositor.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c
index 319962a2c17b..9caaf3ccfabe 100644
--- a/drivers/gpu/drm/sti/sti_compositor.c
+++ b/drivers/gpu/drm/sti/sti_compositor.c
@@ -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;
 }
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 18/27] drm/sti: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sti/sti_compositor.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c
index 319962a2c17b..9caaf3ccfabe 100644
--- a/drivers/gpu/drm/sti/sti_compositor.c
+++ b/drivers/gpu/drm/sti/sti_compositor.c
@@ -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;
 }
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 18/27] drm/sti: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sti/sti_compositor.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c
index 319962a2c17b..9caaf3ccfabe 100644
--- a/drivers/gpu/drm/sti/sti_compositor.c
+++ b/drivers/gpu/drm/sti/sti_compositor.c
@@ -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;
 }
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 18/27] drm/sti: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sti/sti_compositor.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c
index 319962a2c17b..9caaf3ccfabe 100644
--- a/drivers/gpu/drm/sti/sti_compositor.c
+++ b/drivers/gpu/drm/sti/sti_compositor.c
@@ -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;
 }
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 19/27] drm/stm: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/stm/ltdc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 08b71248044d..e9c5a52f041a 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 19/27] drm/stm: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/stm/ltdc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 08b71248044d..e9c5a52f041a 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -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);
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 19/27] drm/stm: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/stm/ltdc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 08b71248044d..e9c5a52f041a 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -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);
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 19/27] drm/stm: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/stm/ltdc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 08b71248044d..e9c5a52f041a 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -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);
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 19/27] drm/stm: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/stm/ltdc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 08b71248044d..e9c5a52f041a 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -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);
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 19/27] drm/stm: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/stm/ltdc.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 08b71248044d..e9c5a52f041a 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -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);
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 20/27] drm/sun4i: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index af335f58bdfc..570f3af25e86 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -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)
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 20/27] drm/sun4i: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index af335f58bdfc..570f3af25e86 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -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)
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 20/27] drm/sun4i: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index af335f58bdfc..570f3af25e86 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -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)
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 20/27] drm/sun4i: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index af335f58bdfc..570f3af25e86 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -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)
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 20/27] drm/sun4i: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index af335f58bdfc..570f3af25e86 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -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)
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 20/27] drm/sun4i: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/sun4i/sun4i_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index af335f58bdfc..570f3af25e86 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -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)
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tegra/drm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index f96c237b2242..8d27c21ddf48 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -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;
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tegra/drm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index f96c237b2242..8d27c21ddf48 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -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;
 
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tegra/drm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index f96c237b2242..8d27c21ddf48 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -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;
 
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tegra/drm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index f96c237b2242..8d27c21ddf48 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -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;
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tegra/drm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index f96c237b2242..8d27c21ddf48 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -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;
 
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tegra/drm.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index f96c237b2242..8d27c21ddf48 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -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;
 
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 22/27] drm/tidss: Don't use struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tidss/tidss_irq.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/tidss/tidss_irq.c b/drivers/gpu/drm/tidss/tidss_irq.c
index a5ec7931ef6b..2ed3e3296776 100644
--- a/drivers/gpu/drm/tidss/tidss_irq.c
+++ b/drivers/gpu/drm/tidss/tidss_irq.c
@@ -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++) {
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 22/27] drm/tidss: Don't use struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tidss/tidss_irq.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/tidss/tidss_irq.c b/drivers/gpu/drm/tidss/tidss_irq.c
index a5ec7931ef6b..2ed3e3296776 100644
--- a/drivers/gpu/drm/tidss/tidss_irq.c
+++ b/drivers/gpu/drm/tidss/tidss_irq.c
@@ -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++) {
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 22/27] drm/tidss: Don't use struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tidss/tidss_irq.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/tidss/tidss_irq.c b/drivers/gpu/drm/tidss/tidss_irq.c
index a5ec7931ef6b..2ed3e3296776 100644
--- a/drivers/gpu/drm/tidss/tidss_irq.c
+++ b/drivers/gpu/drm/tidss/tidss_irq.c
@@ -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++) {
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 22/27] drm/tidss: Don't use struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tidss/tidss_irq.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/tidss/tidss_irq.c b/drivers/gpu/drm/tidss/tidss_irq.c
index a5ec7931ef6b..2ed3e3296776 100644
--- a/drivers/gpu/drm/tidss/tidss_irq.c
+++ b/drivers/gpu/drm/tidss/tidss_irq.c
@@ -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++) {
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 22/27] drm/tidss: Don't use struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tidss/tidss_irq.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/tidss/tidss_irq.c b/drivers/gpu/drm/tidss/tidss_irq.c
index a5ec7931ef6b..2ed3e3296776 100644
--- a/drivers/gpu/drm/tidss/tidss_irq.c
+++ b/drivers/gpu/drm/tidss/tidss_irq.c
@@ -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++) {
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 22/27] drm/tidss: Don't use struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/tidss/tidss_irq.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/tidss/tidss_irq.c b/drivers/gpu/drm/tidss/tidss_irq.c
index a5ec7931ef6b..2ed3e3296776 100644
--- a/drivers/gpu/drm/tidss/tidss_irq.c
+++ b/drivers/gpu/drm/tidss/tidss_irq.c
@@ -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++) {
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 23/27] drm/vc4: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
index 6a1a9e1d72ce..f0b3e4cf5bce 100644
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -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");
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 23/27] drm/vc4: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
index 6a1a9e1d72ce..f0b3e4cf5bce 100644
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -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");
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 23/27] drm/vc4: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
index 6a1a9e1d72ce..f0b3e4cf5bce 100644
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -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");
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 23/27] drm/vc4: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
index 6a1a9e1d72ce..f0b3e4cf5bce 100644
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -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");
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 23/27] drm/vc4: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
index 6a1a9e1d72ce..f0b3e4cf5bce 100644
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -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");
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 23/27] drm/vc4: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
index 6a1a9e1d72ce..f0b3e4cf5bce 100644
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -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");
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index 027ffe759440..496de38ad983 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -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");
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index 027ffe759440..496de38ad983 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -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");
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index 027ffe759440..496de38ad983 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -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");
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index 027ffe759440..496de38ad983 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -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");
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index 027ffe759440..496de38ad983 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -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");
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index 027ffe759440..496de38ad983 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -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");
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
index b9a9b7ddadbd..4b82f5995452 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
index b9a9b7ddadbd..4b82f5995452 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
@@ -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;
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
index b9a9b7ddadbd..4b82f5995452 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
@@ -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;
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
index b9a9b7ddadbd..4b82f5995452 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
@@ -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;
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
index b9a9b7ddadbd..4b82f5995452 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
@@ -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;
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 25/27] drm/vmwgfx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_irq.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
index b9a9b7ddadbd..4b82f5995452 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
@@ -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;
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 26/27] drm/xlnx: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 0c1c50271a88..ac37053412a1 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -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);
 
 	/*
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 26/27] drm/xlnx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 0c1c50271a88..ac37053412a1 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -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);
 
 	/*
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 26/27] drm/xlnx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 0c1c50271a88..ac37053412a1 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -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);
 
 	/*
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 26/27] drm/xlnx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 0c1c50271a88..ac37053412a1 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -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);
 
 	/*
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 26/27] drm/xlnx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 0c1c50271a88..ac37053412a1 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -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);
 
 	/*
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 26/27] drm/xlnx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
index 0c1c50271a88..ac37053412a1 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dpsub.c
@@ -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);
 
 	/*
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 27/27] drm/zte: Don't set struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                     ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  7:29   ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 5506336594e2..064056503ebb 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Nouveau] [PATCH v3 27/27] drm/zte: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 5506336594e2..064056503ebb 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 27/27] drm/zte: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 5506336594e2..064056503ebb 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -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);
 
-- 
2.32.0


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 27/27] drm/zte: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 5506336594e2..064056503ebb 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -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);
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] [PATCH v3 27/27] drm/zte: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 5506336594e2..064056503ebb 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [PATCH v3 27/27] drm/zte: Don't set struct drm_device.irq_enabled
@ 2021-06-24  7:29   ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  7:29 UTC (permalink / raw)
  To: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

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

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/zte/zx_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c
index 5506336594e2..064056503ebb 100644
--- a/drivers/gpu/drm/zte/zx_drm_drv.c
+++ b/drivers/gpu/drm/zte/zx_drm_drv.c
@@ -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);
 
-- 
2.32.0

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 260+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Deprecate struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                   ` (31 preceding siblings ...)
  (?)
@ 2021-06-24  7:51 ` Patchwork
  -1 siblings, 0 replies; 260+ messages in thread
From: Patchwork @ 2021-06-24  7:51 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: intel-gfx

== Series Details ==

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

== Summary ==

$ dim checkpatch origin/drm-tip
7e81b48893e1 drm/amdgpu: Track IRQ state in local device state
5a2f7ec2c996 drm/hibmc: Call drm_irq_uninstall() unconditionally
d0d52ba63904 drm/radeon: Track IRQ state in local device state
0f1cc7795ded drm: Don't test for IRQ support in VBLANK ioctls
-:76: CHECK:BRACES: Unbalanced braces around else statement
#76: FILE: drivers/gpu/drm/drm_vblank.c:1755:
+	} else /* if DRIVER_MODESET */

total: 0 errors, 0 warnings, 1 checks, 65 lines checked
ae9d335be636 drm/armada: Don't set struct drm_device.irq_enabled
d612b0fe70b3 drm/i915: Track IRQ state in local device state
5c2c66c6eab0 drm/komeda: Don't set struct drm_device.irq_enabled
e95bfbbca4c8 drm/malidp: Don't set struct drm_device.irq_enabled
dc686169f377 drm/exynos: Don't set struct drm_device.irq_enabled
3c52f688ee13 drm/kirin: Don't set struct drm_device.irq_enabled
cbaab88d0e2f drm/imx: Don't set struct drm_device.irq_enabled
4a88efe9db38 drm/imx/dcss: Don't set struct drm_device.irq_enabled
64f52f7b8a3e drm/mediatek: Don't set struct drm_device.irq_enabled
7b4f8ee0acba drm/nouveau: Don't set struct drm_device.irq_enabled
72d4c49bb4dc drm/omapdrm: Track IRQ state in local device state
7af8e5991a16 drm/rcar-du: Don't set struct drm_device.irq_enabled
c0c1d7a37c87 drm/rockchip: Don't set struct drm_device.irq_enabled
3a205c191fa2 drm/sti: Don't set struct drm_device.irq_enabled
8871c398118c drm/stm: Don't set struct drm_device.irq_enabled
9301579c5ef1 drm/sun4i: Don't set struct drm_device.irq_enabled
1c8a70ef5545 drm/tegra: Don't set struct drm_device.irq_enabled
46ddcc26dbc7 drm/tidss: Don't use struct drm_device.irq_enabled
e24755e0074a drm/vc4: Don't set struct drm_device.irq_enabled
e4c301b14b3a drm/vkms: Don't set struct drm_device.irq_enabled
fcfbcb2e09b0 drm/vmwgfx: Don't set struct drm_device.irq_enabled
6373373903c7 drm/xlnx: Don't set struct drm_device.irq_enabled
d42ce5ef965c drm/zte: Don't set struct drm_device.irq_enabled


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Deprecate struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                   ` (32 preceding siblings ...)
  (?)
@ 2021-06-24  7:52 ` Patchwork
  -1 siblings, 0 replies; 260+ messages in thread
From: Patchwork @ 2021-06-24  7:52 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: intel-gfx

== Series Details ==

Series: Deprecate struct drm_device.irq_enabled
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/gem/i915_gem_ttm.c:733:38: warning: symbol 'i915_gem_ttm_obj_ops' was not declared. Should it be static?
+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
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
                       ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  8:06     ` Jani Nikula
  -1 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:06 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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().
>
> 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)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>  drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>  2 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index c3bd664ea733..945dd82e2ea3 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -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
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 3417e1ac7918..10fe16bafcb6 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -1748,8 +1748,16 @@ 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)
> -		return -EOPNOTSUPP;
> +#if defined(CONFIG_DRM_LEGACY)
> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> +		if (!dev->irq_enabled)
> +			return -EOPNOTSUPP;
> +	} else /* if DRIVER_MODESET */
> +#endif
> +	{
> +		if (!drm_dev_has_vblank(dev))
> +			return -EOPNOTSUPP;
> +	}

Sheesh I hate this kind of inline #ifdefs.

Two alternate suggestions that I believe should be as just efficient:

1) The more verbose:

#if defined(CONFIG_DRM_LEGACY)
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}
#else
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	return drm_dev_has_vblank(dev);
}
#endif

2) The more compact:

static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}

Then, in drm_wait_vblank_ioctl().

	if (!drm_wait_vblank_supported(dev))
		return -EOPNOTSUPP;

The compiler should do the right thing without any explicit inline
keywords etc.

BR,
Jani.

>  
>  	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>  		return -EINVAL;
> @@ -2023,7 +2031,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 +2090,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);

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:06     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:06 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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().
>
> 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)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>  drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>  2 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index c3bd664ea733..945dd82e2ea3 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -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
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 3417e1ac7918..10fe16bafcb6 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -1748,8 +1748,16 @@ 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)
> -		return -EOPNOTSUPP;
> +#if defined(CONFIG_DRM_LEGACY)
> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> +		if (!dev->irq_enabled)
> +			return -EOPNOTSUPP;
> +	} else /* if DRIVER_MODESET */
> +#endif
> +	{
> +		if (!drm_dev_has_vblank(dev))
> +			return -EOPNOTSUPP;
> +	}

Sheesh I hate this kind of inline #ifdefs.

Two alternate suggestions that I believe should be as just efficient:

1) The more verbose:

#if defined(CONFIG_DRM_LEGACY)
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}
#else
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	return drm_dev_has_vblank(dev);
}
#endif

2) The more compact:

static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}

Then, in drm_wait_vblank_ioctl().

	if (!drm_wait_vblank_supported(dev))
		return -EOPNOTSUPP;

The compiler should do the right thing without any explicit inline
keywords etc.

BR,
Jani.

>  
>  	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>  		return -EINVAL;
> @@ -2023,7 +2031,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 +2090,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);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:06     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:06 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann,
	Daniel Vetter

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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().
>
> 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)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>  drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>  2 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index c3bd664ea733..945dd82e2ea3 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -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
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 3417e1ac7918..10fe16bafcb6 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -1748,8 +1748,16 @@ 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)
> -		return -EOPNOTSUPP;
> +#if defined(CONFIG_DRM_LEGACY)
> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> +		if (!dev->irq_enabled)
> +			return -EOPNOTSUPP;
> +	} else /* if DRIVER_MODESET */
> +#endif
> +	{
> +		if (!drm_dev_has_vblank(dev))
> +			return -EOPNOTSUPP;
> +	}

Sheesh I hate this kind of inline #ifdefs.

Two alternate suggestions that I believe should be as just efficient:

1) The more verbose:

#if defined(CONFIG_DRM_LEGACY)
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}
#else
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	return drm_dev_has_vblank(dev);
}
#endif

2) The more compact:

static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}

Then, in drm_wait_vblank_ioctl().

	if (!drm_wait_vblank_supported(dev))
		return -EOPNOTSUPP;

The compiler should do the right thing without any explicit inline
keywords etc.

BR,
Jani.

>  
>  	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>  		return -EINVAL;
> @@ -2023,7 +2031,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 +2090,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);

-- 
Jani Nikula, Intel Open Source Graphics Center

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:06     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:06 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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().
>
> 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)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>  drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>  2 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index c3bd664ea733..945dd82e2ea3 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -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
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 3417e1ac7918..10fe16bafcb6 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -1748,8 +1748,16 @@ 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)
> -		return -EOPNOTSUPP;
> +#if defined(CONFIG_DRM_LEGACY)
> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> +		if (!dev->irq_enabled)
> +			return -EOPNOTSUPP;
> +	} else /* if DRIVER_MODESET */
> +#endif
> +	{
> +		if (!drm_dev_has_vblank(dev))
> +			return -EOPNOTSUPP;
> +	}

Sheesh I hate this kind of inline #ifdefs.

Two alternate suggestions that I believe should be as just efficient:

1) The more verbose:

#if defined(CONFIG_DRM_LEGACY)
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}
#else
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	return drm_dev_has_vblank(dev);
}
#endif

2) The more compact:

static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}

Then, in drm_wait_vblank_ioctl().

	if (!drm_wait_vblank_supported(dev))
		return -EOPNOTSUPP;

The compiler should do the right thing without any explicit inline
keywords etc.

BR,
Jani.

>  
>  	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>  		return -EINVAL;
> @@ -2023,7 +2031,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 +2090,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);

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:06     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:06 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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().
>
> 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)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>  drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>  2 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index c3bd664ea733..945dd82e2ea3 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -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
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 3417e1ac7918..10fe16bafcb6 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -1748,8 +1748,16 @@ 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)
> -		return -EOPNOTSUPP;
> +#if defined(CONFIG_DRM_LEGACY)
> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> +		if (!dev->irq_enabled)
> +			return -EOPNOTSUPP;
> +	} else /* if DRIVER_MODESET */
> +#endif
> +	{
> +		if (!drm_dev_has_vblank(dev))
> +			return -EOPNOTSUPP;
> +	}

Sheesh I hate this kind of inline #ifdefs.

Two alternate suggestions that I believe should be as just efficient:

1) The more verbose:

#if defined(CONFIG_DRM_LEGACY)
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}
#else
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	return drm_dev_has_vblank(dev);
}
#endif

2) The more compact:

static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}

Then, in drm_wait_vblank_ioctl().

	if (!drm_wait_vblank_supported(dev))
		return -EOPNOTSUPP;

The compiler should do the right thing without any explicit inline
keywords etc.

BR,
Jani.

>  
>  	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>  		return -EINVAL;
> @@ -2023,7 +2031,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 +2090,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);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:06     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:06 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	Daniel Vetter, linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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().
>
> 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)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>  drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>  2 files changed, 16 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index c3bd664ea733..945dd82e2ea3 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -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
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 3417e1ac7918..10fe16bafcb6 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -1748,8 +1748,16 @@ 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)
> -		return -EOPNOTSUPP;
> +#if defined(CONFIG_DRM_LEGACY)
> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> +		if (!dev->irq_enabled)
> +			return -EOPNOTSUPP;
> +	} else /* if DRIVER_MODESET */
> +#endif
> +	{
> +		if (!drm_dev_has_vblank(dev))
> +			return -EOPNOTSUPP;
> +	}

Sheesh I hate this kind of inline #ifdefs.

Two alternate suggestions that I believe should be as just efficient:

1) The more verbose:

#if defined(CONFIG_DRM_LEGACY)
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}
#else
static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	return drm_dev_has_vblank(dev);
}
#endif

2) The more compact:

static bool drm_wait_vblank_supported(struct drm_device *dev)
{
	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
		return dev->irq_enabled;
	else
		return drm_dev_has_vblank(dev);
}

Then, in drm_wait_vblank_ioctl().

	if (!drm_wait_vblank_supported(dev))
		return -EOPNOTSUPP;

The compiler should do the right thing without any explicit inline
keywords etc.

BR,
Jani.

>  
>  	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>  		return -EINVAL;
> @@ -2023,7 +2031,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 +2090,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);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
  2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
                       ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  8:08     ` Jani Nikula
  -1 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:08 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

and ack for merging through drm-misc-next or whatever you think is best.

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 2 ++
>  drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 01e11fe38642..48c1835bd54b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -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];
>  
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index a11bdb667241..987211f21761 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -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);

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  8:08     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:08 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

and ack for merging through drm-misc-next or whatever you think is best.

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 2 ++
>  drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 01e11fe38642..48c1835bd54b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -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];
>  
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index a11bdb667241..987211f21761 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -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);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  8:08     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:08 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Thomas Zimmermann

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

and ack for merging through drm-misc-next or whatever you think is best.

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 2 ++
>  drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 01e11fe38642..48c1835bd54b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -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];
>  
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index a11bdb667241..987211f21761 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -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);

-- 
Jani Nikula, Intel Open Source Graphics Center

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  8:08     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:08 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

and ack for merging through drm-misc-next or whatever you think is best.

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 2 ++
>  drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 01e11fe38642..48c1835bd54b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -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];
>  
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index a11bdb667241..987211f21761 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -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);

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  8:08     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:08 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

and ack for merging through drm-misc-next or whatever you think is best.

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 2 ++
>  drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 01e11fe38642..48c1835bd54b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -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];
>  
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index a11bdb667241..987211f21761 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -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);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 06/27] drm/i915: Track IRQ state in local device state
@ 2021-06-24  8:08     ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:08 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Thomas Zimmermann,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> 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.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

and ack for merging through drm-misc-next or whatever you think is best.

> ---
>  drivers/gpu/drm/i915/i915_drv.h | 2 ++
>  drivers/gpu/drm/i915/i915_irq.c | 8 ++++----
>  2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 01e11fe38642..48c1835bd54b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -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];
>  
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index a11bdb667241..987211f21761 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -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);

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  8:06     ` [Nouveau] " Jani Nikula
                         ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  8:19       ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:19 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel


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

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.

I don't like them either. I guess I'll go with suggestion 2. Thanks for 
the feedback.

Best regards
Thomas

> 
> Two alternate suggestions that I believe should be as just efficient:
> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:19       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:19 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-sunxi, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 5975 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.

I don't like them either. I guess I'll go with suggestion 2. Thanks for 
the feedback.

Best regards
Thomas

> 
> Two alternate suggestions that I believe should be as just efficient:
> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:19       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:19 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 5975 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.

I don't like them either. I guess I'll go with suggestion 2. Thanks for 
the feedback.

Best regards
Thomas

> 
> Two alternate suggestions that I believe should be as just efficient:
> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:19       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:19 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


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

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.

I don't like them either. I guess I'll go with suggestion 2. Thanks for 
the feedback.

Best regards
Thomas

> 
> Two alternate suggestions that I believe should be as just efficient:
> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:19       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:19 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 5975 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.

I don't like them either. I guess I'll go with suggestion 2. Thanks for 
the feedback.

Best regards
Thomas

> 
> Two alternate suggestions that I believe should be as just efficient:
> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:19       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:19 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 5975 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.

I don't like them either. I guess I'll go with suggestion 2. Thanks for 
the feedback.

Best regards
Thomas

> 
> Two alternate suggestions that I believe should be as just efficient:
> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for Deprecate struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                   ` (33 preceding siblings ...)
  (?)
@ 2021-06-24  8:21 ` Patchwork
  -1 siblings, 0 replies; 260+ messages in thread
From: Patchwork @ 2021-06-24  8:21 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: intel-gfx


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

== Series Details ==

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

== Summary ==

CI Bug Log - changes from CI_DRM_10271 -> Patchwork_20450
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][1] ([fdo#109271]) +8 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/fi-kbl-soraka/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-bsw-nick:        NOTRUN -> [SKIP][2] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/fi-bsw-nick/igt@kms_chamelium@dp-crc-fast.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-bsw-nick:        NOTRUN -> [SKIP][3] ([fdo#109271]) +63 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/fi-bsw-nick/igt@prime_vgem@basic-fence-flip.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827


Participating hosts (41 -> 37)
------------------------------

  Missing    (4): fi-skl-guc fi-ilk-m540 fi-bsw-cyan fi-bdw-samus 


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

  * Linux: CI_DRM_10271 -> Patchwork_20450

  CI-20190529: 20190529
  CI_DRM_10271: 7a4a01d6716339c418394dbeb9a20d55bbb9a9ba @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6117: 3ba0a02404f243d6d8f232c6215163cc4b0fd699 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_20450: d42ce5ef965c1c78dfc296da3acbb342d4ac4d4b @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

d42ce5ef965c drm/zte: Don't set struct drm_device.irq_enabled
6373373903c7 drm/xlnx: Don't set struct drm_device.irq_enabled
fcfbcb2e09b0 drm/vmwgfx: Don't set struct drm_device.irq_enabled
e4c301b14b3a drm/vkms: Don't set struct drm_device.irq_enabled
e24755e0074a drm/vc4: Don't set struct drm_device.irq_enabled
46ddcc26dbc7 drm/tidss: Don't use struct drm_device.irq_enabled
1c8a70ef5545 drm/tegra: Don't set struct drm_device.irq_enabled
9301579c5ef1 drm/sun4i: Don't set struct drm_device.irq_enabled
8871c398118c drm/stm: Don't set struct drm_device.irq_enabled
3a205c191fa2 drm/sti: Don't set struct drm_device.irq_enabled
c0c1d7a37c87 drm/rockchip: Don't set struct drm_device.irq_enabled
7af8e5991a16 drm/rcar-du: Don't set struct drm_device.irq_enabled
72d4c49bb4dc drm/omapdrm: Track IRQ state in local device state
7b4f8ee0acba drm/nouveau: Don't set struct drm_device.irq_enabled
64f52f7b8a3e drm/mediatek: Don't set struct drm_device.irq_enabled
4a88efe9db38 drm/imx/dcss: Don't set struct drm_device.irq_enabled
cbaab88d0e2f drm/imx: Don't set struct drm_device.irq_enabled
3c52f688ee13 drm/kirin: Don't set struct drm_device.irq_enabled
dc686169f377 drm/exynos: Don't set struct drm_device.irq_enabled
e95bfbbca4c8 drm/malidp: Don't set struct drm_device.irq_enabled
5c2c66c6eab0 drm/komeda: Don't set struct drm_device.irq_enabled
d612b0fe70b3 drm/i915: Track IRQ state in local device state
ae9d335be636 drm/armada: Don't set struct drm_device.irq_enabled
0f1cc7795ded drm: Don't test for IRQ support in VBLANK ioctls
d0d52ba63904 drm/radeon: Track IRQ state in local device state
5a2f7ec2c996 drm/hibmc: Call drm_irq_uninstall() unconditionally
7e81b48893e1 drm/amdgpu: Track IRQ state in local device state

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 4739 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
  2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
                       ` (4 preceding siblings ...)
  (?)
@ 2021-06-24  8:25     ` Philipp Zabel
  -1 siblings, 0 replies; 260+ messages in thread
From: Philipp Zabel @ 2021-06-24  8:25 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, shawnguo,
	s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg,
	bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre,
	philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens,
	jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Daniel Vetter

On Thu, 2021-06-24 at 09:29 +0200, Thomas Zimmermann wrote:
> 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)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 76819a8ac37f..9558e9e1b431 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -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

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  8:25     ` Philipp Zabel
  0 siblings, 0 replies; 260+ messages in thread
From: Philipp Zabel @ 2021-06-24  8:25 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, shawnguo,
	s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg,
	bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre,
	philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens,
	jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Daniel Vetter

On Thu, 2021-06-24 at 09:29 +0200, Thomas Zimmermann wrote:
> 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)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 76819a8ac37f..9558e9e1b431 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -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

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  8:25     ` Philipp Zabel
  0 siblings, 0 replies; 260+ messages in thread
From: Philipp Zabel @ 2021-06-24  8:25 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, shawnguo,
	s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg,
	bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre,
	philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens,
	jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel

On Thu, 2021-06-24 at 09:29 +0200, Thomas Zimmermann wrote:
> 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)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 76819a8ac37f..9558e9e1b431 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -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

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  8:25     ` Philipp Zabel
  0 siblings, 0 replies; 260+ messages in thread
From: Philipp Zabel @ 2021-06-24  8:25 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, shawnguo,
	s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg,
	bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre,
	philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens,
	jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: amd-gfx, dri-devel, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, nouveau, linux-rockchip, linux-stm32,
	linux-sunxi, linux-tegra, intel-gfx, Daniel Vetter

On Thu, 2021-06-24 at 09:29 +0200, Thomas Zimmermann wrote:
> 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)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 76819a8ac37f..9558e9e1b431 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -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

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  8:25     ` Philipp Zabel
  0 siblings, 0 replies; 260+ messages in thread
From: Philipp Zabel @ 2021-06-24  8:25 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, shawnguo,
	s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg,
	bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre,
	philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens,
	jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 2021-06-24 at 09:29 +0200, Thomas Zimmermann wrote:
> 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)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 76819a8ac37f..9558e9e1b431 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -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

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  8:25     ` Philipp Zabel
  0 siblings, 0 replies; 260+ messages in thread
From: Philipp Zabel @ 2021-06-24  8:25 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, shawnguo,
	s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg,
	bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre,
	philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens,
	jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 2021-06-24 at 09:29 +0200, Thomas Zimmermann wrote:
> 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)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 76819a8ac37f..9558e9e1b431 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -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

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 11/27] drm/imx: Don't set struct drm_device.irq_enabled
@ 2021-06-24  8:25     ` Philipp Zabel
  0 siblings, 0 replies; 260+ messages in thread
From: Philipp Zabel @ 2021-06-24  8:25 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, shawnguo,
	s.hauer, kernel, festevam, linux-imx, chunkuang.hu, matthias.bgg,
	bskeggs, tomba, hjc, heiko, benjamin.gaignard, yannick.fertre,
	philippe.cornu, mcoquelin.stm32, alexandre.torgue, wens,
	jernej.skrabec, thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, jani.nikula, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 2021-06-24 at 09:29 +0200, Thomas Zimmermann wrote:
> 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)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/imx/imx-drm-core.c | 11 -----------
>  1 file changed, 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
> index 76819a8ac37f..9558e9e1b431 100644
> --- a/drivers/gpu/drm/imx/imx-drm-core.c
> +++ b/drivers/gpu/drm/imx/imx-drm-core.c
> @@ -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

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  8:06     ` [Nouveau] " Jani Nikula
                         ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  8:28       ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:28 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel


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

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.
> 
> Two alternate suggestions that I believe should be as just efficient:

Or how about:

static bool drm_wait_vblank_supported(struct drm_device *dev)

{

if defined(CONFIG_DRM_LEGACY)
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))

		return dev->irq_enabled;

#endif
	return drm_dev_has_vblank(dev);

}


?

It's inline, but still readable.

Best regards
Thomas

> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:28       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:28 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-sunxi, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 6187 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.
> 
> Two alternate suggestions that I believe should be as just efficient:

Or how about:

static bool drm_wait_vblank_supported(struct drm_device *dev)

{

if defined(CONFIG_DRM_LEGACY)
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))

		return dev->irq_enabled;

#endif
	return drm_dev_has_vblank(dev);

}


?

It's inline, but still readable.

Best regards
Thomas

> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:28       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:28 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 6187 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.
> 
> Two alternate suggestions that I believe should be as just efficient:

Or how about:

static bool drm_wait_vblank_supported(struct drm_device *dev)

{

if defined(CONFIG_DRM_LEGACY)
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))

		return dev->irq_enabled;

#endif
	return drm_dev_has_vblank(dev);

}


?

It's inline, but still readable.

Best regards
Thomas

> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:28       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:28 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


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

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.
> 
> Two alternate suggestions that I believe should be as just efficient:

Or how about:

static bool drm_wait_vblank_supported(struct drm_device *dev)

{

if defined(CONFIG_DRM_LEGACY)
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))

		return dev->irq_enabled;

#endif
	return drm_dev_has_vblank(dev);

}


?

It's inline, but still readable.

Best regards
Thomas

> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:28       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:28 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 6187 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.
> 
> Two alternate suggestions that I believe should be as just efficient:

Or how about:

static bool drm_wait_vblank_supported(struct drm_device *dev)

{

if defined(CONFIG_DRM_LEGACY)
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))

		return dev->irq_enabled;

#endif
	return drm_dev_has_vblank(dev);

}


?

It's inline, but still readable.

Best regards
Thomas

> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:28       ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  8:28 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 6187 bytes --]

Hi

Am 24.06.21 um 10:06 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> 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().
>>
>> 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)
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>>   drivers/gpu/drm/drm_irq.c    | 13 ++++---------
>>   drivers/gpu/drm/drm_vblank.c | 16 ++++++++++++----
>>   2 files changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index c3bd664ea733..945dd82e2ea3 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -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
>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> index 3417e1ac7918..10fe16bafcb6 100644
>> --- a/drivers/gpu/drm/drm_vblank.c
>> +++ b/drivers/gpu/drm/drm_vblank.c
>> @@ -1748,8 +1748,16 @@ 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)
>> -		return -EOPNOTSUPP;
>> +#if defined(CONFIG_DRM_LEGACY)
>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> +		if (!dev->irq_enabled)
>> +			return -EOPNOTSUPP;
>> +	} else /* if DRIVER_MODESET */
>> +#endif
>> +	{
>> +		if (!drm_dev_has_vblank(dev))
>> +			return -EOPNOTSUPP;
>> +	}
> 
> Sheesh I hate this kind of inline #ifdefs.
> 
> Two alternate suggestions that I believe should be as just efficient:

Or how about:

static bool drm_wait_vblank_supported(struct drm_device *dev)

{

if defined(CONFIG_DRM_LEGACY)
	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))

		return dev->irq_enabled;

#endif
	return drm_dev_has_vblank(dev);

}


?

It's inline, but still readable.

Best regards
Thomas

> 
> 1) The more verbose:
> 
> #if defined(CONFIG_DRM_LEGACY)
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> #else
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	return drm_dev_has_vblank(dev);
> }
> #endif
> 
> 2) The more compact:
> 
> static bool drm_wait_vblank_supported(struct drm_device *dev)
> {
> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> 		return dev->irq_enabled;
> 	else
> 		return drm_dev_has_vblank(dev);
> }
> 
> Then, in drm_wait_vblank_ioctl().
> 
> 	if (!drm_wait_vblank_supported(dev))
> 		return -EOPNOTSUPP;
> 
> The compiler should do the right thing without any explicit inline
> keywords etc.
> 
> BR,
> Jani.
> 
>>   
>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>   		return -EINVAL;
>> @@ -2023,7 +2031,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 +2090,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);
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  8:28       ` [Nouveau] " Thomas Zimmermann
                           ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  8:51         ` Jani Nikula
  -1 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:51 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Hi
>
> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>> index 3417e1ac7918..10fe16bafcb6 100644
>>> --- a/drivers/gpu/drm/drm_vblank.c
>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>> @@ -1748,8 +1748,16 @@ 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)
>>> -		return -EOPNOTSUPP;
>>> +#if defined(CONFIG_DRM_LEGACY)
>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>> +		if (!dev->irq_enabled)
>>> +			return -EOPNOTSUPP;
>>> +	} else /* if DRIVER_MODESET */
>>> +#endif
>>> +	{
>>> +		if (!drm_dev_has_vblank(dev))
>>> +			return -EOPNOTSUPP;
>>> +	}
>> 
>> Sheesh I hate this kind of inline #ifdefs.
>> 
>> Two alternate suggestions that I believe should be as just efficient:
>
> Or how about:
>
> static bool drm_wait_vblank_supported(struct drm_device *dev)
>
> {
>
> if defined(CONFIG_DRM_LEGACY)
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>
> 		return dev->irq_enabled;
>
> #endif
> 	return drm_dev_has_vblank(dev);
>
> }
>
>
> ?
>
> It's inline, but still readable.

It's definitely better than the original, but it's unclear to me why
you'd prefer this over option 2) below. I guess the only reason I can
think of is emphasizing the conditional compilation. However,
IS_ENABLED() is widely used in this manner specifically to avoid inline
#if, and the compiler optimizes it away.

BR,
Jani.


>
> Best regards
> Thomas
>
>> 
>> 1) The more verbose:
>> 
>> #if defined(CONFIG_DRM_LEGACY)
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> #else
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	return drm_dev_has_vblank(dev);
>> }
>> #endif
>> 
>> 2) The more compact:
>> 
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> 
>> Then, in drm_wait_vblank_ioctl().
>> 
>> 	if (!drm_wait_vblank_supported(dev))
>> 		return -EOPNOTSUPP;
>> 
>> The compiler should do the right thing without any explicit inline
>> keywords etc.
>> 
>> BR,
>> Jani.
>> 
>>>   
>>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>   		return -EINVAL;
>>> @@ -2023,7 +2031,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 +2090,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);
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:51         ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:51 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-sunxi, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Hi
>
> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>> index 3417e1ac7918..10fe16bafcb6 100644
>>> --- a/drivers/gpu/drm/drm_vblank.c
>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>> @@ -1748,8 +1748,16 @@ 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)
>>> -		return -EOPNOTSUPP;
>>> +#if defined(CONFIG_DRM_LEGACY)
>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>> +		if (!dev->irq_enabled)
>>> +			return -EOPNOTSUPP;
>>> +	} else /* if DRIVER_MODESET */
>>> +#endif
>>> +	{
>>> +		if (!drm_dev_has_vblank(dev))
>>> +			return -EOPNOTSUPP;
>>> +	}
>> 
>> Sheesh I hate this kind of inline #ifdefs.
>> 
>> Two alternate suggestions that I believe should be as just efficient:
>
> Or how about:
>
> static bool drm_wait_vblank_supported(struct drm_device *dev)
>
> {
>
> if defined(CONFIG_DRM_LEGACY)
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>
> 		return dev->irq_enabled;
>
> #endif
> 	return drm_dev_has_vblank(dev);
>
> }
>
>
> ?
>
> It's inline, but still readable.

It's definitely better than the original, but it's unclear to me why
you'd prefer this over option 2) below. I guess the only reason I can
think of is emphasizing the conditional compilation. However,
IS_ENABLED() is widely used in this manner specifically to avoid inline
#if, and the compiler optimizes it away.

BR,
Jani.


>
> Best regards
> Thomas
>
>> 
>> 1) The more verbose:
>> 
>> #if defined(CONFIG_DRM_LEGACY)
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> #else
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	return drm_dev_has_vblank(dev);
>> }
>> #endif
>> 
>> 2) The more compact:
>> 
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> 
>> Then, in drm_wait_vblank_ioctl().
>> 
>> 	if (!drm_wait_vblank_supported(dev))
>> 		return -EOPNOTSUPP;
>> 
>> The compiler should do the right thing without any explicit inline
>> keywords etc.
>> 
>> BR,
>> Jani.
>> 
>>>   
>>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>   		return -EINVAL;
>>> @@ -2023,7 +2031,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 +2090,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);
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:51         ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:51 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Hi
>
> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>> index 3417e1ac7918..10fe16bafcb6 100644
>>> --- a/drivers/gpu/drm/drm_vblank.c
>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>> @@ -1748,8 +1748,16 @@ 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)
>>> -		return -EOPNOTSUPP;
>>> +#if defined(CONFIG_DRM_LEGACY)
>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>> +		if (!dev->irq_enabled)
>>> +			return -EOPNOTSUPP;
>>> +	} else /* if DRIVER_MODESET */
>>> +#endif
>>> +	{
>>> +		if (!drm_dev_has_vblank(dev))
>>> +			return -EOPNOTSUPP;
>>> +	}
>> 
>> Sheesh I hate this kind of inline #ifdefs.
>> 
>> Two alternate suggestions that I believe should be as just efficient:
>
> Or how about:
>
> static bool drm_wait_vblank_supported(struct drm_device *dev)
>
> {
>
> if defined(CONFIG_DRM_LEGACY)
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>
> 		return dev->irq_enabled;
>
> #endif
> 	return drm_dev_has_vblank(dev);
>
> }
>
>
> ?
>
> It's inline, but still readable.

It's definitely better than the original, but it's unclear to me why
you'd prefer this over option 2) below. I guess the only reason I can
think of is emphasizing the conditional compilation. However,
IS_ENABLED() is widely used in this manner specifically to avoid inline
#if, and the compiler optimizes it away.

BR,
Jani.


>
> Best regards
> Thomas
>
>> 
>> 1) The more verbose:
>> 
>> #if defined(CONFIG_DRM_LEGACY)
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> #else
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	return drm_dev_has_vblank(dev);
>> }
>> #endif
>> 
>> 2) The more compact:
>> 
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> 
>> Then, in drm_wait_vblank_ioctl().
>> 
>> 	if (!drm_wait_vblank_supported(dev))
>> 		return -EOPNOTSUPP;
>> 
>> The compiler should do the right thing without any explicit inline
>> keywords etc.
>> 
>> BR,
>> Jani.
>> 
>>>   
>>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>   		return -EINVAL;
>>> @@ -2023,7 +2031,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 +2090,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);
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:51         ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:51 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Hi
>
> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>> index 3417e1ac7918..10fe16bafcb6 100644
>>> --- a/drivers/gpu/drm/drm_vblank.c
>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>> @@ -1748,8 +1748,16 @@ 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)
>>> -		return -EOPNOTSUPP;
>>> +#if defined(CONFIG_DRM_LEGACY)
>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>> +		if (!dev->irq_enabled)
>>> +			return -EOPNOTSUPP;
>>> +	} else /* if DRIVER_MODESET */
>>> +#endif
>>> +	{
>>> +		if (!drm_dev_has_vblank(dev))
>>> +			return -EOPNOTSUPP;
>>> +	}
>> 
>> Sheesh I hate this kind of inline #ifdefs.
>> 
>> Two alternate suggestions that I believe should be as just efficient:
>
> Or how about:
>
> static bool drm_wait_vblank_supported(struct drm_device *dev)
>
> {
>
> if defined(CONFIG_DRM_LEGACY)
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>
> 		return dev->irq_enabled;
>
> #endif
> 	return drm_dev_has_vblank(dev);
>
> }
>
>
> ?
>
> It's inline, but still readable.

It's definitely better than the original, but it's unclear to me why
you'd prefer this over option 2) below. I guess the only reason I can
think of is emphasizing the conditional compilation. However,
IS_ENABLED() is widely used in this manner specifically to avoid inline
#if, and the compiler optimizes it away.

BR,
Jani.


>
> Best regards
> Thomas
>
>> 
>> 1) The more verbose:
>> 
>> #if defined(CONFIG_DRM_LEGACY)
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> #else
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	return drm_dev_has_vblank(dev);
>> }
>> #endif
>> 
>> 2) The more compact:
>> 
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> 
>> Then, in drm_wait_vblank_ioctl().
>> 
>> 	if (!drm_wait_vblank_supported(dev))
>> 		return -EOPNOTSUPP;
>> 
>> The compiler should do the right thing without any explicit inline
>> keywords etc.
>> 
>> BR,
>> Jani.
>> 
>>>   
>>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>   		return -EINVAL;
>>> @@ -2023,7 +2031,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 +2090,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);
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:51         ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:51 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Hi
>
> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>> index 3417e1ac7918..10fe16bafcb6 100644
>>> --- a/drivers/gpu/drm/drm_vblank.c
>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>> @@ -1748,8 +1748,16 @@ 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)
>>> -		return -EOPNOTSUPP;
>>> +#if defined(CONFIG_DRM_LEGACY)
>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>> +		if (!dev->irq_enabled)
>>> +			return -EOPNOTSUPP;
>>> +	} else /* if DRIVER_MODESET */
>>> +#endif
>>> +	{
>>> +		if (!drm_dev_has_vblank(dev))
>>> +			return -EOPNOTSUPP;
>>> +	}
>> 
>> Sheesh I hate this kind of inline #ifdefs.
>> 
>> Two alternate suggestions that I believe should be as just efficient:
>
> Or how about:
>
> static bool drm_wait_vblank_supported(struct drm_device *dev)
>
> {
>
> if defined(CONFIG_DRM_LEGACY)
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>
> 		return dev->irq_enabled;
>
> #endif
> 	return drm_dev_has_vblank(dev);
>
> }
>
>
> ?
>
> It's inline, but still readable.

It's definitely better than the original, but it's unclear to me why
you'd prefer this over option 2) below. I guess the only reason I can
think of is emphasizing the conditional compilation. However,
IS_ENABLED() is widely used in this manner specifically to avoid inline
#if, and the compiler optimizes it away.

BR,
Jani.


>
> Best regards
> Thomas
>
>> 
>> 1) The more verbose:
>> 
>> #if defined(CONFIG_DRM_LEGACY)
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> #else
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	return drm_dev_has_vblank(dev);
>> }
>> #endif
>> 
>> 2) The more compact:
>> 
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> 
>> Then, in drm_wait_vblank_ioctl().
>> 
>> 	if (!drm_wait_vblank_supported(dev))
>> 		return -EOPNOTSUPP;
>> 
>> The compiler should do the right thing without any explicit inline
>> keywords etc.
>> 
>> BR,
>> Jani.
>> 
>>>   
>>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>   		return -EINVAL;
>>> @@ -2023,7 +2031,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 +2090,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);
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  8:51         ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24  8:51 UTC (permalink / raw)
  To: Thomas Zimmermann, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel

On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Hi
>
> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>> index 3417e1ac7918..10fe16bafcb6 100644
>>> --- a/drivers/gpu/drm/drm_vblank.c
>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>> @@ -1748,8 +1748,16 @@ 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)
>>> -		return -EOPNOTSUPP;
>>> +#if defined(CONFIG_DRM_LEGACY)
>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>> +		if (!dev->irq_enabled)
>>> +			return -EOPNOTSUPP;
>>> +	} else /* if DRIVER_MODESET */
>>> +#endif
>>> +	{
>>> +		if (!drm_dev_has_vblank(dev))
>>> +			return -EOPNOTSUPP;
>>> +	}
>> 
>> Sheesh I hate this kind of inline #ifdefs.
>> 
>> Two alternate suggestions that I believe should be as just efficient:
>
> Or how about:
>
> static bool drm_wait_vblank_supported(struct drm_device *dev)
>
> {
>
> if defined(CONFIG_DRM_LEGACY)
> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>
> 		return dev->irq_enabled;
>
> #endif
> 	return drm_dev_has_vblank(dev);
>
> }
>
>
> ?
>
> It's inline, but still readable.

It's definitely better than the original, but it's unclear to me why
you'd prefer this over option 2) below. I guess the only reason I can
think of is emphasizing the conditional compilation. However,
IS_ENABLED() is widely used in this manner specifically to avoid inline
#if, and the compiler optimizes it away.

BR,
Jani.


>
> Best regards
> Thomas
>
>> 
>> 1) The more verbose:
>> 
>> #if defined(CONFIG_DRM_LEGACY)
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> #else
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	return drm_dev_has_vblank(dev);
>> }
>> #endif
>> 
>> 2) The more compact:
>> 
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>> {
>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> 		return dev->irq_enabled;
>> 	else
>> 		return drm_dev_has_vblank(dev);
>> }
>> 
>> Then, in drm_wait_vblank_ioctl().
>> 
>> 	if (!drm_wait_vblank_supported(dev))
>> 		return -EOPNOTSUPP;
>> 
>> The compiler should do the right thing without any explicit inline
>> keywords etc.
>> 
>> BR,
>> Jani.
>> 
>>>   
>>>   	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>   		return -EINVAL;
>>> @@ -2023,7 +2031,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 +2090,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);
>> 

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  8:51         ` [Nouveau] " Jani Nikula
                             ` (3 preceding siblings ...)
  (?)
@ 2021-06-24  9:07           ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  9:07 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


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

Hi

Am 24.06.21 um 10:51 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>> @@ -1748,8 +1748,16 @@ 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)
>>>> -		return -EOPNOTSUPP;
>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>> +		if (!dev->irq_enabled)
>>>> +			return -EOPNOTSUPP;
>>>> +	} else /* if DRIVER_MODESET */
>>>> +#endif
>>>> +	{
>>>> +		if (!drm_dev_has_vblank(dev))
>>>> +			return -EOPNOTSUPP;
>>>> +	}
>>>
>>> Sheesh I hate this kind of inline #ifdefs.
>>>
>>> Two alternate suggestions that I believe should be as just efficient:
>>
>> Or how about:
>>
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>
>> {
>>
>> if defined(CONFIG_DRM_LEGACY)
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>
>> 		return dev->irq_enabled;
>>
>> #endif
>> 	return drm_dev_has_vblank(dev);
>>
>> }
>>
>>
>> ?
>>
>> It's inline, but still readable.
> 
> It's definitely better than the original, but it's unclear to me why
> you'd prefer this over option 2) below. I guess the only reason I can
> think of is emphasizing the conditional compilation. However,
> IS_ENABLED() is widely used in this manner specifically to avoid inline
> #if, and the compiler optimizes it away.

It's simply more readable to me as the condition is simpler. But option 
2 is also ok.

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>> 1) The more verbose:
>>>
>>> #if defined(CONFIG_DRM_LEGACY)
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>> #else
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	return drm_dev_has_vblank(dev);
>>> }
>>> #endif
>>>
>>> 2) The more compact:
>>>
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>>
>>> Then, in drm_wait_vblank_ioctl().
>>>
>>> 	if (!drm_wait_vblank_supported(dev))
>>> 		return -EOPNOTSUPP;
>>>
>>> The compiler should do the right thing without any explicit inline
>>> keywords etc.
>>>
>>> BR,
>>> Jani.
>>>
>>>>    
>>>>    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>>    		return -EINVAL;
>>>> @@ -2023,7 +2031,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 +2090,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);
>>>
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  9:07           ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  9:07 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, linux-tegra,
	linux-stm32, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 4052 bytes --]

Hi

Am 24.06.21 um 10:51 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>> @@ -1748,8 +1748,16 @@ 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)
>>>> -		return -EOPNOTSUPP;
>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>> +		if (!dev->irq_enabled)
>>>> +			return -EOPNOTSUPP;
>>>> +	} else /* if DRIVER_MODESET */
>>>> +#endif
>>>> +	{
>>>> +		if (!drm_dev_has_vblank(dev))
>>>> +			return -EOPNOTSUPP;
>>>> +	}
>>>
>>> Sheesh I hate this kind of inline #ifdefs.
>>>
>>> Two alternate suggestions that I believe should be as just efficient:
>>
>> Or how about:
>>
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>
>> {
>>
>> if defined(CONFIG_DRM_LEGACY)
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>
>> 		return dev->irq_enabled;
>>
>> #endif
>> 	return drm_dev_has_vblank(dev);
>>
>> }
>>
>>
>> ?
>>
>> It's inline, but still readable.
> 
> It's definitely better than the original, but it's unclear to me why
> you'd prefer this over option 2) below. I guess the only reason I can
> think of is emphasizing the conditional compilation. However,
> IS_ENABLED() is widely used in this manner specifically to avoid inline
> #if, and the compiler optimizes it away.

It's simply more readable to me as the condition is simpler. But option 
2 is also ok.

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>> 1) The more verbose:
>>>
>>> #if defined(CONFIG_DRM_LEGACY)
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>> #else
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	return drm_dev_has_vblank(dev);
>>> }
>>> #endif
>>>
>>> 2) The more compact:
>>>
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>>
>>> Then, in drm_wait_vblank_ioctl().
>>>
>>> 	if (!drm_wait_vblank_supported(dev))
>>> 		return -EOPNOTSUPP;
>>>
>>> The compiler should do the right thing without any explicit inline
>>> keywords etc.
>>>
>>> BR,
>>> Jani.
>>>
>>>>    
>>>>    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>>    		return -EINVAL;
>>>> @@ -2023,7 +2031,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 +2090,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);
>>>
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  9:07           ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  9:07 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 4052 bytes --]

Hi

Am 24.06.21 um 10:51 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>> @@ -1748,8 +1748,16 @@ 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)
>>>> -		return -EOPNOTSUPP;
>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>> +		if (!dev->irq_enabled)
>>>> +			return -EOPNOTSUPP;
>>>> +	} else /* if DRIVER_MODESET */
>>>> +#endif
>>>> +	{
>>>> +		if (!drm_dev_has_vblank(dev))
>>>> +			return -EOPNOTSUPP;
>>>> +	}
>>>
>>> Sheesh I hate this kind of inline #ifdefs.
>>>
>>> Two alternate suggestions that I believe should be as just efficient:
>>
>> Or how about:
>>
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>
>> {
>>
>> if defined(CONFIG_DRM_LEGACY)
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>
>> 		return dev->irq_enabled;
>>
>> #endif
>> 	return drm_dev_has_vblank(dev);
>>
>> }
>>
>>
>> ?
>>
>> It's inline, but still readable.
> 
> It's definitely better than the original, but it's unclear to me why
> you'd prefer this over option 2) below. I guess the only reason I can
> think of is emphasizing the conditional compilation. However,
> IS_ENABLED() is widely used in this manner specifically to avoid inline
> #if, and the compiler optimizes it away.

It's simply more readable to me as the condition is simpler. But option 
2 is also ok.

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>> 1) The more verbose:
>>>
>>> #if defined(CONFIG_DRM_LEGACY)
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>> #else
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	return drm_dev_has_vblank(dev);
>>> }
>>> #endif
>>>
>>> 2) The more compact:
>>>
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>>
>>> Then, in drm_wait_vblank_ioctl().
>>>
>>> 	if (!drm_wait_vblank_supported(dev))
>>> 		return -EOPNOTSUPP;
>>>
>>> The compiler should do the right thing without any explicit inline
>>> keywords etc.
>>>
>>> BR,
>>> Jani.
>>>
>>>>    
>>>>    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>>    		return -EINVAL;
>>>> @@ -2023,7 +2031,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 +2090,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);
>>>
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  9:07           ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  9:07 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel


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

Hi

Am 24.06.21 um 10:51 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>> @@ -1748,8 +1748,16 @@ 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)
>>>> -		return -EOPNOTSUPP;
>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>> +		if (!dev->irq_enabled)
>>>> +			return -EOPNOTSUPP;
>>>> +	} else /* if DRIVER_MODESET */
>>>> +#endif
>>>> +	{
>>>> +		if (!drm_dev_has_vblank(dev))
>>>> +			return -EOPNOTSUPP;
>>>> +	}
>>>
>>> Sheesh I hate this kind of inline #ifdefs.
>>>
>>> Two alternate suggestions that I believe should be as just efficient:
>>
>> Or how about:
>>
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>
>> {
>>
>> if defined(CONFIG_DRM_LEGACY)
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>
>> 		return dev->irq_enabled;
>>
>> #endif
>> 	return drm_dev_has_vblank(dev);
>>
>> }
>>
>>
>> ?
>>
>> It's inline, but still readable.
> 
> It's definitely better than the original, but it's unclear to me why
> you'd prefer this over option 2) below. I guess the only reason I can
> think of is emphasizing the conditional compilation. However,
> IS_ENABLED() is widely used in this manner specifically to avoid inline
> #if, and the compiler optimizes it away.

It's simply more readable to me as the condition is simpler. But option 
2 is also ok.

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>> 1) The more verbose:
>>>
>>> #if defined(CONFIG_DRM_LEGACY)
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>> #else
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	return drm_dev_has_vblank(dev);
>>> }
>>> #endif
>>>
>>> 2) The more compact:
>>>
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>>
>>> Then, in drm_wait_vblank_ioctl().
>>>
>>> 	if (!drm_wait_vblank_supported(dev))
>>> 		return -EOPNOTSUPP;
>>>
>>> The compiler should do the right thing without any explicit inline
>>> keywords etc.
>>>
>>> BR,
>>> Jani.
>>>
>>>>    
>>>>    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>>    		return -EINVAL;
>>>> @@ -2023,7 +2031,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 +2090,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);
>>>
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  9:07           ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  9:07 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 4052 bytes --]

Hi

Am 24.06.21 um 10:51 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>> @@ -1748,8 +1748,16 @@ 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)
>>>> -		return -EOPNOTSUPP;
>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>> +		if (!dev->irq_enabled)
>>>> +			return -EOPNOTSUPP;
>>>> +	} else /* if DRIVER_MODESET */
>>>> +#endif
>>>> +	{
>>>> +		if (!drm_dev_has_vblank(dev))
>>>> +			return -EOPNOTSUPP;
>>>> +	}
>>>
>>> Sheesh I hate this kind of inline #ifdefs.
>>>
>>> Two alternate suggestions that I believe should be as just efficient:
>>
>> Or how about:
>>
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>
>> {
>>
>> if defined(CONFIG_DRM_LEGACY)
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>
>> 		return dev->irq_enabled;
>>
>> #endif
>> 	return drm_dev_has_vblank(dev);
>>
>> }
>>
>>
>> ?
>>
>> It's inline, but still readable.
> 
> It's definitely better than the original, but it's unclear to me why
> you'd prefer this over option 2) below. I guess the only reason I can
> think of is emphasizing the conditional compilation. However,
> IS_ENABLED() is widely used in this manner specifically to avoid inline
> #if, and the compiler optimizes it away.

It's simply more readable to me as the condition is simpler. But option 
2 is also ok.

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>> 1) The more verbose:
>>>
>>> #if defined(CONFIG_DRM_LEGACY)
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>> #else
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	return drm_dev_has_vblank(dev);
>>> }
>>> #endif
>>>
>>> 2) The more compact:
>>>
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>>
>>> Then, in drm_wait_vblank_ioctl().
>>>
>>> 	if (!drm_wait_vblank_supported(dev))
>>> 		return -EOPNOTSUPP;
>>>
>>> The compiler should do the right thing without any explicit inline
>>> keywords etc.
>>>
>>> BR,
>>> Jani.
>>>
>>>>    
>>>>    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>>    		return -EINVAL;
>>>> @@ -2023,7 +2031,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 +2090,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);
>>>
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24  9:07           ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24  9:07 UTC (permalink / raw)
  To: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, thierry.reding,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa
  Cc: linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-sunxi,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-stm32, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 4052 bytes --]

Hi

Am 24.06.21 um 10:51 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Hi
>>
>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>> @@ -1748,8 +1748,16 @@ 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)
>>>> -		return -EOPNOTSUPP;
>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>> +		if (!dev->irq_enabled)
>>>> +			return -EOPNOTSUPP;
>>>> +	} else /* if DRIVER_MODESET */
>>>> +#endif
>>>> +	{
>>>> +		if (!drm_dev_has_vblank(dev))
>>>> +			return -EOPNOTSUPP;
>>>> +	}
>>>
>>> Sheesh I hate this kind of inline #ifdefs.
>>>
>>> Two alternate suggestions that I believe should be as just efficient:
>>
>> Or how about:
>>
>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>
>> {
>>
>> if defined(CONFIG_DRM_LEGACY)
>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>
>> 		return dev->irq_enabled;
>>
>> #endif
>> 	return drm_dev_has_vblank(dev);
>>
>> }
>>
>>
>> ?
>>
>> It's inline, but still readable.
> 
> It's definitely better than the original, but it's unclear to me why
> you'd prefer this over option 2) below. I guess the only reason I can
> think of is emphasizing the conditional compilation. However,
> IS_ENABLED() is widely used in this manner specifically to avoid inline
> #if, and the compiler optimizes it away.

It's simply more readable to me as the condition is simpler. But option 
2 is also ok.

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 
>>
>> Best regards
>> Thomas
>>
>>>
>>> 1) The more verbose:
>>>
>>> #if defined(CONFIG_DRM_LEGACY)
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>> #else
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	return drm_dev_has_vblank(dev);
>>> }
>>> #endif
>>>
>>> 2) The more compact:
>>>
>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>> {
>>> 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>> 		return dev->irq_enabled;
>>> 	else
>>> 		return drm_dev_has_vblank(dev);
>>> }
>>>
>>> Then, in drm_wait_vblank_ioctl().
>>>
>>> 	if (!drm_wait_vblank_supported(dev))
>>> 		return -EOPNOTSUPP;
>>>
>>> The compiler should do the right thing without any explicit inline
>>> keywords etc.
>>>
>>> BR,
>>> Jani.
>>>
>>>>    
>>>>    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
>>>>    		return -EINVAL;
>>>> @@ -2023,7 +2031,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 +2090,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);
>>>
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* [Intel-gfx] ✗ Fi.CI.IGT: failure for Deprecate struct drm_device.irq_enabled
  2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
                   ` (34 preceding siblings ...)
  (?)
@ 2021-06-24  9:36 ` Patchwork
  -1 siblings, 0 replies; 260+ messages in thread
From: Patchwork @ 2021-06-24  9:36 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: intel-gfx


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

== Series Details ==

Series: Deprecate struct drm_device.irq_enabled
URL   : https://patchwork.freedesktop.org/series/91845/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10271_full -> Patchwork_20450_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_20450_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_20450_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_20450_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_endless@dispatch@rcs0:
    - shard-iclb:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb4/igt@gem_exec_endless@dispatch@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb4/igt@gem_exec_endless@dispatch@rcs0.html

  * igt@sysfs_timeslice_duration@timeout@vecs0:
    - shard-skl:          [PASS][3] -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl5/igt@sysfs_timeslice_duration@timeout@vecs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl9/igt@sysfs_timeslice_duration@timeout@vecs0.html

  
#### Warnings ####

  * igt@kms_psr2_sf@cursor-plane-update-sf:
    - shard-tglb:         [SKIP][5] ([i915#2920]) -> [SKIP][6] +19 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-tglb2/igt@kms_psr2_sf@cursor-plane-update-sf.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-tglb2/igt@kms_psr2_sf@cursor-plane-update-sf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
    - shard-iclb:         [SKIP][7] ([i915#658]) -> [SKIP][8] +3 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb8/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_create@create-clear:
    - shard-glk:          [PASS][9] -> [FAIL][10] ([i915#1888] / [i915#3160])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-glk9/igt@gem_create@create-clear.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-glk7/igt@gem_create@create-clear.html

  * igt@gem_ctx_persistence@engines-cleanup:
    - shard-snb:          NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#1099]) +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-snb6/igt@gem_ctx_persistence@engines-cleanup.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-kbl:          [PASS][12] -> [FAIL][13] ([i915#2842]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-kbl2/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl3/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [PASS][14] -> [FAIL][15] ([i915#2842])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-tglb:         [PASS][16] -> [FAIL][17] ([i915#2842])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-tglb5/igt@gem_exec_fair@basic-pace@rcs0.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-tglb8/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [PASS][18] -> [FAIL][19] ([i915#2849])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb1/igt@gem_exec_fair@basic-throttle@rcs0.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb1/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_whisper@basic-normal:
    - shard-glk:          [PASS][20] -> [DMESG-WARN][21] ([i915#118] / [i915#95])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-glk1/igt@gem_exec_whisper@basic-normal.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-glk2/igt@gem_exec_whisper@basic-normal.html

  * igt@gem_exec_whisper@basic-queues-priority-all:
    - shard-iclb:         [PASS][22] -> [INCOMPLETE][23] ([i915#1895]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb4/igt@gem_exec_whisper@basic-queues-priority-all.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb5/igt@gem_exec_whisper@basic-queues-priority-all.html

  * igt@gem_pread@exhaustion:
    - shard-kbl:          NOTRUN -> [WARN][24] ([i915#2658])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl7/igt@gem_pread@exhaustion.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-apl:          NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#3323])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl1/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-skl:          [PASS][26] -> [DMESG-WARN][27] ([i915#1436] / [i915#716])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl8/igt@gen9_exec_parse@allowed-single.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl7/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-iclb:         NOTRUN -> [WARN][28] ([i915#1804] / [i915#2684])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-apl:          NOTRUN -> [SKIP][29] ([fdo#109271]) +89 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl3/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@i915_suspend@forcewake:
    - shard-kbl:          [PASS][30] -> [DMESG-WARN][31] ([i915#180])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-kbl2/igt@i915_suspend@forcewake.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl7/igt@i915_suspend@forcewake.html

  * igt@kms_chamelium@dp-crc-fast:
    - shard-iclb:         NOTRUN -> [SKIP][32] ([fdo#109284] / [fdo#111827]) +1 similar issue
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_chamelium@vga-hpd-for-each-pipe:
    - shard-kbl:          NOTRUN -> [SKIP][33] ([fdo#109271] / [fdo#111827]) +13 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl6/igt@kms_chamelium@vga-hpd-for-each-pipe.html

  * igt@kms_color_chamelium@pipe-b-ctm-0-5:
    - shard-apl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [fdo#111827]) +11 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl3/igt@kms_color_chamelium@pipe-b-ctm-0-5.html

  * igt@kms_color_chamelium@pipe-c-degamma:
    - shard-skl:          NOTRUN -> [SKIP][35] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl8/igt@kms_color_chamelium@pipe-c-degamma.html

  * igt@kms_color_chamelium@pipe-d-ctm-red-to-blue:
    - shard-snb:          NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-snb6/igt@kms_color_chamelium@pipe-d-ctm-red-to-blue.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-apl:          NOTRUN -> [TIMEOUT][37] ([i915#1319])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl7/igt@kms_content_protection@atomic-dpms.html
    - shard-kbl:          NOTRUN -> [TIMEOUT][38] ([i915#1319])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl3/igt@kms_content_protection@atomic-dpms.html
    - shard-iclb:         NOTRUN -> [SKIP][39] ([fdo#109300] / [fdo#111066])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_cursor_crc@pipe-a-cursor-256x85-sliding:
    - shard-snb:          NOTRUN -> [SKIP][40] ([fdo#109271]) +58 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-snb6/igt@kms_cursor_crc@pipe-a-cursor-256x85-sliding.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x170-sliding:
    - shard-iclb:         NOTRUN -> [SKIP][41] ([fdo#109278] / [fdo#109279])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@kms_cursor_crc@pipe-b-cursor-512x170-sliding.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-kbl:          NOTRUN -> [SKIP][42] ([fdo#109271]) +105 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl6/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
    - shard-iclb:         NOTRUN -> [SKIP][43] ([fdo#109274] / [fdo#109278]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@pipe-d-torture-bo:
    - shard-kbl:          NOTRUN -> [SKIP][44] ([fdo#109271] / [i915#533]) +1 similar issue
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl2/igt@kms_cursor_legacy@pipe-d-torture-bo.html

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-xtiled:
    - shard-skl:          [PASS][45] -> [DMESG-WARN][46] ([i915#1982])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl8/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-xtiled.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl7/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-xtiled.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
    - shard-apl:          [PASS][47] -> [DMESG-WARN][48] ([i915#180]) +3 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html

  * igt@kms_flip@plain-flip-fb-recreate@a-edp1:
    - shard-skl:          [PASS][49] -> [FAIL][50] ([i915#2122])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl10/igt@kms_flip@plain-flip-fb-recreate@a-edp1.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl5/igt@kms_flip@plain-flip-fb-recreate@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:
    - shard-kbl:          NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#2672])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt:
    - shard-iclb:         NOTRUN -> [SKIP][52] ([fdo#109280]) +5 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt:
    - shard-skl:          [PASS][53] -> [FAIL][54] ([i915#49])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_invalid_dotclock:
    - shard-iclb:         NOTRUN -> [SKIP][55] ([fdo#109310])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@kms_invalid_dotclock.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
    - shard-kbl:          NOTRUN -> [FAIL][56] ([fdo#108145] / [i915#265]) +1 similar issue
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl2/igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][57] -> [FAIL][58] ([fdo#108145] / [i915#265])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl7/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl4/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
    - shard-apl:          NOTRUN -> [FAIL][59] ([fdo#108145] / [i915#265])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl1/igt@kms_plane_alpha_blend@pipe-c-alpha-7efc.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-skl:          NOTRUN -> [FAIL][60] ([fdo#108145] / [i915#265])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html

  * igt@kms_plane_alpha_blend@pipe-d-coverage-vs-premult-vs-constant:
    - shard-iclb:         NOTRUN -> [SKIP][61] ([fdo#109278]) +3 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb6/igt@kms_plane_alpha_blend@pipe-d-coverage-vs-premult-vs-constant.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-2:
    - shard-apl:          NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#658])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl3/igt@kms_psr2_sf@plane-move-sf-dmg-area-2.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
    - shard-kbl:          NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#658]) +3 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html

  * igt@kms_psr@psr2_cursor_blt:
    - shard-iclb:         [PASS][64] -> [SKIP][65] ([fdo#109441]) +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb8/igt@kms_psr@psr2_cursor_blt.html

  * igt@kms_vblank@pipe-d-wait-busy:
    - shard-skl:          NOTRUN -> [SKIP][66] ([fdo#109271]) +18 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl2/igt@kms_vblank@pipe-d-wait-busy.html

  * igt@perf@polling-parameterized:
    - shard-glk:          [PASS][67] -> [FAIL][68] ([i915#1542])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-glk5/igt@perf@polling-parameterized.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-glk5/igt@perf@polling-parameterized.html

  
#### Possible fixes ####

  * igt@gem_eio@unwedge-stress:
    - shard-tglb:         [TIMEOUT][69] ([i915#2369] / [i915#3063]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-tglb2/igt@gem_eio@unwedge-stress.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-tglb2/igt@gem_eio@unwedge-stress.html
    - shard-iclb:         [TIMEOUT][71] ([i915#2369] / [i915#2481] / [i915#3070]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb2/igt@gem_eio@unwedge-stress.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb8/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-kbl:          [FAIL][73] ([i915#2842]) -> [PASS][74] +2 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-kbl3/igt@gem_exec_fair@basic-none@vcs0.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl4/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace@bcs0:
    - shard-iclb:         [FAIL][75] ([i915#2842]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb2/igt@gem_exec_fair@basic-pace@bcs0.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb8/igt@gem_exec_fair@basic-pace@bcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-kbl:          [SKIP][77] ([fdo#109271]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-kbl4/igt@gem_exec_fair@basic-pace@rcs0.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl1/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-tglb:         [FAIL][79] ([i915#2842]) -> [PASS][80] +1 similar issue
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-tglb5/igt@gem_exec_fair@basic-pace@vecs0.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-tglb8/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_mmap_gtt@big-copy-odd:
    - shard-glk:          [FAIL][81] ([i915#307]) -> [PASS][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-glk1/igt@gem_mmap_gtt@big-copy-odd.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-glk8/igt@gem_mmap_gtt@big-copy-odd.html

  * igt@gem_mmap_offset@clear:
    - shard-skl:          [FAIL][83] ([i915#3160]) -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl10/igt@gem_mmap_offset@clear.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl6/igt@gem_mmap_offset@clear.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [DMESG-WARN][85] ([i915#180]) -> [PASS][86] +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-apl7/igt@gem_softpin@noreloc-s3.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl7/igt@gem_softpin@noreloc-s3.html

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
    - shard-snb:          [SKIP][87] ([fdo#109271]) -> [PASS][88] +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-snb2/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-snb6/igt@kms_atomic_transition@plane-toggle-modeset-transition.html

  * igt@kms_big_fb@linear-32bpp-rotate-180:
    - shard-glk:          [DMESG-WARN][89] ([i915#118] / [i915#95]) -> [PASS][90] +1 similar issue
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-glk4/igt@kms_big_fb@linear-32bpp-rotate-180.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-glk4/igt@kms_big_fb@linear-32bpp-rotate-180.html

  * igt@kms_color@pipe-b-ctm-blue-to-red:
    - shard-skl:          [DMESG-WARN][91] ([i915#1982]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl7/igt@kms_color@pipe-b-ctm-blue-to-red.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl4/igt@kms_color@pipe-b-ctm-blue-to-red.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-skl:          [FAIL][93] ([i915#2346]) -> [PASS][94]
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-skl:          [FAIL][95] ([i915#2346] / [i915#533]) -> [PASS][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_flip@flip-vs-suspend@c-edp1:
    - shard-skl:          [INCOMPLETE][97] ([i915#198] / [i915#1982]) -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl7/igt@kms_flip@flip-vs-suspend@c-edp1.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl8/igt@kms_flip@flip-vs-suspend@c-edp1.html

  * igt@kms_flip@plain-flip-ts-check-interruptible@c-edp1:
    - shard-skl:          [FAIL][99] ([i915#2122]) -> [PASS][100] +1 similar issue
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl2/igt@kms_flip@plain-flip-ts-check-interruptible@c-edp1.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl2/igt@kms_flip@plain-flip-ts-check-interruptible@c-edp1.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-skl:          [INCOMPLETE][101] ([i915#198]) -> [PASS][102]
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes:
    - shard-kbl:          [DMESG-WARN][103] ([i915#180]) -> [PASS][104] +8 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-kbl2/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [SKIP][105] ([fdo#109441]) -> [PASS][106] +1 similar issue
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb8/igt@kms_psr@psr2_sprite_plane_move.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@perf@polling-small-buf:
    - shard-skl:          [FAIL][107] ([i915#1722]) -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl4/igt@perf@polling-small-buf.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl5/igt@perf@polling-small-buf.html

  
#### Warnings ####

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-iclb:         [WARN][109] ([i915#2684]) -> [FAIL][110] ([i915#2680])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb1/igt@i915_pm_rc6_residency@rc6-idle.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb1/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1:
    - shard-iclb:         [SKIP][111] ([i915#2920]) -> [SKIP][112] ([i915#658]) +3 similar issues
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb8/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html

  * igt@runner@aborted:
    - shard-iclb:         ([FAIL][113], [FAIL][114], [FAIL][115]) ([i915#1814] / [i915#3002]) -> ([FAIL][116], [FAIL][117]) ([i915#3002])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb3/igt@runner@aborted.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb1/igt@runner@aborted.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-iclb8/igt@runner@aborted.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb1/igt@runner@aborted.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-iclb2/igt@runner@aborted.html
    - shard-apl:          ([FAIL][118], [FAIL][119], [FAIL][120]) ([i915#180] / [i915#3002] / [i915#3363]) -> ([FAIL][121], [FAIL][122], [FAIL][123], [FAIL][124]) ([fdo#109271] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-apl7/igt@runner@aborted.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-apl8/igt@runner@aborted.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-apl7/igt@runner@aborted.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl3/igt@runner@aborted.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl1/igt@runner@aborted.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl8/igt@runner@aborted.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-apl2/igt@runner@aborted.html
    - shard-skl:          ([FAIL][125], [FAIL][126]) ([i915#3002] / [i915#3363]) -> ([FAIL][127], [FAIL][128], [FAIL][129]) ([i915#1436] / [i915#3002] / [i915#3363])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl4/igt@runner@aborted.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10271/shard-skl6/igt@runner@aborted.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl5/igt@runner@aborted.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl10/igt@runner@aborted.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_20450/shard-skl7/igt@runner@aborted.html

  
  {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#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109310]: https://bugs.freedesktop.org/show_bug.cgi?id=109310
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#111066]: https://bugs.freedesktop.org/show_bug.cgi?id=111066
  [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#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#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804
  [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#1895]: https://gitlab.freedesktop.org/drm/intel/issues/1895
  [i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369
  [i915#2481]: https://gitlab.freedesktop.org/drm/intel/issues/2481
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2680]: https://gitlab.freedesktop.org/drm/intel/issues/2680
  [i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
  [i915#307]: https://gitlab.freedesktop.org/drm/intel/issues/307
  [i915#3070]: https://gitlab.freedesktop.org/drm/intel/issues/3070
  [i915#3160]: https://gitlab.freedesktop.org/drm/intel/issues/3160
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


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

  No changes in participating hosts


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

  * Linux: CI_DRM_10271 -> Patchwork_20450

  CI-20190529: 20190529
  CI_DRM_10271: 7a4a01d6716339c418394dbeb9a20d55bbb9a9ba @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6117: 3ba0a02404f243d6d8f232c6215163cc4b0fd699 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_20450: d42ce5ef965c1c78dfc296da3acbb342d4ac4d4b @ 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_20450/index.html

[-- Attachment #1.2: Type: text/html, Size: 37018 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  9:07           ` [Nouveau] " Thomas Zimmermann
                               ` (3 preceding siblings ...)
  (?)
@ 2021-06-24 10:27             ` Liviu Dudau
  -1 siblings, 0 replies; 260+ messages in thread
From: Liviu Dudau @ 2021-06-24 10:27 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, mihail.atanassov,
	brian.starkey, maarten.lankhorst, mripard, inki.dae, jy0922.shim,
	sw0312.kim, kyungmin.park, krzysztof.kozlowski, xinliang.liu,
	tiantao6, john.stultz, kong.kongxinwei, puck.chen,
	laurentiu.palcu, l.stach, p.zabel, shawnguo, s.hauer, kernel,
	festevam, linux-imx, chunkuang.hu, matthias.bgg, bskeggs, tomba,
	hjc, heiko, benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa,
	linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Either option looks good to me.

Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>

Thanks for doing that!
Liviu

> 
> Best regards
> Thomas
> 
> > 
> > BR,
> > Jani.
> > 
> > 
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > > 
> > > > 1) The more verbose:
> > > > 
> > > > #if defined(CONFIG_DRM_LEGACY)
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > #else
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	return drm_dev_has_vblank(dev);
> > > > }
> > > > #endif
> > > > 
> > > > 2) The more compact:
> > > > 
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > 
> > > > Then, in drm_wait_vblank_ioctl().
> > > > 
> > > > 	if (!drm_wait_vblank_supported(dev))
> > > > 		return -EOPNOTSUPP;
> > > > 
> > > > The compiler should do the right thing without any explicit inline
> > > > keywords etc.
> > > > 
> > > > BR,
> > > > Jani.
> > > > 
> > > > >    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
> > > > >    		return -EINVAL;
> > > > > @@ -2023,7 +2031,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 +2090,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);
> > > > 
> > 
> 
> -- 
> 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
> 




-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 10:27             ` Liviu Dudau
  0 siblings, 0 replies; 260+ messages in thread
From: Liviu Dudau @ 2021-06-24 10:27 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, thierry.reding, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	p.zabel, puck.chen, s.hauer, maarten.lankhorst, Jani Nikula,
	inki.dae, rodrigosiqueiramelo, john.stultz, mripard,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, amd-gfx, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	linux-sunxi, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, daniel, alexander.deucher, tiantao6, shawnguo,
	brian.starkey, zackr, l.stach

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Either option looks good to me.

Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>

Thanks for doing that!
Liviu

> 
> Best regards
> Thomas
> 
> > 
> > BR,
> > Jani.
> > 
> > 
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > > 
> > > > 1) The more verbose:
> > > > 
> > > > #if defined(CONFIG_DRM_LEGACY)
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > #else
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	return drm_dev_has_vblank(dev);
> > > > }
> > > > #endif
> > > > 
> > > > 2) The more compact:
> > > > 
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > 
> > > > Then, in drm_wait_vblank_ioctl().
> > > > 
> > > > 	if (!drm_wait_vblank_supported(dev))
> > > > 		return -EOPNOTSUPP;
> > > > 
> > > > The compiler should do the right thing without any explicit inline
> > > > keywords etc.
> > > > 
> > > > BR,
> > > > Jani.
> > > > 
> > > > >    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
> > > > >    		return -EINVAL;
> > > > > @@ -2023,7 +2031,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 +2090,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);
> > > > 
> > 
> 
> -- 
> 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
> 




-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 10:27             ` Liviu Dudau
  0 siblings, 0 replies; 260+ messages in thread
From: Liviu Dudau @ 2021-06-24 10:27 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, mihail.atanassov,
	brian.starkey, maarten.lankhorst, mripard, inki.dae, jy0922.shim,
	sw0312.kim, kyungmin.park, krzysztof.kozlowski, xinliang.liu,
	tiantao6, john.stultz, kong.kongxinwei, puck.chen,
	laurentiu.palcu, l.stach, p.zabel, shawnguo, s.hauer, kernel,
	festevam, linux-imx, chunkuang.hu, matthias.bgg, bskeggs, tomba,
	hjc, heiko, benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, laurent.pinchart,
	michal.simek, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa,
	linux-samsung-soc, nouveau, intel-gfx, dri-devel, linux-stm32,
	linux-rockchip, linux-mediatek, amd-gfx, Daniel Vetter,
	linux-tegra, linux-sunxi, linux-arm-kernel

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Either option looks good to me.

Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>

Thanks for doing that!
Liviu

> 
> Best regards
> Thomas
> 
> > 
> > BR,
> > Jani.
> > 
> > 
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > > 
> > > > 1) The more verbose:
> > > > 
> > > > #if defined(CONFIG_DRM_LEGACY)
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > #else
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	return drm_dev_has_vblank(dev);
> > > > }
> > > > #endif
> > > > 
> > > > 2) The more compact:
> > > > 
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > 
> > > > Then, in drm_wait_vblank_ioctl().
> > > > 
> > > > 	if (!drm_wait_vblank_supported(dev))
> > > > 		return -EOPNOTSUPP;
> > > > 
> > > > The compiler should do the right thing without any explicit inline
> > > > keywords etc.
> > > > 
> > > > BR,
> > > > Jani.
> > > > 
> > > > >    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
> > > > >    		return -EINVAL;
> > > > > @@ -2023,7 +2031,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 +2090,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);
> > > > 
> > 
> 
> -- 
> 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
> 




-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 10:27             ` Liviu Dudau
  0 siblings, 0 replies; 260+ messages in thread
From: Liviu Dudau @ 2021-06-24 10:27 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, thierry.reding, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, linux-stm32, linux-samsung-soc,
	jy0922.shim, krzysztof.kozlowski, linux-rockchip, linux-mediatek,
	wens, jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	puck.chen, s.hauer, rodrigosiqueiramelo, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Either option looks good to me.

Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>

Thanks for doing that!
Liviu

> 
> Best regards
> Thomas
> 
> > 
> > BR,
> > Jani.
> > 
> > 
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > > 
> > > > 1) The more verbose:
> > > > 
> > > > #if defined(CONFIG_DRM_LEGACY)
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > #else
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	return drm_dev_has_vblank(dev);
> > > > }
> > > > #endif
> > > > 
> > > > 2) The more compact:
> > > > 
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > 
> > > > Then, in drm_wait_vblank_ioctl().
> > > > 
> > > > 	if (!drm_wait_vblank_supported(dev))
> > > > 		return -EOPNOTSUPP;
> > > > 
> > > > The compiler should do the right thing without any explicit inline
> > > > keywords etc.
> > > > 
> > > > BR,
> > > > Jani.
> > > > 
> > > > >    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
> > > > >    		return -EINVAL;
> > > > > @@ -2023,7 +2031,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 +2090,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);
> > > > 
> > 
> 
> -- 
> 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
> 




-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 10:27             ` Liviu Dudau
  0 siblings, 0 replies; 260+ messages in thread
From: Liviu Dudau @ 2021-06-24 10:27 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, alexandre.torgue,
	dri-devel, michal.simek, melissa.srw, linux-tegra,
	thierry.reding, laurent.pinchart, benjamin.gaignard, linux,
	mihail.atanassov, festevam, linux-stm32, linux-samsung-soc,
	jy0922.shim, krzysztof.kozlowski, linux-rockchip, linux-mediatek,
	wens, jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	p.zabel, puck.chen, s.hauer, inki.dae, rodrigosiqueiramelo,
	john.stultz, mripard, laurentiu.palcu, matthias.bgg, kernel,
	linux-arm-kernel, mcoquelin.stm32, amd-gfx, hyun.kwon, tomba,
	jyri.sarha, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc,
	christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo, zackr, l.stach

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Either option looks good to me.

Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>

Thanks for doing that!
Liviu

> 
> Best regards
> Thomas
> 
> > 
> > BR,
> > Jani.
> > 
> > 
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > > 
> > > > 1) The more verbose:
> > > > 
> > > > #if defined(CONFIG_DRM_LEGACY)
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > #else
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	return drm_dev_has_vblank(dev);
> > > > }
> > > > #endif
> > > > 
> > > > 2) The more compact:
> > > > 
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > 
> > > > Then, in drm_wait_vblank_ioctl().
> > > > 
> > > > 	if (!drm_wait_vblank_supported(dev))
> > > > 		return -EOPNOTSUPP;
> > > > 
> > > > The compiler should do the right thing without any explicit inline
> > > > keywords etc.
> > > > 
> > > > BR,
> > > > Jani.
> > > > 
> > > > >    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
> > > > >    		return -EINVAL;
> > > > > @@ -2023,7 +2031,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 +2090,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);
> > > > 
> > 
> 
> -- 
> 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
> 




-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 10:27             ` Liviu Dudau
  0 siblings, 0 replies; 260+ messages in thread
From: Liviu Dudau @ 2021-06-24 10:27 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, thierry.reding, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec, jonathanh,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	Daniel Vetter, linux-graphics-maintainer, intel-gfx, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	Jani Nikula, inki.dae, rodrigosiqueiramelo, john.stultz, mripard,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, amd-gfx, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	linux-sunxi, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, daniel, alexander.deucher, tiantao6, shawnguo,
	brian.starkey, zackr, l.stach

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Either option looks good to me.

Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>

Thanks for doing that!
Liviu

> 
> Best regards
> Thomas
> 
> > 
> > BR,
> > Jani.
> > 
> > 
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > > 
> > > > 1) The more verbose:
> > > > 
> > > > #if defined(CONFIG_DRM_LEGACY)
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > #else
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	return drm_dev_has_vblank(dev);
> > > > }
> > > > #endif
> > > > 
> > > > 2) The more compact:
> > > > 
> > > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > > {
> > > > 	if  (IS_ENABLED(CONFIG_DRM_LEGACY) && unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > > 		return dev->irq_enabled;
> > > > 	else
> > > > 		return drm_dev_has_vblank(dev);
> > > > }
> > > > 
> > > > Then, in drm_wait_vblank_ioctl().
> > > > 
> > > > 	if (!drm_wait_vblank_supported(dev))
> > > > 		return -EOPNOTSUPP;
> > > > 
> > > > The compiler should do the right thing without any explicit inline
> > > > keywords etc.
> > > > 
> > > > BR,
> > > > Jani.
> > > > 
> > > > >    	if (vblwait->request.type & _DRM_VBLANK_SIGNAL)
> > > > >    		return -EINVAL;
> > > > > @@ -2023,7 +2031,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 +2090,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);
> > > > 
> > 
> 
> -- 
> 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
> 




-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
  2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
                       ` (4 preceding siblings ...)
  (?)
@ 2021-06-24 10:47     ` Laurent Pinchart
  -1 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, michal.simek,
	jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx,
	dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek,
	nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra,
	intel-gfx

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in rcar-du.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index bfbff90588cb..e289a66594a7 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -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.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:47     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, thierry.reding, amd-gfx,
	benjamin.gaignard, linux, mihail.atanassov, festevam,
	linux-stm32, linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	intel-gfx, linux-graphics-maintainer, linux-sunxi, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz, jani.nikula,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha, yannick.fertre,
	Xinhui.Pan, sw0312.kim, hjc, christian.koenig, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, daniel,
	alexander.deucher, tiantao6, shawnguo, brian.starkey, zackr,
	l.stach

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in rcar-du.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index bfbff90588cb..e289a66594a7 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -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.

-- 
Regards,

Laurent Pinchart
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:47     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, michal.simek,
	jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx,
	dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek,
	nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra,
	intel-gfx

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in rcar-du.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index bfbff90588cb..e289a66594a7 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -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.

-- 
Regards,

Laurent Pinchart

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:47     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, michal.simek,
	jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx,
	dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek,
	nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra,
	intel-gfx

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in rcar-du.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index bfbff90588cb..e289a66594a7 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -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.

-- 
Regards,

Laurent Pinchart

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:47     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, thierry.reding, amd-gfx, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, intel-gfx, linux-graphics-maintainer,
	linux-sunxi, bskeggs, chunkuang.hu, puck.chen, s.hauer,
	rodrigosiqueiramelo, laurentiu.palcu, matthias.bgg, kernel,
	linux-arm-kernel, mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	kyungmin.park, kieran.bingham+renesas, philippe.cornu,
	alexander.deucher, tiantao6, shawnguo

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in rcar-du.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index bfbff90588cb..e289a66594a7 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -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.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:47     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, alexandre.torgue,
	dri-devel, michal.simek, melissa.srw, linux-tegra,
	thierry.reding, amd-gfx, benjamin.gaignard, linux,
	mihail.atanassov, festevam, linux-stm32, linux-samsung-soc,
	jy0922.shim, krzysztof.kozlowski, linux-rockchip, linux-mediatek,
	wens, jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, intel-gfx, linux-graphics-maintainer,
	linux-sunxi, bskeggs, chunkuang.hu, p.zabel, puck.chen, s.hauer,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha, yannick.fertre,
	Xinhui.Pan, sw0312.kim, hjc, christian.koenig, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo, zackr, l.stach

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in rcar-du.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index bfbff90588cb..e289a66594a7 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -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.

-- 
Regards,

Laurent Pinchart
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:47     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:47 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, thierry.reding, amd-gfx,
	benjamin.gaignard, linux, mihail.atanassov, festevam,
	linux-stm32, linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec, jonathanh,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	intel-gfx, linux-graphics-maintainer, linux-sunxi, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz, jani.nikula,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha, yannick.fertre,
	Xinhui.Pan, sw0312.kim, hjc, christian.koenig, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, daniel,
	alexander.deucher, tiantao6, shawnguo, brian.starkey, zackr,
	l.stach

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:05AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in rcar-du.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index bfbff90588cb..e289a66594a7 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -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.

-- 
Regards,

Laurent Pinchart
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
  2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
                       ` (4 preceding siblings ...)
  (?)
@ 2021-06-24 10:48     ` Laurent Pinchart
  -1 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, michal.simek,
	jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx,
	dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek,
	nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra,
	intel-gfx

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index 027ffe759440..496de38ad983 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -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");

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:48     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, thierry.reding, amd-gfx,
	benjamin.gaignard, linux, mihail.atanassov, festevam,
	linux-stm32, linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	intel-gfx, linux-graphics-maintainer, linux-sunxi, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz, jani.nikula,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha, yannick.fertre,
	Xinhui.Pan, sw0312.kim, hjc, christian.koenig, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, daniel,
	alexander.deucher, tiantao6, shawnguo, brian.starkey, zackr,
	l.stach

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index 027ffe759440..496de38ad983 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -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");

-- 
Regards,

Laurent Pinchart
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:48     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, michal.simek,
	jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx,
	dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek,
	nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra,
	intel-gfx

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index 027ffe759440..496de38ad983 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -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");

-- 
Regards,

Laurent Pinchart

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:48     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	thierry.reding, jonathanh, jyri.sarha, emma,
	linux-graphics-maintainer, zackr, hyun.kwon, michal.simek,
	jani.nikula, rodrigo.vivi, linux, kieran.bingham+renesas,
	rodrigosiqueiramelo, melissa.srw, hamohammed.sa, amd-gfx,
	dri-devel, linux-arm-kernel, linux-samsung-soc, linux-mediatek,
	nouveau, linux-rockchip, linux-stm32, linux-sunxi, linux-tegra,
	intel-gfx

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index 027ffe759440..496de38ad983 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -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");

-- 
Regards,

Laurent Pinchart

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:48     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, thierry.reding, amd-gfx, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, intel-gfx, linux-graphics-maintainer,
	linux-sunxi, bskeggs, chunkuang.hu, puck.chen, s.hauer,
	rodrigosiqueiramelo, laurentiu.palcu, matthias.bgg, kernel,
	linux-arm-kernel, mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	kyungmin.park, kieran.bingham+renesas, philippe.cornu,
	alexander.deucher, tiantao6, shawnguo

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index 027ffe759440..496de38ad983 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -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");

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:48     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, alexandre.torgue,
	dri-devel, michal.simek, melissa.srw, linux-tegra,
	thierry.reding, amd-gfx, benjamin.gaignard, linux,
	mihail.atanassov, festevam, linux-stm32, linux-samsung-soc,
	jy0922.shim, krzysztof.kozlowski, linux-rockchip, linux-mediatek,
	wens, jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, intel-gfx, linux-graphics-maintainer,
	linux-sunxi, bskeggs, chunkuang.hu, p.zabel, puck.chen, s.hauer,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha, yannick.fertre,
	Xinhui.Pan, sw0312.kim, hjc, christian.koenig, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo, zackr, l.stach

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index 027ffe759440..496de38ad983 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -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");

-- 
Regards,

Laurent Pinchart
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 24/27] drm/vkms: Don't set struct drm_device.irq_enabled
@ 2021-06-24 10:48     ` Laurent Pinchart
  0 siblings, 0 replies; 260+ messages in thread
From: Laurent Pinchart @ 2021-06-24 10:48 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, thierry.reding, amd-gfx,
	benjamin.gaignard, linux, mihail.atanassov, festevam,
	linux-stm32, linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec, jonathanh,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	intel-gfx, linux-graphics-maintainer, linux-sunxi, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz, jani.nikula,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, hyun.kwon, tomba, jyri.sarha, yannick.fertre,
	Xinhui.Pan, sw0312.kim, hjc, christian.koenig, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, daniel,
	alexander.deucher, tiantao6, shawnguo, brian.starkey, zackr,
	l.stach

Hi Thomas,

Thank you for the patch.

On Thu, Jun 24, 2021 at 09:29:13AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in vkms.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/vkms/vkms_drv.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
> index 027ffe759440..496de38ad983 100644
> --- a/drivers/gpu/drm/vkms/vkms_drv.c
> +++ b/drivers/gpu/drm/vkms/vkms_drv.c
> @@ -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");

-- 
Regards,

Laurent Pinchart
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24  9:07           ` [Nouveau] " Thomas Zimmermann
                               ` (3 preceding siblings ...)
  (?)
@ 2021-06-24 12:03             ` Thierry Reding
  -1 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:03 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, jonathanh, jyri.sarha,
	emma, linux-graphics-maintainer, zackr, hyun.kwon,
	laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa, linux-samsung-soc, nouveau, intel-gfx, dri-devel,
	linux-stm32, linux-rockchip, linux-mediatek, amd-gfx,
	Daniel Vetter, linux-tegra, linux-sunxi, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 2562 bytes --]

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Perhaps do something like this, then:

	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);

That's about just as readable as the variant involving the preprocessor
but has all the benefits of not using the preprocessor.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:03             ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:03 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	p.zabel, puck.chen, s.hauer, maarten.lankhorst, Jani Nikula,
	inki.dae, rodrigosiqueiramelo, john.stultz, mripard,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, amd-gfx, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	linux-sunxi, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, daniel, alexander.deucher, tiantao6, shawnguo,
	brian.starkey, zackr, l.stach


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

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Perhaps do something like this, then:

	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);

That's about just as readable as the variant involving the preprocessor
but has all the benefits of not using the preprocessor.

Thierry

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:03             ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:03 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: Jani Nikula, daniel, airlied, alexander.deucher,
	christian.koenig, Xinhui.Pan, james.qian.wang, liviu.dudau,
	mihail.atanassov, brian.starkey, maarten.lankhorst, mripard,
	inki.dae, jy0922.shim, sw0312.kim, kyungmin.park,
	krzysztof.kozlowski, xinliang.liu, tiantao6, john.stultz,
	kong.kongxinwei, puck.chen, laurentiu.palcu, l.stach, p.zabel,
	shawnguo, s.hauer, kernel, festevam, linux-imx, chunkuang.hu,
	matthias.bgg, bskeggs, tomba, hjc, heiko, benjamin.gaignard,
	yannick.fertre, philippe.cornu, mcoquelin.stm32,
	alexandre.torgue, wens, jernej.skrabec, jonathanh, jyri.sarha,
	emma, linux-graphics-maintainer, zackr, hyun.kwon,
	laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa, linux-samsung-soc, nouveau, intel-gfx, dri-devel,
	linux-stm32, linux-rockchip, linux-mediatek, amd-gfx,
	Daniel Vetter, linux-tegra, linux-sunxi, linux-arm-kernel


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

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Perhaps do something like this, then:

	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);

That's about just as readable as the variant involving the preprocessor
but has all the benefits of not using the preprocessor.

Thierry

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:03             ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:03 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, laurent.pinchart, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	puck.chen, s.hauer, rodrigosiqueiramelo, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo

[-- Attachment #1: Type: text/plain, Size: 2562 bytes --]

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Perhaps do something like this, then:

	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);

That's about just as readable as the variant involving the preprocessor
but has all the benefits of not using the preprocessor.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:03             ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:03 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, alexandre.torgue,
	dri-devel, michal.simek, melissa.srw, linux-tegra,
	laurent.pinchart, benjamin.gaignard, linux, mihail.atanassov,
	festevam, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	p.zabel, puck.chen, s.hauer, inki.dae, rodrigosiqueiramelo,
	john.stultz, mripard, laurentiu.palcu, matthias.bgg, kernel,
	linux-arm-kernel, mcoquelin.stm32, amd-gfx, hyun.kwon, tomba,
	jyri.sarha, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc,
	christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo, zackr, l.stach


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

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Perhaps do something like this, then:

	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);

That's about just as readable as the variant involving the preprocessor
but has all the benefits of not using the preprocessor.

Thierry

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:03             ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:03 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec, jonathanh,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	Daniel Vetter, linux-graphics-maintainer, intel-gfx, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	Jani Nikula, inki.dae, rodrigosiqueiramelo, john.stultz, mripard,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, amd-gfx, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	linux-sunxi, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, daniel, alexander.deucher, tiantao6, shawnguo,
	brian.starkey, zackr, l.stach


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

On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 24.06.21 um 10:51 schrieb Jani Nikula:
> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > Hi
> > > 
> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> > > > > index 3417e1ac7918..10fe16bafcb6 100644
> > > > > --- a/drivers/gpu/drm/drm_vblank.c
> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
> > > > > @@ -1748,8 +1748,16 @@ 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)
> > > > > -		return -EOPNOTSUPP;
> > > > > +#if defined(CONFIG_DRM_LEGACY)
> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
> > > > > +		if (!dev->irq_enabled)
> > > > > +			return -EOPNOTSUPP;
> > > > > +	} else /* if DRIVER_MODESET */
> > > > > +#endif
> > > > > +	{
> > > > > +		if (!drm_dev_has_vblank(dev))
> > > > > +			return -EOPNOTSUPP;
> > > > > +	}
> > > > 
> > > > Sheesh I hate this kind of inline #ifdefs.
> > > > 
> > > > Two alternate suggestions that I believe should be as just efficient:
> > > 
> > > Or how about:
> > > 
> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
> > > 
> > > {
> > > 
> > > if defined(CONFIG_DRM_LEGACY)
> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
> > > 
> > > 		return dev->irq_enabled;
> > > 
> > > #endif
> > > 	return drm_dev_has_vblank(dev);
> > > 
> > > }
> > > 
> > > 
> > > ?
> > > 
> > > It's inline, but still readable.
> > 
> > It's definitely better than the original, but it's unclear to me why
> > you'd prefer this over option 2) below. I guess the only reason I can
> > think of is emphasizing the conditional compilation. However,
> > IS_ENABLED() is widely used in this manner specifically to avoid inline
> > #if, and the compiler optimizes it away.
> 
> It's simply more readable to me as the condition is simpler. But option 2 is
> also ok.

Perhaps do something like this, then:

	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);

That's about just as readable as the variant involving the preprocessor
but has all the benefits of not using the preprocessor.

Thierry

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
  2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
                       ` (3 preceding siblings ...)
  (?)
@ 2021-06-24 12:04     ` Thierry Reding
  -1 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:04 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, jani.nikula,
	rodrigo.vivi, linux, kieran.bingham+renesas, rodrigosiqueiramelo,
	melissa.srw, hamohammed.sa, amd-gfx, dri-devel, linux-arm-kernel,
	linux-samsung-soc, linux-mediatek, nouveau, linux-rockchip,
	linux-stm32, linux-sunxi, linux-tegra, intel-gfx, Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 507 bytes --]

On Thu, Jun 24, 2021 at 09:29:10AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in tegra.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/tegra/drm.c | 7 -------
>  1 file changed, 7 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24 12:04     ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:04 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	intel-gfx, linux-graphics-maintainer, linux-sunxi, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz, jani.nikula,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, amd-gfx, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	kyungmin.park, kieran.bingham+renesas, philippe.cornu, daniel,
	alexander.deucher, tiantao6, shawnguo, brian.starkey, zackr,
	l.stach


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

On Thu, Jun 24, 2021 at 09:29:10AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in tegra.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/tegra/drm.c | 7 -------
>  1 file changed, 7 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24 12:04     ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:04 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, jani.nikula,
	rodrigo.vivi, linux, kieran.bingham+renesas, rodrigosiqueiramelo,
	melissa.srw, hamohammed.sa, amd-gfx, dri-devel, linux-arm-kernel,
	linux-samsung-soc, linux-mediatek, nouveau, linux-rockchip,
	linux-stm32, linux-sunxi, linux-tegra, intel-gfx, Daniel Vetter


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

On Thu, Jun 24, 2021 at 09:29:10AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in tegra.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/tegra/drm.c | 7 -------
>  1 file changed, 7 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24 12:04     ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:04 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, laurent.pinchart, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, intel-gfx, linux-graphics-maintainer,
	linux-sunxi, bskeggs, chunkuang.hu, puck.chen, s.hauer,
	Daniel Vetter, rodrigosiqueiramelo, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo

[-- Attachment #1: Type: text/plain, Size: 507 bytes --]

On Thu, Jun 24, 2021 at 09:29:10AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in tegra.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/tegra/drm.c | 7 -------
>  1 file changed, 7 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24 12:04     ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:04 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, alexandre.torgue,
	dri-devel, michal.simek, melissa.srw, linux-tegra,
	laurent.pinchart, benjamin.gaignard, linux, mihail.atanassov,
	festevam, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, intel-gfx, linux-graphics-maintainer,
	linux-sunxi, bskeggs, chunkuang.hu, p.zabel, puck.chen, s.hauer,
	Daniel Vetter, mripard, inki.dae, rodrigosiqueiramelo,
	john.stultz, laurentiu.palcu, matthias.bgg, kernel,
	linux-arm-kernel, mcoquelin.stm32, amd-gfx, hyun.kwon, tomba,
	jyri.sarha, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc,
	christian.koenig, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, alexander.deucher, tiantao6, shawnguo, zackr,
	l.stach


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

On Thu, Jun 24, 2021 at 09:29:10AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in tegra.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/tegra/drm.c | 7 -------
>  1 file changed, 7 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 21/27] drm/tegra: Don't set struct drm_device.irq_enabled
@ 2021-06-24 12:04     ` Thierry Reding
  0 siblings, 0 replies; 260+ messages in thread
From: Thierry Reding @ 2021-06-24 12:04 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec, jonathanh,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	intel-gfx, linux-graphics-maintainer, linux-sunxi, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	Daniel Vetter, mripard, inki.dae, rodrigosiqueiramelo,
	john.stultz, jani.nikula, laurentiu.palcu, matthias.bgg, kernel,
	linux-arm-kernel, mcoquelin.stm32, amd-gfx, hyun.kwon, tomba,
	jyri.sarha, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc,
	christian.koenig, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, daniel, alexander.deucher, tiantao6, shawnguo,
	brian.starkey, zackr, l.stach


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

On Thu, Jun 24, 2021 at 09:29:10AM +0200, Thomas Zimmermann wrote:
> The field drm_device.irq_enabled is only used by legacy drivers
> with userspace modesetting. Don't set it in tegra.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/tegra/drm.c | 7 -------
>  1 file changed, 7 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24 12:03             ` [Nouveau] " Thierry Reding
                                 ` (3 preceding siblings ...)
  (?)
@ 2021-06-24 12:36               ` Jani Nikula
  -1 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24 12:36 UTC (permalink / raw)
  To: Thierry Reding, Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa, linux-samsung-soc, nouveau, intel-gfx, dri-devel,
	linux-stm32, linux-rockchip, linux-mediatek, amd-gfx,
	Daniel Vetter, linux-tegra, linux-sunxi, linux-arm-kernel

On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>> Hi
>> 
>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > Hi
>> > > 
>> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> > > > > index 3417e1ac7918..10fe16bafcb6 100644
>> > > > > --- a/drivers/gpu/drm/drm_vblank.c
>> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
>> > > > > @@ -1748,8 +1748,16 @@ 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)
>> > > > > -		return -EOPNOTSUPP;
>> > > > > +#if defined(CONFIG_DRM_LEGACY)
>> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> > > > > +		if (!dev->irq_enabled)
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	} else /* if DRIVER_MODESET */
>> > > > > +#endif
>> > > > > +	{
>> > > > > +		if (!drm_dev_has_vblank(dev))
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	}
>> > > > 
>> > > > Sheesh I hate this kind of inline #ifdefs.
>> > > > 
>> > > > Two alternate suggestions that I believe should be as just efficient:
>> > > 
>> > > Or how about:
>> > > 
>> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
>> > > 
>> > > {
>> > > 
>> > > if defined(CONFIG_DRM_LEGACY)
>> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> > > 
>> > > 		return dev->irq_enabled;
>> > > 
>> > > #endif
>> > > 	return drm_dev_has_vblank(dev);
>> > > 
>> > > }
>> > > 
>> > > 
>> > > ?
>> > > 
>> > > It's inline, but still readable.
>> > 
>> > It's definitely better than the original, but it's unclear to me why
>> > you'd prefer this over option 2) below. I guess the only reason I can
>> > think of is emphasizing the conditional compilation. However,
>> > IS_ENABLED() is widely used in this manner specifically to avoid inline
>> > #if, and the compiler optimizes it away.
>> 
>> It's simply more readable to me as the condition is simpler. But option 2 is
>> also ok.
>
> Perhaps do something like this, then:
>
> 	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);
>
> That's about just as readable as the variant involving the preprocessor
> but has all the benefits of not using the preprocessor.

Looks like a winner to me. :)

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:36               ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24 12:36 UTC (permalink / raw)
  To: Thierry Reding, Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	p.zabel, puck.chen, s.hauer, maarten.lankhorst, mripard,
	inki.dae, rodrigosiqueiramelo, john.stultz, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, daniel,
	alexander.deucher, tiantao6, shawnguo, brian.starkey, zackr,
	l.stach

On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>> Hi
>> 
>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > Hi
>> > > 
>> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> > > > > index 3417e1ac7918..10fe16bafcb6 100644
>> > > > > --- a/drivers/gpu/drm/drm_vblank.c
>> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
>> > > > > @@ -1748,8 +1748,16 @@ 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)
>> > > > > -		return -EOPNOTSUPP;
>> > > > > +#if defined(CONFIG_DRM_LEGACY)
>> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> > > > > +		if (!dev->irq_enabled)
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	} else /* if DRIVER_MODESET */
>> > > > > +#endif
>> > > > > +	{
>> > > > > +		if (!drm_dev_has_vblank(dev))
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	}
>> > > > 
>> > > > Sheesh I hate this kind of inline #ifdefs.
>> > > > 
>> > > > Two alternate suggestions that I believe should be as just efficient:
>> > > 
>> > > Or how about:
>> > > 
>> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
>> > > 
>> > > {
>> > > 
>> > > if defined(CONFIG_DRM_LEGACY)
>> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> > > 
>> > > 		return dev->irq_enabled;
>> > > 
>> > > #endif
>> > > 	return drm_dev_has_vblank(dev);
>> > > 
>> > > }
>> > > 
>> > > 
>> > > ?
>> > > 
>> > > It's inline, but still readable.
>> > 
>> > It's definitely better than the original, but it's unclear to me why
>> > you'd prefer this over option 2) below. I guess the only reason I can
>> > think of is emphasizing the conditional compilation. However,
>> > IS_ENABLED() is widely used in this manner specifically to avoid inline
>> > #if, and the compiler optimizes it away.
>> 
>> It's simply more readable to me as the condition is simpler. But option 2 is
>> also ok.
>
> Perhaps do something like this, then:
>
> 	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);
>
> That's about just as readable as the variant involving the preprocessor
> but has all the benefits of not using the preprocessor.

Looks like a winner to me. :)

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:36               ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24 12:36 UTC (permalink / raw)
  To: Thierry Reding, Thomas Zimmermann
  Cc: daniel, airlied, alexander.deucher, christian.koenig, Xinhui.Pan,
	james.qian.wang, liviu.dudau, mihail.atanassov, brian.starkey,
	maarten.lankhorst, mripard, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, xinliang.liu, tiantao6,
	john.stultz, kong.kongxinwei, puck.chen, laurentiu.palcu,
	l.stach, p.zabel, shawnguo, s.hauer, kernel, festevam, linux-imx,
	chunkuang.hu, matthias.bgg, bskeggs, tomba, hjc, heiko,
	benjamin.gaignard, yannick.fertre, philippe.cornu,
	mcoquelin.stm32, alexandre.torgue, wens, jernej.skrabec,
	jonathanh, jyri.sarha, emma, linux-graphics-maintainer, zackr,
	hyun.kwon, laurent.pinchart, michal.simek, rodrigo.vivi, linux,
	kieran.bingham+renesas, rodrigosiqueiramelo, melissa.srw,
	hamohammed.sa, linux-samsung-soc, nouveau, intel-gfx, dri-devel,
	linux-stm32, linux-rockchip, linux-mediatek, amd-gfx,
	Daniel Vetter, linux-tegra, linux-sunxi, linux-arm-kernel

On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>> Hi
>> 
>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > Hi
>> > > 
>> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> > > > > index 3417e1ac7918..10fe16bafcb6 100644
>> > > > > --- a/drivers/gpu/drm/drm_vblank.c
>> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
>> > > > > @@ -1748,8 +1748,16 @@ 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)
>> > > > > -		return -EOPNOTSUPP;
>> > > > > +#if defined(CONFIG_DRM_LEGACY)
>> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> > > > > +		if (!dev->irq_enabled)
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	} else /* if DRIVER_MODESET */
>> > > > > +#endif
>> > > > > +	{
>> > > > > +		if (!drm_dev_has_vblank(dev))
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	}
>> > > > 
>> > > > Sheesh I hate this kind of inline #ifdefs.
>> > > > 
>> > > > Two alternate suggestions that I believe should be as just efficient:
>> > > 
>> > > Or how about:
>> > > 
>> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
>> > > 
>> > > {
>> > > 
>> > > if defined(CONFIG_DRM_LEGACY)
>> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> > > 
>> > > 		return dev->irq_enabled;
>> > > 
>> > > #endif
>> > > 	return drm_dev_has_vblank(dev);
>> > > 
>> > > }
>> > > 
>> > > 
>> > > ?
>> > > 
>> > > It's inline, but still readable.
>> > 
>> > It's definitely better than the original, but it's unclear to me why
>> > you'd prefer this over option 2) below. I guess the only reason I can
>> > think of is emphasizing the conditional compilation. However,
>> > IS_ENABLED() is widely used in this manner specifically to avoid inline
>> > #if, and the compiler optimizes it away.
>> 
>> It's simply more readable to me as the condition is simpler. But option 2 is
>> also ok.
>
> Perhaps do something like this, then:
>
> 	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);
>
> That's about just as readable as the variant involving the preprocessor
> but has all the benefits of not using the preprocessor.

Looks like a winner to me. :)

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:36               ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24 12:36 UTC (permalink / raw)
  To: Thierry Reding, Thomas Zimmermann
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, laurent.pinchart, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	puck.chen, s.hauer, rodrigosiqueiramelo, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo

On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>> Hi
>> 
>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > Hi
>> > > 
>> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> > > > > index 3417e1ac7918..10fe16bafcb6 100644
>> > > > > --- a/drivers/gpu/drm/drm_vblank.c
>> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
>> > > > > @@ -1748,8 +1748,16 @@ 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)
>> > > > > -		return -EOPNOTSUPP;
>> > > > > +#if defined(CONFIG_DRM_LEGACY)
>> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> > > > > +		if (!dev->irq_enabled)
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	} else /* if DRIVER_MODESET */
>> > > > > +#endif
>> > > > > +	{
>> > > > > +		if (!drm_dev_has_vblank(dev))
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	}
>> > > > 
>> > > > Sheesh I hate this kind of inline #ifdefs.
>> > > > 
>> > > > Two alternate suggestions that I believe should be as just efficient:
>> > > 
>> > > Or how about:
>> > > 
>> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
>> > > 
>> > > {
>> > > 
>> > > if defined(CONFIG_DRM_LEGACY)
>> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> > > 
>> > > 		return dev->irq_enabled;
>> > > 
>> > > #endif
>> > > 	return drm_dev_has_vblank(dev);
>> > > 
>> > > }
>> > > 
>> > > 
>> > > ?
>> > > 
>> > > It's inline, but still readable.
>> > 
>> > It's definitely better than the original, but it's unclear to me why
>> > you'd prefer this over option 2) below. I guess the only reason I can
>> > think of is emphasizing the conditional compilation. However,
>> > IS_ENABLED() is widely used in this manner specifically to avoid inline
>> > #if, and the compiler optimizes it away.
>> 
>> It's simply more readable to me as the condition is simpler. But option 2 is
>> also ok.
>
> Perhaps do something like this, then:
>
> 	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);
>
> That's about just as readable as the variant involving the preprocessor
> but has all the benefits of not using the preprocessor.

Looks like a winner to me. :)

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:36               ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24 12:36 UTC (permalink / raw)
  To: Thierry Reding, Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, alexandre.torgue,
	dri-devel, michal.simek, melissa.srw, linux-tegra,
	laurent.pinchart, benjamin.gaignard, linux, mihail.atanassov,
	festevam, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	p.zabel, puck.chen, s.hauer, mripard, inki.dae,
	rodrigosiqueiramelo, john.stultz, laurentiu.palcu, matthias.bgg,
	kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx, hyun.kwon,
	tomba, jyri.sarha, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc,
	christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo, zackr, l.stach

On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>> Hi
>> 
>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > Hi
>> > > 
>> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> > > > > index 3417e1ac7918..10fe16bafcb6 100644
>> > > > > --- a/drivers/gpu/drm/drm_vblank.c
>> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
>> > > > > @@ -1748,8 +1748,16 @@ 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)
>> > > > > -		return -EOPNOTSUPP;
>> > > > > +#if defined(CONFIG_DRM_LEGACY)
>> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> > > > > +		if (!dev->irq_enabled)
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	} else /* if DRIVER_MODESET */
>> > > > > +#endif
>> > > > > +	{
>> > > > > +		if (!drm_dev_has_vblank(dev))
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	}
>> > > > 
>> > > > Sheesh I hate this kind of inline #ifdefs.
>> > > > 
>> > > > Two alternate suggestions that I believe should be as just efficient:
>> > > 
>> > > Or how about:
>> > > 
>> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
>> > > 
>> > > {
>> > > 
>> > > if defined(CONFIG_DRM_LEGACY)
>> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> > > 
>> > > 		return dev->irq_enabled;
>> > > 
>> > > #endif
>> > > 	return drm_dev_has_vblank(dev);
>> > > 
>> > > }
>> > > 
>> > > 
>> > > ?
>> > > 
>> > > It's inline, but still readable.
>> > 
>> > It's definitely better than the original, but it's unclear to me why
>> > you'd prefer this over option 2) below. I guess the only reason I can
>> > think of is emphasizing the conditional compilation. However,
>> > IS_ENABLED() is widely used in this manner specifically to avoid inline
>> > #if, and the compiler optimizes it away.
>> 
>> It's simply more readable to me as the condition is simpler. But option 2 is
>> also ok.
>
> Perhaps do something like this, then:
>
> 	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);
>
> That's about just as readable as the variant involving the preprocessor
> but has all the benefits of not using the preprocessor.

Looks like a winner to me. :)

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:36               ` Jani Nikula
  0 siblings, 0 replies; 260+ messages in thread
From: Jani Nikula @ 2021-06-24 12:36 UTC (permalink / raw)
  To: Thierry Reding, Thomas Zimmermann
  Cc: hamohammed.sa, heiko, emma, airlied, nouveau, rodrigo.vivi,
	liviu.dudau, alexandre.torgue, dri-devel, michal.simek,
	melissa.srw, linux-tegra, laurent.pinchart, benjamin.gaignard,
	linux, mihail.atanassov, festevam, linux-stm32,
	linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	linux-rockchip, linux-mediatek, wens, jernej.skrabec, jonathanh,
	xinliang.liu, kong.kongxinwei, james.qian.wang, linux-imx,
	Daniel Vetter, linux-graphics-maintainer, intel-gfx, bskeggs,
	chunkuang.hu, p.zabel, puck.chen, s.hauer, maarten.lankhorst,
	mripard, inki.dae, rodrigosiqueiramelo, john.stultz,
	laurentiu.palcu, matthias.bgg, kernel, linux-arm-kernel,
	mcoquelin.stm32, amd-gfx, hyun.kwon, tomba, jyri.sarha,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, christian.koenig,
	linux-sunxi, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, daniel, alexander.deucher, tiantao6, shawnguo,
	brian.starkey, zackr, l.stach

On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>> Hi
>> 
>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>> > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > Hi
>> > > 
>> > > Am 24.06.21 um 10:06 schrieb Jani Nikula:
>> > > > On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>> > > > > index 3417e1ac7918..10fe16bafcb6 100644
>> > > > > --- a/drivers/gpu/drm/drm_vblank.c
>> > > > > +++ b/drivers/gpu/drm/drm_vblank.c
>> > > > > @@ -1748,8 +1748,16 @@ 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)
>> > > > > -		return -EOPNOTSUPP;
>> > > > > +#if defined(CONFIG_DRM_LEGACY)
>> > > > > +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>> > > > > +		if (!dev->irq_enabled)
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	} else /* if DRIVER_MODESET */
>> > > > > +#endif
>> > > > > +	{
>> > > > > +		if (!drm_dev_has_vblank(dev))
>> > > > > +			return -EOPNOTSUPP;
>> > > > > +	}
>> > > > 
>> > > > Sheesh I hate this kind of inline #ifdefs.
>> > > > 
>> > > > Two alternate suggestions that I believe should be as just efficient:
>> > > 
>> > > Or how about:
>> > > 
>> > > static bool drm_wait_vblank_supported(struct drm_device *dev)
>> > > 
>> > > {
>> > > 
>> > > if defined(CONFIG_DRM_LEGACY)
>> > > 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>> > > 
>> > > 		return dev->irq_enabled;
>> > > 
>> > > #endif
>> > > 	return drm_dev_has_vblank(dev);
>> > > 
>> > > }
>> > > 
>> > > 
>> > > ?
>> > > 
>> > > It's inline, but still readable.
>> > 
>> > It's definitely better than the original, but it's unclear to me why
>> > you'd prefer this over option 2) below. I guess the only reason I can
>> > think of is emphasizing the conditional compilation. However,
>> > IS_ENABLED() is widely used in this manner specifically to avoid inline
>> > #if, and the compiler optimizes it away.
>> 
>> It's simply more readable to me as the condition is simpler. But option 2 is
>> also ok.
>
> Perhaps do something like this, then:
>
> 	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);
>
> That's about just as readable as the variant involving the preprocessor
> but has all the benefits of not using the preprocessor.

Looks like a winner to me. :)

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
  2021-06-24 12:36               ` [Nouveau] " Jani Nikula
                                   ` (4 preceding siblings ...)
  (?)
@ 2021-06-24 12:57                 ` Thomas Zimmermann
  -1 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw)
  To: Jani Nikula, Thierry Reding
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, laurent.pinchart, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	puck.chen, s.hauer, rodrigosiqueiramelo, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo


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

Hi

Am 24.06.21 um 14:36 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
>> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>> Hi
>>>>>
>>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>>>>> @@ -1748,8 +1748,16 @@ 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)
>>>>>>> -		return -EOPNOTSUPP;
>>>>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>>>>> +		if (!dev->irq_enabled)
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	} else /* if DRIVER_MODESET */
>>>>>>> +#endif
>>>>>>> +	{
>>>>>>> +		if (!drm_dev_has_vblank(dev))
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	}
>>>>>>
>>>>>> Sheesh I hate this kind of inline #ifdefs.
>>>>>>
>>>>>> Two alternate suggestions that I believe should be as just efficient:
>>>>>
>>>>> Or how about:
>>>>>
>>>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>>>>
>>>>> {
>>>>>
>>>>> if defined(CONFIG_DRM_LEGACY)
>>>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>>>>
>>>>> 		return dev->irq_enabled;
>>>>>
>>>>> #endif
>>>>> 	return drm_dev_has_vblank(dev);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> ?
>>>>>
>>>>> It's inline, but still readable.
>>>>
>>>> It's definitely better than the original, but it's unclear to me why
>>>> you'd prefer this over option 2) below. I guess the only reason I can
>>>> think of is emphasizing the conditional compilation. However,
>>>> IS_ENABLED() is widely used in this manner specifically to avoid inline
>>>> #if, and the compiler optimizes it away.
>>>
>>> It's simply more readable to me as the condition is simpler. But option 2 is
>>> also ok.
>>
>> Perhaps do something like this, then:
>>
>> 	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);
>>
>> That's about just as readable as the variant involving the preprocessor
>> but has all the benefits of not using the preprocessor.
> 
> Looks like a winner to me. :)

That's the most readable.

But I just remembered that irq_enabled will likely become legacy-only in 
the device structure. We'll need an ifdef variant then. :/

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Nouveau] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:57                 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw)
  To: Jani Nikula, Thierry Reding
  Cc: hamohammed.sa, emma, airlied, nouveau, laurentiu.palcu,
	liviu.dudau, alexandre.torgue, dri-devel, linux, melissa.srw,
	matthias.bgg, laurent.pinchart, benjamin.gaignard,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, tomba, michal.simek, jernej.skrabec,
	linux-rockchip, wens, james.qian.wang, linux-imx, xinliang.liu,
	linux-graphics-maintainer, kong.kongxinwei, s.hauer, bskeggs,
	chunkuang.hu, mcoquelin.stm32, puck.chen, intel-gfx,
	linux-mediatek, rodrigo.vivi, linux-tegra, linux-arm-kernel,
	amd-gfx, hyun.kwon, rodrigosiqueiramelo, shawnguo,
	yannick.fertre, Xinhui.Pan, sw0312.kim, hjc, linux-sunxi,
	kyungmin.park, kieran.bingham+renesas, philippe.cornu, kernel,
	alexander.deucher, tiantao6, jyri.sarha, christian.koenig


[-- Attachment #1.1.1: Type: text/plain, Size: 3127 bytes --]

Hi

Am 24.06.21 um 14:36 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
>> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>> Hi
>>>>>
>>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>>>>> @@ -1748,8 +1748,16 @@ 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)
>>>>>>> -		return -EOPNOTSUPP;
>>>>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>>>>> +		if (!dev->irq_enabled)
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	} else /* if DRIVER_MODESET */
>>>>>>> +#endif
>>>>>>> +	{
>>>>>>> +		if (!drm_dev_has_vblank(dev))
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	}
>>>>>>
>>>>>> Sheesh I hate this kind of inline #ifdefs.
>>>>>>
>>>>>> Two alternate suggestions that I believe should be as just efficient:
>>>>>
>>>>> Or how about:
>>>>>
>>>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>>>>
>>>>> {
>>>>>
>>>>> if defined(CONFIG_DRM_LEGACY)
>>>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>>>>
>>>>> 		return dev->irq_enabled;
>>>>>
>>>>> #endif
>>>>> 	return drm_dev_has_vblank(dev);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> ?
>>>>>
>>>>> It's inline, but still readable.
>>>>
>>>> It's definitely better than the original, but it's unclear to me why
>>>> you'd prefer this over option 2) below. I guess the only reason I can
>>>> think of is emphasizing the conditional compilation. However,
>>>> IS_ENABLED() is widely used in this manner specifically to avoid inline
>>>> #if, and the compiler optimizes it away.
>>>
>>> It's simply more readable to me as the condition is simpler. But option 2 is
>>> also ok.
>>
>> Perhaps do something like this, then:
>>
>> 	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);
>>
>> That's about just as readable as the variant involving the preprocessor
>> but has all the benefits of not using the preprocessor.
> 
> Looks like a winner to me. :)

That's the most readable.

But I just remembered that irq_enabled will likely become legacy-only in 
the device structure. We'll need an ifdef variant then. :/

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:57                 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw)
  To: Jani Nikula, Thierry Reding
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, laurent.pinchart, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	puck.chen, s.hauer, rodrigosiqueiramelo, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo


[-- Attachment #1.1.1: Type: text/plain, Size: 3127 bytes --]

Hi

Am 24.06.21 um 14:36 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
>> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>> Hi
>>>>>
>>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>>>>> @@ -1748,8 +1748,16 @@ 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)
>>>>>>> -		return -EOPNOTSUPP;
>>>>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>>>>> +		if (!dev->irq_enabled)
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	} else /* if DRIVER_MODESET */
>>>>>>> +#endif
>>>>>>> +	{
>>>>>>> +		if (!drm_dev_has_vblank(dev))
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	}
>>>>>>
>>>>>> Sheesh I hate this kind of inline #ifdefs.
>>>>>>
>>>>>> Two alternate suggestions that I believe should be as just efficient:
>>>>>
>>>>> Or how about:
>>>>>
>>>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>>>>
>>>>> {
>>>>>
>>>>> if defined(CONFIG_DRM_LEGACY)
>>>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>>>>
>>>>> 		return dev->irq_enabled;
>>>>>
>>>>> #endif
>>>>> 	return drm_dev_has_vblank(dev);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> ?
>>>>>
>>>>> It's inline, but still readable.
>>>>
>>>> It's definitely better than the original, but it's unclear to me why
>>>> you'd prefer this over option 2) below. I guess the only reason I can
>>>> think of is emphasizing the conditional compilation. However,
>>>> IS_ENABLED() is widely used in this manner specifically to avoid inline
>>>> #if, and the compiler optimizes it away.
>>>
>>> It's simply more readable to me as the condition is simpler. But option 2 is
>>> also ok.
>>
>> Perhaps do something like this, then:
>>
>> 	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);
>>
>> That's about just as readable as the variant involving the preprocessor
>> but has all the benefits of not using the preprocessor.
> 
> Looks like a winner to me. :)

That's the most readable.

But I just remembered that irq_enabled will likely become legacy-only in 
the device structure. We'll need an ifdef variant then. :/

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:57                 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw)
  To: Jani Nikula, Thierry Reding
  Cc: hamohammed.sa, emma, airlied, nouveau, rodrigo.vivi, liviu.dudau,
	alexandre.torgue, dri-devel, michal.simek, melissa.srw,
	linux-tegra, laurent.pinchart, benjamin.gaignard, linux,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, linux-rockchip, linux-mediatek, wens,
	jernej.skrabec, jonathanh, xinliang.liu, kong.kongxinwei,
	james.qian.wang, linux-imx, Daniel Vetter,
	linux-graphics-maintainer, intel-gfx, bskeggs, chunkuang.hu,
	puck.chen, s.hauer, rodrigosiqueiramelo, laurentiu.palcu,
	matthias.bgg, kernel, linux-arm-kernel, mcoquelin.stm32, amd-gfx,
	hyun.kwon, tomba, jyri.sarha, yannick.fertre, Xinhui.Pan,
	sw0312.kim, hjc, christian.koenig, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, alexander.deucher,
	tiantao6, shawnguo


[-- Attachment #1.1.1: Type: text/plain, Size: 3127 bytes --]

Hi

Am 24.06.21 um 14:36 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
>> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>> Hi
>>>>>
>>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>>>>> @@ -1748,8 +1748,16 @@ 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)
>>>>>>> -		return -EOPNOTSUPP;
>>>>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>>>>> +		if (!dev->irq_enabled)
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	} else /* if DRIVER_MODESET */
>>>>>>> +#endif
>>>>>>> +	{
>>>>>>> +		if (!drm_dev_has_vblank(dev))
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	}
>>>>>>
>>>>>> Sheesh I hate this kind of inline #ifdefs.
>>>>>>
>>>>>> Two alternate suggestions that I believe should be as just efficient:
>>>>>
>>>>> Or how about:
>>>>>
>>>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>>>>
>>>>> {
>>>>>
>>>>> if defined(CONFIG_DRM_LEGACY)
>>>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>>>>
>>>>> 		return dev->irq_enabled;
>>>>>
>>>>> #endif
>>>>> 	return drm_dev_has_vblank(dev);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> ?
>>>>>
>>>>> It's inline, but still readable.
>>>>
>>>> It's definitely better than the original, but it's unclear to me why
>>>> you'd prefer this over option 2) below. I guess the only reason I can
>>>> think of is emphasizing the conditional compilation. However,
>>>> IS_ENABLED() is widely used in this manner specifically to avoid inline
>>>> #if, and the compiler optimizes it away.
>>>
>>> It's simply more readable to me as the condition is simpler. But option 2 is
>>> also ok.
>>
>> Perhaps do something like this, then:
>>
>> 	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);
>>
>> That's about just as readable as the variant involving the preprocessor
>> but has all the benefits of not using the preprocessor.
> 
> Looks like a winner to me. :)

That's the most readable.

But I just remembered that irq_enabled will likely become legacy-only in 
the device structure. We'll need an ifdef variant then. :/

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:57                 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw)
  To: Jani Nikula, Thierry Reding
  Cc: hamohammed.sa, emma, airlied, nouveau, laurentiu.palcu,
	liviu.dudau, alexandre.torgue, dri-devel, linux, melissa.srw,
	matthias.bgg, laurent.pinchart, benjamin.gaignard,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, tomba, michal.simek, jernej.skrabec,
	jonathanh, linux-rockchip, wens, james.qian.wang, linux-imx,
	xinliang.liu, Daniel Vetter, linux-graphics-maintainer,
	kong.kongxinwei, s.hauer, bskeggs, chunkuang.hu, mcoquelin.stm32,
	puck.chen, intel-gfx, linux-mediatek, rodrigo.vivi, linux-tegra,
	linux-arm-kernel, amd-gfx, hyun.kwon, rodrigosiqueiramelo,
	shawnguo, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc,
	linux-sunxi, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, kernel, alexander.deucher, tiantao6, jyri.sarha,
	christian.koenig


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

Hi

Am 24.06.21 um 14:36 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
>> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>> Hi
>>>>>
>>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>>>>> @@ -1748,8 +1748,16 @@ 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)
>>>>>>> -		return -EOPNOTSUPP;
>>>>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>>>>> +		if (!dev->irq_enabled)
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	} else /* if DRIVER_MODESET */
>>>>>>> +#endif
>>>>>>> +	{
>>>>>>> +		if (!drm_dev_has_vblank(dev))
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	}
>>>>>>
>>>>>> Sheesh I hate this kind of inline #ifdefs.
>>>>>>
>>>>>> Two alternate suggestions that I believe should be as just efficient:
>>>>>
>>>>> Or how about:
>>>>>
>>>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>>>>
>>>>> {
>>>>>
>>>>> if defined(CONFIG_DRM_LEGACY)
>>>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>>>>
>>>>> 		return dev->irq_enabled;
>>>>>
>>>>> #endif
>>>>> 	return drm_dev_has_vblank(dev);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> ?
>>>>>
>>>>> It's inline, but still readable.
>>>>
>>>> It's definitely better than the original, but it's unclear to me why
>>>> you'd prefer this over option 2) below. I guess the only reason I can
>>>> think of is emphasizing the conditional compilation. However,
>>>> IS_ENABLED() is widely used in this manner specifically to avoid inline
>>>> #if, and the compiler optimizes it away.
>>>
>>> It's simply more readable to me as the condition is simpler. But option 2 is
>>> also ok.
>>
>> Perhaps do something like this, then:
>>
>> 	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);
>>
>> That's about just as readable as the variant involving the preprocessor
>> but has all the benefits of not using the preprocessor.
> 
> Looks like a winner to me. :)

That's the most readable.

But I just remembered that irq_enabled will likely become legacy-only in 
the device structure. We'll need an ifdef variant then. :/

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 

-- 
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [Intel-gfx] [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:57                 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw)
  To: Jani Nikula, Thierry Reding
  Cc: hamohammed.sa, emma, airlied, nouveau, laurentiu.palcu,
	alexandre.torgue, dri-devel, linux, melissa.srw, matthias.bgg,
	laurent.pinchart, benjamin.gaignard, mihail.atanassov,
	linux-stm32, linux-samsung-soc, jy0922.shim, krzysztof.kozlowski,
	tomba, michal.simek, jernej.skrabec, jonathanh, linux-rockchip,
	wens, james.qian.wang, linux-imx, xinliang.liu, Daniel Vetter,
	linux-graphics-maintainer, kong.kongxinwei, s.hauer, bskeggs,
	chunkuang.hu, mcoquelin.stm32, puck.chen, intel-gfx,
	linux-mediatek, linux-tegra, linux-arm-kernel, amd-gfx,
	hyun.kwon, rodrigosiqueiramelo, shawnguo, yannick.fertre,
	Xinhui.Pan, sw0312.kim, hjc, linux-sunxi, kyungmin.park,
	kieran.bingham+renesas, philippe.cornu, kernel,
	alexander.deucher, tiantao6, jyri.sarha, christian.koenig


[-- Attachment #1.1.1: Type: text/plain, Size: 3127 bytes --]

Hi

Am 24.06.21 um 14:36 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
>> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>> Hi
>>>>>
>>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>>>>> @@ -1748,8 +1748,16 @@ 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)
>>>>>>> -		return -EOPNOTSUPP;
>>>>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>>>>> +		if (!dev->irq_enabled)
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	} else /* if DRIVER_MODESET */
>>>>>>> +#endif
>>>>>>> +	{
>>>>>>> +		if (!drm_dev_has_vblank(dev))
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	}
>>>>>>
>>>>>> Sheesh I hate this kind of inline #ifdefs.
>>>>>>
>>>>>> Two alternate suggestions that I believe should be as just efficient:
>>>>>
>>>>> Or how about:
>>>>>
>>>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>>>>
>>>>> {
>>>>>
>>>>> if defined(CONFIG_DRM_LEGACY)
>>>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>>>>
>>>>> 		return dev->irq_enabled;
>>>>>
>>>>> #endif
>>>>> 	return drm_dev_has_vblank(dev);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> ?
>>>>>
>>>>> It's inline, but still readable.
>>>>
>>>> It's definitely better than the original, but it's unclear to me why
>>>> you'd prefer this over option 2) below. I guess the only reason I can
>>>> think of is emphasizing the conditional compilation. However,
>>>> IS_ENABLED() is widely used in this manner specifically to avoid inline
>>>> #if, and the compiler optimizes it away.
>>>
>>> It's simply more readable to me as the condition is simpler. But option 2 is
>>> also ok.
>>
>> Perhaps do something like this, then:
>>
>> 	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);
>>
>> That's about just as readable as the variant involving the preprocessor
>> but has all the benefits of not using the preprocessor.
> 
> Looks like a winner to me. :)

That's the most readable.

But I just remembered that irq_enabled will likely become legacy-only in 
the device structure. We'll need an ifdef variant then. :/

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

* Re: [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls
@ 2021-06-24 12:57                 ` Thomas Zimmermann
  0 siblings, 0 replies; 260+ messages in thread
From: Thomas Zimmermann @ 2021-06-24 12:57 UTC (permalink / raw)
  To: Jani Nikula, Thierry Reding
  Cc: hamohammed.sa, emma, airlied, nouveau, laurentiu.palcu,
	liviu.dudau, alexandre.torgue, dri-devel, linux, melissa.srw,
	matthias.bgg, laurent.pinchart, benjamin.gaignard,
	mihail.atanassov, linux-stm32, linux-samsung-soc, jy0922.shim,
	krzysztof.kozlowski, tomba, michal.simek, jernej.skrabec,
	jonathanh, linux-rockchip, wens, james.qian.wang, linux-imx,
	xinliang.liu, Daniel Vetter, linux-graphics-maintainer,
	kong.kongxinwei, s.hauer, bskeggs, chunkuang.hu, mcoquelin.stm32,
	puck.chen, intel-gfx, linux-mediatek, rodrigo.vivi, linux-tegra,
	linux-arm-kernel, amd-gfx, hyun.kwon, rodrigosiqueiramelo,
	shawnguo, yannick.fertre, Xinhui.Pan, sw0312.kim, hjc,
	linux-sunxi, kyungmin.park, kieran.bingham+renesas,
	philippe.cornu, kernel, alexander.deucher, tiantao6, jyri.sarha,
	christian.koenig


[-- Attachment #1.1.1: Type: text/plain, Size: 3127 bytes --]

Hi

Am 24.06.21 um 14:36 schrieb Jani Nikula:
> On Thu, 24 Jun 2021, Thierry Reding <thierry.reding@gmail.com> wrote:
>> On Thu, Jun 24, 2021 at 11:07:57AM +0200, Thomas Zimmermann wrote:
>>> Hi
>>>
>>> Am 24.06.21 um 10:51 schrieb Jani Nikula:
>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>> Hi
>>>>>
>>>>> Am 24.06.21 um 10:06 schrieb Jani Nikula:
>>>>>> On Thu, 24 Jun 2021, Thomas Zimmermann <tzimmermann@suse.de> wrote:
>>>>>>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
>>>>>>> index 3417e1ac7918..10fe16bafcb6 100644
>>>>>>> --- a/drivers/gpu/drm/drm_vblank.c
>>>>>>> +++ b/drivers/gpu/drm/drm_vblank.c
>>>>>>> @@ -1748,8 +1748,16 @@ 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)
>>>>>>> -		return -EOPNOTSUPP;
>>>>>>> +#if defined(CONFIG_DRM_LEGACY)
>>>>>>> +	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY))) {
>>>>>>> +		if (!dev->irq_enabled)
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	} else /* if DRIVER_MODESET */
>>>>>>> +#endif
>>>>>>> +	{
>>>>>>> +		if (!drm_dev_has_vblank(dev))
>>>>>>> +			return -EOPNOTSUPP;
>>>>>>> +	}
>>>>>>
>>>>>> Sheesh I hate this kind of inline #ifdefs.
>>>>>>
>>>>>> Two alternate suggestions that I believe should be as just efficient:
>>>>>
>>>>> Or how about:
>>>>>
>>>>> static bool drm_wait_vblank_supported(struct drm_device *dev)
>>>>>
>>>>> {
>>>>>
>>>>> if defined(CONFIG_DRM_LEGACY)
>>>>> 	if  (unlikely(drm_core_check_feature(dev, DRIVER_LEGACY)))
>>>>>
>>>>> 		return dev->irq_enabled;
>>>>>
>>>>> #endif
>>>>> 	return drm_dev_has_vblank(dev);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> ?
>>>>>
>>>>> It's inline, but still readable.
>>>>
>>>> It's definitely better than the original, but it's unclear to me why
>>>> you'd prefer this over option 2) below. I guess the only reason I can
>>>> think of is emphasizing the conditional compilation. However,
>>>> IS_ENABLED() is widely used in this manner specifically to avoid inline
>>>> #if, and the compiler optimizes it away.
>>>
>>> It's simply more readable to me as the condition is simpler. But option 2 is
>>> also ok.
>>
>> Perhaps do something like this, then:
>>
>> 	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);
>>
>> That's about just as readable as the variant involving the preprocessor
>> but has all the benefits of not using the preprocessor.
> 
> Looks like a winner to me. :)

That's the most readable.

But I just remembered that irq_enabled will likely become legacy-only in 
the device structure. We'll need an ifdef variant then. :/

Best regards
Thomas

> 
> BR,
> Jani.
> 
> 

-- 
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


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

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

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 260+ messages in thread

end of thread, other threads:[~2021-06-27  3:36 UTC | newest]

Thread overview: 260+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-24  7:28 [PATCH v3 00/27] Deprecate struct drm_device.irq_enabled Thomas Zimmermann
2021-06-24  7:28 ` Thomas Zimmermann
2021-06-24  7:28 ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28 ` Thomas Zimmermann
2021-06-24  7:28 ` Thomas Zimmermann
2021-06-24  7:28 ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 01/27] drm/amdgpu: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 02/27] drm/hibmc: Call drm_irq_uninstall() unconditionally Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 03/27] drm/radeon: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 04/27] drm: Don't test for IRQ support in VBLANK ioctls Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  8:06   ` Jani Nikula
2021-06-24  8:06     ` Jani Nikula
2021-06-24  8:06     ` [Intel-gfx] " Jani Nikula
2021-06-24  8:06     ` Jani Nikula
2021-06-24  8:06     ` Jani Nikula
2021-06-24  8:06     ` [Nouveau] " Jani Nikula
2021-06-24  8:19     ` Thomas Zimmermann
2021-06-24  8:19       ` Thomas Zimmermann
2021-06-24  8:19       ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  8:19       ` Thomas Zimmermann
2021-06-24  8:19       ` Thomas Zimmermann
2021-06-24  8:19       ` [Nouveau] " Thomas Zimmermann
2021-06-24  8:28     ` Thomas Zimmermann
2021-06-24  8:28       ` Thomas Zimmermann
2021-06-24  8:28       ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  8:28       ` Thomas Zimmermann
2021-06-24  8:28       ` Thomas Zimmermann
2021-06-24  8:28       ` [Nouveau] " Thomas Zimmermann
2021-06-24  8:51       ` Jani Nikula
2021-06-24  8:51         ` Jani Nikula
2021-06-24  8:51         ` [Intel-gfx] " Jani Nikula
2021-06-24  8:51         ` Jani Nikula
2021-06-24  8:51         ` Jani Nikula
2021-06-24  8:51         ` [Nouveau] " Jani Nikula
2021-06-24  9:07         ` Thomas Zimmermann
2021-06-24  9:07           ` Thomas Zimmermann
2021-06-24  9:07           ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  9:07           ` Thomas Zimmermann
2021-06-24  9:07           ` Thomas Zimmermann
2021-06-24  9:07           ` [Nouveau] " Thomas Zimmermann
2021-06-24 10:27           ` Liviu Dudau
2021-06-24 10:27             ` Liviu Dudau
2021-06-24 10:27             ` [Intel-gfx] " Liviu Dudau
2021-06-24 10:27             ` Liviu Dudau
2021-06-24 10:27             ` Liviu Dudau
2021-06-24 10:27             ` [Nouveau] " Liviu Dudau
2021-06-24 12:03           ` Thierry Reding
2021-06-24 12:03             ` Thierry Reding
2021-06-24 12:03             ` [Intel-gfx] " Thierry Reding
2021-06-24 12:03             ` Thierry Reding
2021-06-24 12:03             ` Thierry Reding
2021-06-24 12:03             ` [Nouveau] " Thierry Reding
2021-06-24 12:36             ` Jani Nikula
2021-06-24 12:36               ` Jani Nikula
2021-06-24 12:36               ` [Intel-gfx] " Jani Nikula
2021-06-24 12:36               ` Jani Nikula
2021-06-24 12:36               ` Jani Nikula
2021-06-24 12:36               ` [Nouveau] " Jani Nikula
2021-06-24 12:57               ` Thomas Zimmermann
2021-06-24 12:57                 ` Thomas Zimmermann
2021-06-24 12:57                 ` [Intel-gfx] " Thomas Zimmermann
2021-06-24 12:57                 ` Thomas Zimmermann
2021-06-24 12:57                 ` Thomas Zimmermann
2021-06-24 12:57                 ` Thomas Zimmermann
2021-06-24 12:57                 ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 05/27] drm/armada: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 06/27] drm/i915: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  8:08   ` Jani Nikula
2021-06-24  8:08     ` Jani Nikula
2021-06-24  8:08     ` [Intel-gfx] " Jani Nikula
2021-06-24  8:08     ` Jani Nikula
2021-06-24  8:08     ` Jani Nikula
2021-06-24  8:08     ` [Nouveau] " Jani Nikula
2021-06-24  7:28 ` [PATCH v3 07/27] drm/komeda: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 08/27] drm/malidp: " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 09/27] drm/exynos: " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:28 ` [PATCH v3 10/27] drm/kirin: " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` Thomas Zimmermann
2021-06-24  7:28   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 11/27] drm/imx: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  8:25   ` Philipp Zabel
2021-06-24  8:25     ` Philipp Zabel
2021-06-24  8:25     ` [Intel-gfx] " Philipp Zabel
2021-06-24  8:25     ` Philipp Zabel
2021-06-24  8:25     ` Philipp Zabel
2021-06-24  8:25     ` [Nouveau] " Philipp Zabel
2021-06-24  8:25     ` Philipp Zabel
2021-06-24  7:29 ` [PATCH v3 12/27] drm/imx/dcss: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 13/27] drm/mediatek: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 14/27] drm/nouveau: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 15/27] drm/omapdrm: Track IRQ state in local device state Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 16/27] drm/rcar-du: Don't set struct drm_device.irq_enabled Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24 10:47   ` Laurent Pinchart
2021-06-24 10:47     ` Laurent Pinchart
2021-06-24 10:47     ` [Intel-gfx] " Laurent Pinchart
2021-06-24 10:47     ` Laurent Pinchart
2021-06-24 10:47     ` Laurent Pinchart
2021-06-24 10:47     ` Laurent Pinchart
2021-06-24 10:47     ` [Nouveau] " Laurent Pinchart
2021-06-24  7:29 ` [PATCH v3 17/27] drm/rockchip: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 18/27] drm/sti: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 19/27] drm/stm: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 20/27] drm/sun4i: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 21/27] drm/tegra: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24 12:04   ` Thierry Reding
2021-06-24 12:04     ` Thierry Reding
2021-06-24 12:04     ` [Intel-gfx] " Thierry Reding
2021-06-24 12:04     ` Thierry Reding
2021-06-24 12:04     ` Thierry Reding
2021-06-24 12:04     ` [Nouveau] " Thierry Reding
2021-06-24  7:29 ` [PATCH v3 22/27] drm/tidss: Don't use " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 23/27] drm/vc4: Don't set " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 24/27] drm/vkms: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24 10:48   ` Laurent Pinchart
2021-06-24 10:48     ` Laurent Pinchart
2021-06-24 10:48     ` [Intel-gfx] " Laurent Pinchart
2021-06-24 10:48     ` Laurent Pinchart
2021-06-24 10:48     ` Laurent Pinchart
2021-06-24 10:48     ` Laurent Pinchart
2021-06-24 10:48     ` [Nouveau] " Laurent Pinchart
2021-06-24  7:29 ` [PATCH v3 25/27] drm/vmwgfx: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 26/27] drm/xlnx: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:29 ` [PATCH v3 27/27] drm/zte: " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Intel-gfx] " Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` Thomas Zimmermann
2021-06-24  7:29   ` [Nouveau] " Thomas Zimmermann
2021-06-24  7:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Deprecate " Patchwork
2021-06-24  7:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-06-24  8:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-06-24  9:36 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

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.