From: Thomas Zimmermann <tzimmermann@suse.de> To: daniel@ffwll.ch, airlied@linux.ie, alexander.deucher@amd.com, christian.koenig@amd.com, liviu.dudau@arm.com, brian.starkey@arm.com, sam@ravnborg.org, bbrezillon@kernel.org, nicolas.ferre@microchip.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, stefan@agner.ch, alison.wang@nxp.com, patrik.r.jakobsson@gmail.com, anitha.chrisanthus@intel.com, robdclark@gmail.com, edmund.j.dea@intel.com, sean@poorly.run, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, jyri.sarha@iki.fi, tomba@kernel.org, Dan.Sneddon@microchip.com, tomi.valkeinen@ideasonboard.com Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Thomas Zimmermann <tzimmermann@suse.de> Subject: [PATCH v2 00/14] drm: Make DRM's IRQ helpers legacy Date: Tue, 3 Aug 2021 11:06:50 +0200 [thread overview] Message-ID: <20210803090704.32152-1-tzimmermann@suse.de> (raw) DRM's IRQ helpers are only helpful for old, non-KMS drivers. Move the code behind CONFIG_DRM_LEGACY. Convert KMS drivers to Linux IRQ interfaces. DRM provides IRQ helpers for setting up, receiving and removing IRQ handlers. It's an abstraction over plain Linux functions. The code is mid-layerish with several callbacks to hook into the rsp drivers. Old UMS driver have their interrupts enabled via ioctl, so these abstractions makes some sense. Modern KMS manage all their interrupts internally. Using the DRM helpers adds indirection without benefits. Most KMS drivers already use Linux IRQ functions instead of DRM's abstraction layer. Patches 1 to 12 convert the remaining ones. The patches also resolve a bug for devices without assigned interrupt number. DRM helpers don't test for IRQ_NOTCONNECTED, so drivers do not detect if the device has no interrupt assigned. Patch 13 removes an unused function. Patch 14 moves the DRM IRQ helpers behind CONFIG_DRM_LEGACY. Only the old non-KMS drivers still use the functionality. v2: * drop IRQ_NOTCONNECTED test from atmel-hlcdc (Sam) * use devm_request_irq() in atmel-hlcdc (Sam) * unify variable names in arm/hlcdc (Sam) Thomas Zimmermann (14): drm/amdgpu: Convert to Linux IRQ interfaces drm/arm/hdlcd: Convert to Linux IRQ interfaces drm/atmel-hlcdc: Convert to Linux IRQ interfaces drm/fsl-dcu: Convert to Linux IRQ interfaces drm/gma500: Convert to Linux IRQ interfaces drm/kmb: Convert to Linux IRQ interfaces drm/msm: Convert to Linux IRQ interfaces drm/mxsfb: Convert to Linux IRQ interfaces drm/radeon: Convert to Linux IRQ interfaces drm/tidss: Convert to Linux IRQ interfaces drm/tilcdc: Convert to Linux IRQ interfaces drm/vc4: Convert to Linux IRQ interfaces drm: Remove unused devm_drm_irq_install() drm: IRQ midlayer is now legacy drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 21 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 2 +- drivers/gpu/drm/arm/hdlcd_drv.c | 174 ++++++++++--------- drivers/gpu/drm/arm/hdlcd_drv.h | 1 + drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 80 +++++---- drivers/gpu/drm/drm_irq.c | 95 +--------- drivers/gpu/drm/drm_legacy_misc.c | 3 +- drivers/gpu/drm/drm_vblank.c | 8 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 78 +++++---- drivers/gpu/drm/gma500/power.c | 1 + drivers/gpu/drm/gma500/psb_drv.c | 8 +- drivers/gpu/drm/gma500/psb_drv.h | 5 - drivers/gpu/drm/gma500/psb_irq.c | 26 ++- drivers/gpu/drm/gma500/psb_irq.h | 4 +- drivers/gpu/drm/i810/i810_dma.c | 3 +- drivers/gpu/drm/kmb/kmb_drv.c | 26 ++- drivers/gpu/drm/mga/mga_dma.c | 2 +- drivers/gpu/drm/mga/mga_drv.h | 1 - drivers/gpu/drm/msm/msm_drv.c | 113 +++++++----- drivers/gpu/drm/msm/msm_kms.h | 2 +- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 81 +++++---- drivers/gpu/drm/mxsfb/mxsfb_drv.h | 2 + drivers/gpu/drm/r128/r128_cce.c | 3 +- drivers/gpu/drm/radeon/radeon_drv.c | 4 - drivers/gpu/drm/radeon/radeon_irq_kms.c | 44 ++++- drivers/gpu/drm/radeon/radeon_kms.h | 4 - drivers/gpu/drm/tidss/tidss_drv.c | 15 +- drivers/gpu/drm/tidss/tidss_drv.h | 2 + drivers/gpu/drm/tidss/tidss_irq.c | 27 ++- drivers/gpu/drm/tidss/tidss_irq.h | 4 +- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 51 ++++-- drivers/gpu/drm/tilcdc/tilcdc_drv.h | 3 + drivers/gpu/drm/vc4/vc4_drv.c | 4 - drivers/gpu/drm/vc4/vc4_drv.h | 8 +- drivers/gpu/drm/vc4/vc4_irq.c | 48 +++-- drivers/gpu/drm/vc4/vc4_v3d.c | 17 +- drivers/gpu/drm/via/via_mm.c | 3 +- include/drm/drm_device.h | 18 +- include/drm/drm_drv.h | 44 +---- include/drm/drm_irq.h | 32 ---- include/drm/drm_legacy.h | 3 + 42 files changed, 567 insertions(+), 504 deletions(-) delete mode 100644 include/drm/drm_irq.h base-commit: c9d6903562aa335593daf44b4a1edeaef6bf9206 prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 prerequisite-patch-id: c3f32630e1d2de2eb74316c930578847d4b83fb3 prerequisite-patch-id: b32ca0abfc255601f8a5052d3b88be09527dabcb prerequisite-patch-id: 22a3f264168bacb04ef65306b32b86be8dc982ef prerequisite-patch-id: 095a0acb604eb02956e1a7e53da41371c64eb813 prerequisite-patch-id: 7a2417d5d8d453204bd94aa873e3faae812f26fc -- 2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Zimmermann <tzimmermann@suse.de> To: daniel@ffwll.ch, airlied@linux.ie, alexander.deucher@amd.com, christian.koenig@amd.com, liviu.dudau@arm.com, brian.starkey@arm.com, sam@ravnborg.org, bbrezillon@kernel.org, nicolas.ferre@microchip.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, stefan@agner.ch, alison.wang@nxp.com, patrik.r.jakobsson@gmail.com, anitha.chrisanthus@intel.com, robdclark@gmail.com, edmund.j.dea@intel.com, sean@poorly.run, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, jyri.sarha@iki.fi, tomba@kernel.org, Dan.Sneddon@microchip.com, tomi.valkeinen@ideasonboard.com Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Thomas Zimmermann <tzimmermann@suse.de> Subject: [PATCH v2 00/14] drm: Make DRM's IRQ helpers legacy Date: Tue, 3 Aug 2021 11:06:50 +0200 [thread overview] Message-ID: <20210803090704.32152-1-tzimmermann@suse.de> (raw) DRM's IRQ helpers are only helpful for old, non-KMS drivers. Move the code behind CONFIG_DRM_LEGACY. Convert KMS drivers to Linux IRQ interfaces. DRM provides IRQ helpers for setting up, receiving and removing IRQ handlers. It's an abstraction over plain Linux functions. The code is mid-layerish with several callbacks to hook into the rsp drivers. Old UMS driver have their interrupts enabled via ioctl, so these abstractions makes some sense. Modern KMS manage all their interrupts internally. Using the DRM helpers adds indirection without benefits. Most KMS drivers already use Linux IRQ functions instead of DRM's abstraction layer. Patches 1 to 12 convert the remaining ones. The patches also resolve a bug for devices without assigned interrupt number. DRM helpers don't test for IRQ_NOTCONNECTED, so drivers do not detect if the device has no interrupt assigned. Patch 13 removes an unused function. Patch 14 moves the DRM IRQ helpers behind CONFIG_DRM_LEGACY. Only the old non-KMS drivers still use the functionality. v2: * drop IRQ_NOTCONNECTED test from atmel-hlcdc (Sam) * use devm_request_irq() in atmel-hlcdc (Sam) * unify variable names in arm/hlcdc (Sam) Thomas Zimmermann (14): drm/amdgpu: Convert to Linux IRQ interfaces drm/arm/hdlcd: Convert to Linux IRQ interfaces drm/atmel-hlcdc: Convert to Linux IRQ interfaces drm/fsl-dcu: Convert to Linux IRQ interfaces drm/gma500: Convert to Linux IRQ interfaces drm/kmb: Convert to Linux IRQ interfaces drm/msm: Convert to Linux IRQ interfaces drm/mxsfb: Convert to Linux IRQ interfaces drm/radeon: Convert to Linux IRQ interfaces drm/tidss: Convert to Linux IRQ interfaces drm/tilcdc: Convert to Linux IRQ interfaces drm/vc4: Convert to Linux IRQ interfaces drm: Remove unused devm_drm_irq_install() drm: IRQ midlayer is now legacy drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 21 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 2 +- drivers/gpu/drm/arm/hdlcd_drv.c | 174 ++++++++++--------- drivers/gpu/drm/arm/hdlcd_drv.h | 1 + drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 80 +++++---- drivers/gpu/drm/drm_irq.c | 95 +--------- drivers/gpu/drm/drm_legacy_misc.c | 3 +- drivers/gpu/drm/drm_vblank.c | 8 +- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 78 +++++---- drivers/gpu/drm/gma500/power.c | 1 + drivers/gpu/drm/gma500/psb_drv.c | 8 +- drivers/gpu/drm/gma500/psb_drv.h | 5 - drivers/gpu/drm/gma500/psb_irq.c | 26 ++- drivers/gpu/drm/gma500/psb_irq.h | 4 +- drivers/gpu/drm/i810/i810_dma.c | 3 +- drivers/gpu/drm/kmb/kmb_drv.c | 26 ++- drivers/gpu/drm/mga/mga_dma.c | 2 +- drivers/gpu/drm/mga/mga_drv.h | 1 - drivers/gpu/drm/msm/msm_drv.c | 113 +++++++----- drivers/gpu/drm/msm/msm_kms.h | 2 +- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 81 +++++---- drivers/gpu/drm/mxsfb/mxsfb_drv.h | 2 + drivers/gpu/drm/r128/r128_cce.c | 3 +- drivers/gpu/drm/radeon/radeon_drv.c | 4 - drivers/gpu/drm/radeon/radeon_irq_kms.c | 44 ++++- drivers/gpu/drm/radeon/radeon_kms.h | 4 - drivers/gpu/drm/tidss/tidss_drv.c | 15 +- drivers/gpu/drm/tidss/tidss_drv.h | 2 + drivers/gpu/drm/tidss/tidss_irq.c | 27 ++- drivers/gpu/drm/tidss/tidss_irq.h | 4 +- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 51 ++++-- drivers/gpu/drm/tilcdc/tilcdc_drv.h | 3 + drivers/gpu/drm/vc4/vc4_drv.c | 4 - drivers/gpu/drm/vc4/vc4_drv.h | 8 +- drivers/gpu/drm/vc4/vc4_irq.c | 48 +++-- drivers/gpu/drm/vc4/vc4_v3d.c | 17 +- drivers/gpu/drm/via/via_mm.c | 3 +- include/drm/drm_device.h | 18 +- include/drm/drm_drv.h | 44 +---- include/drm/drm_irq.h | 32 ---- include/drm/drm_legacy.h | 3 + 42 files changed, 567 insertions(+), 504 deletions(-) delete mode 100644 include/drm/drm_irq.h base-commit: c9d6903562aa335593daf44b4a1edeaef6bf9206 prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 prerequisite-patch-id: c3f32630e1d2de2eb74316c930578847d4b83fb3 prerequisite-patch-id: b32ca0abfc255601f8a5052d3b88be09527dabcb prerequisite-patch-id: 22a3f264168bacb04ef65306b32b86be8dc982ef prerequisite-patch-id: 095a0acb604eb02956e1a7e53da41371c64eb813 prerequisite-patch-id: 7a2417d5d8d453204bd94aa873e3faae812f26fc -- 2.32.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-08-03 9:07 UTC|newest] Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-03 9:06 Thomas Zimmermann [this message] 2021-08-03 9:06 ` [PATCH v2 00/14] drm: Make DRM's IRQ helpers legacy Thomas Zimmermann 2021-08-03 9:06 ` [PATCH v2 01/14] drm/amdgpu: Convert to Linux IRQ interfaces Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:06 ` [PATCH v2 02/14] drm/arm/hdlcd: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-20 16:05 ` Liviu Dudau 2021-08-20 16:05 ` Liviu Dudau 2021-08-03 9:06 ` [PATCH v2 03/14] drm/atmel-hlcdc: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:06 ` [PATCH v2 04/14] drm/fsl-dcu: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:06 ` [PATCH v2 05/14] drm/gma500: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:06 ` [PATCH v2 06/14] drm/kmb: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:06 ` [PATCH v2 07/14] drm/msm: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:37 ` Dmitry Baryshkov 2021-08-03 9:37 ` Dmitry Baryshkov 2021-08-03 15:04 ` Rob Clark 2021-08-03 15:04 ` Rob Clark 2021-08-07 17:08 ` Rob Clark 2021-08-07 17:08 ` Rob Clark 2021-08-07 18:40 ` Thomas Zimmermann 2021-08-07 18:40 ` Thomas Zimmermann 2021-08-07 18:50 ` Rob Clark 2021-08-07 18:50 ` Rob Clark 2021-08-03 17:20 ` [Freedreno] " abhinavk 2021-08-03 9:06 ` [PATCH v2 08/14] drm/mxsfb: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:06 ` [PATCH v2 09/14] drm/radeon: " Thomas Zimmermann 2021-08-03 9:06 ` Thomas Zimmermann 2021-08-03 9:07 ` [PATCH v2 10/14] drm/tidss: " Thomas Zimmermann 2021-08-03 9:07 ` Thomas Zimmermann 2021-08-03 9:07 ` [PATCH v2 11/14] drm/tilcdc: " Thomas Zimmermann 2021-08-03 9:07 ` Thomas Zimmermann 2021-08-03 15:00 ` Sam Ravnborg 2021-08-03 15:00 ` Sam Ravnborg 2021-08-04 18:30 ` Thomas Zimmermann 2021-08-04 18:30 ` Thomas Zimmermann 2021-08-04 18:33 ` Sam Ravnborg 2021-08-04 18:33 ` Sam Ravnborg 2021-08-03 9:07 ` [PATCH v2 12/14] drm/vc4: " Thomas Zimmermann 2021-08-03 9:07 ` Thomas Zimmermann 2021-08-03 9:07 ` [PATCH v2 13/14] drm: Remove unused devm_drm_irq_install() Thomas Zimmermann 2021-08-03 9:07 ` Thomas Zimmermann 2021-08-03 9:07 ` [PATCH v2 14/14] drm: IRQ midlayer is now legacy Thomas Zimmermann 2021-08-03 9:07 ` Thomas Zimmermann 2021-08-03 15:04 ` [PATCH v2 00/14] drm: Make DRM's IRQ helpers legacy Sam Ravnborg 2021-08-03 15:04 ` Sam Ravnborg 2021-08-03 18:36 ` Chrisanthus, Anitha 2021-08-03 18:36 ` Chrisanthus, Anitha 2021-08-03 18:36 ` Chrisanthus, Anitha 2021-08-04 7:10 ` Thomas Zimmermann 2021-08-04 7:10 ` Thomas Zimmermann 2021-08-04 7:10 ` Thomas Zimmermann 2021-08-05 23:59 ` Chrisanthus, Anitha 2021-08-05 23:59 ` Chrisanthus, Anitha 2021-08-05 23:59 ` Chrisanthus, Anitha 2021-08-07 6:51 ` Thomas Zimmermann 2021-08-07 6:51 ` Thomas Zimmermann 2021-08-07 6:51 ` Thomas Zimmermann
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210803090704.32152-1-tzimmermann@suse.de \ --to=tzimmermann@suse.de \ --cc=Dan.Sneddon@microchip.com \ --cc=airlied@linux.ie \ --cc=alexander.deucher@amd.com \ --cc=alison.wang@nxp.com \ --cc=amd-gfx@lists.freedesktop.org \ --cc=anitha.chrisanthus@intel.com \ --cc=bbrezillon@kernel.org \ --cc=brian.starkey@arm.com \ --cc=christian.koenig@amd.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=edmund.j.dea@intel.com \ --cc=freedreno@lists.freedesktop.org \ --cc=jyri.sarha@iki.fi \ --cc=kernel@pengutronix.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=liviu.dudau@arm.com \ --cc=maarten.lankhorst@linux.intel.com \ --cc=mripard@kernel.org \ --cc=nicolas.ferre@microchip.com \ --cc=patrik.r.jakobsson@gmail.com \ --cc=robdclark@gmail.com \ --cc=s.hauer@pengutronix.de \ --cc=sam@ravnborg.org \ --cc=sean@poorly.run \ --cc=shawnguo@kernel.org \ --cc=stefan@agner.ch \ --cc=tomba@kernel.org \ --cc=tomi.valkeinen@ideasonboard.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.