Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/riastradh-drm2]: src/sys/external/bsd/drm2/dist/include/drm Extend struc...



details:   https://anonhg.NetBSD.org/src/rev/99ed571d2ce5
branches:  riastradh-drm2
changeset: 788166:99ed571d2ce5
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Wed Jul 24 02:31:54 2013 +0000

description:
Extend struct drm_bus with irq_install and irq_uninstall operations.

These allow us to pass an intr handler cookie from install to
uninstall, which Linux doesn't do in its request_irq/free_irq but
which we need for pci_intr_establish/pci_intr_disestablish.

diffstat:

 sys/external/bsd/drm2/dist/include/drm/drmP.h |  13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diffs (26 lines):

diff -r 145487c99f09 -r 99ed571d2ce5 sys/external/bsd/drm2/dist/include/drm/drmP.h
--- a/sys/external/bsd/drm2/dist/include/drm/drmP.h     Wed Jul 24 02:31:40 2013 +0000
+++ b/sys/external/bsd/drm2/dist/include/drm/drmP.h     Wed Jul 24 02:31:54 2013 +0000
@@ -799,9 +799,22 @@
 #define DRM_SCANOUTPOS_INVBL        (1 << 1)
 #define DRM_SCANOUTPOS_ACCURATE     (1 << 2)
 
+struct drm_bus_irq_cookie;
+
 struct drm_bus {
        int bus_type;
+       /*
+        * XXX NetBSD will have a problem with this: pci_intr_handle_t
+        * is a long on some LP64 architectures, where int is 32-bit,
+        * such as alpha and mips64.
+        */
        int (*get_irq)(struct drm_device *dev);
+#ifdef __NetBSD__
+       int (*irq_install)(struct drm_device *, irqreturn_t (*)(void *), int,
+           const char *, void *, struct drm_bus_irq_cookie **);
+       void (*irq_uninstall)(struct drm_device *,
+           struct drm_bus_irq_cookie *);
+#endif
        const char *(*get_name)(struct drm_device *dev);
        int (*set_busid)(struct drm_device *dev, struct drm_master *master);
        int (*set_unique)(struct drm_device *dev, struct drm_master *master,



Home | Main Index | Thread Index | Old Index