26
27 /*
28 * Common misc module interfaces of DRM under Solaris
29 */
30
31 /*
32 * This module calls into gfx and agpmaster misc modules respectively
33 * for generic graphics operations and AGP master device support.
34 */
35
36 #include "drm_sunmod.h"
37 #include <sys/modctl.h>
38 #include <sys/kmem.h>
39 #include <vm/seg_kmem.h>
40
41 static struct modlmisc modlmisc = {
42 &mod_miscops, "DRM common interfaces"
43 };
44
45 static struct modlinkage modlinkage = {
46 MODREV_1, (void *)&modlmisc, NULL
47 };
48
49 static drm_inst_list_t *drm_inst_head;
50 static kmutex_t drm_inst_list_lock;
51
52 static int drm_sun_open(dev_t *, int, int, cred_t *);
53 static int drm_sun_close(dev_t, int, int, cred_t *);
54 static int drm_sun_ioctl(dev_t, int, intptr_t, int, cred_t *, int *);
55 static int drm_sun_devmap(dev_t, devmap_cookie_t, offset_t, size_t,
56 size_t *, uint_t);
57
58 /*
59 * devmap callbacks for AGP and PCI GART
60 */
61 static int drm_devmap_map(devmap_cookie_t, dev_t,
62 uint_t, offset_t, size_t, void **);
63 static int drm_devmap_dup(devmap_cookie_t, void *,
64 devmap_cookie_t, void **);
65 static void drm_devmap_unmap(devmap_cookie_t, void *,
66 offset_t, size_t, devmap_cookie_t, void **, devmap_cookie_t, void **);
|
26
27 /*
28 * Common misc module interfaces of DRM under Solaris
29 */
30
31 /*
32 * This module calls into gfx and agpmaster misc modules respectively
33 * for generic graphics operations and AGP master device support.
34 */
35
36 #include "drm_sunmod.h"
37 #include <sys/modctl.h>
38 #include <sys/kmem.h>
39 #include <vm/seg_kmem.h>
40
41 static struct modlmisc modlmisc = {
42 &mod_miscops, "DRM common interfaces"
43 };
44
45 static struct modlinkage modlinkage = {
46 MODREV_1, { (void *)&modlmisc, NULL }
47 };
48
49 static drm_inst_list_t *drm_inst_head;
50 static kmutex_t drm_inst_list_lock;
51
52 static int drm_sun_open(dev_t *, int, int, cred_t *);
53 static int drm_sun_close(dev_t, int, int, cred_t *);
54 static int drm_sun_ioctl(dev_t, int, intptr_t, int, cred_t *, int *);
55 static int drm_sun_devmap(dev_t, devmap_cookie_t, offset_t, size_t,
56 size_t *, uint_t);
57
58 /*
59 * devmap callbacks for AGP and PCI GART
60 */
61 static int drm_devmap_map(devmap_cookie_t, dev_t,
62 uint_t, offset_t, size_t, void **);
63 static int drm_devmap_dup(devmap_cookie_t, void *,
64 devmap_cookie_t, void **);
65 static void drm_devmap_unmap(devmap_cookie_t, void *,
66 offset_t, size_t, devmap_cookie_t, void **, devmap_cookie_t, void **);
|