drm/irq: Ditch DRIVER_IRQ_SHARED

This is only used by drm_irq_install(), which is an optional helper.
For legacy pci devices this is required (due to interrupt sharing without
msi/msi-x), and just making this the default exactly matches the behaviour
of all existing drivers using the drm_irq_install() helpers. In case that
ever becomes wrong drivers can roll their own irq handling, as many
drivers already do (for other reasons like needing a threaded interrupt
handler, or having an entire pile of different interrupt sources).

v2: Rebase

v3: Improve commit message (Emil)

Cc: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190129104248.26607-3-daniel.vetter@ffwll.ch
This commit is contained in:
Daniel Vetter
2019-01-29 11:42:48 +01:00
parent 0e2a933b02
commit 1ff494813b
12 changed files with 17 additions and 33 deletions

View File

@@ -100,20 +100,20 @@ enum drm_driver_feature {
* Set up DRM AGP support, see drm_agp_init(), the DRM core will manage
* AGP resources. New drivers don't need this.
*/
DRIVER_USE_AGP = BIT(24),
DRIVER_USE_AGP = BIT(25),
/**
* @DRIVER_LEGACY:
*
* Denote a legacy driver using shadow attach. Do not use.
*/
DRIVER_LEGACY = BIT(25),
DRIVER_LEGACY = BIT(26),
/**
* @DRIVER_PCI_DMA:
*
* Driver is capable of PCI DMA, mapping of PCI DMA buffers to userspace
* will be enabled. Only for legacy drivers. Do not use.
*/
DRIVER_PCI_DMA = BIT(26),
DRIVER_PCI_DMA = BIT(27),
/**
* @DRIVER_SG:
*
@@ -121,7 +121,7 @@ enum drm_driver_feature {
* scatter/gather buffers will be enabled. Only for legacy drivers. Do
* not use.
*/
DRIVER_SG = BIT(27),
DRIVER_SG = BIT(28),
/**
* @DRIVER_HAVE_DMA:
@@ -129,7 +129,7 @@ enum drm_driver_feature {
* Driver supports DMA, the userspace DMA API will be supported. Only
* for legacy drivers. Do not use.
*/
DRIVER_HAVE_DMA = BIT(28),
DRIVER_HAVE_DMA = BIT(29),
/**
* @DRIVER_HAVE_IRQ:
*
@@ -139,17 +139,7 @@ enum drm_driver_feature {
* drm_irq_uninstall() helper functions, or roll their own irq support
* code by calling request_irq() directly.
*/
DRIVER_HAVE_IRQ = BIT(29),
/**
* @DRIVER_IRQ_SHARED:
*
* Indicates to drm_irq_install() that a shared irq should be requested.
*
* FIXME: This should be an explicit argument for non-legacy drivers, or
* at least the default for PCI devices (which would cover all current
* users).
*/
DRIVER_IRQ_SHARED = BIT(30),
DRIVER_HAVE_IRQ = BIT(30),
/**
* @DRIVER_KMS_LEGACY_CONTEXT:
*