80 #ifdef DEBUG
81 #define CONFIRM(value) ASSERT(value)
82 #else
83 #define CONFIRM(value) if (!(value)) return (EINVAL)
84 #endif
85
86 int agpm_debug = 0;
87 #define AGPM_DEBUG(args) if (agpm_debug >= 1) cmn_err args
88
89 /*
90 * Whether it is a Intel integrated graphics card
91 */
92 #define IS_IGD(agpmaster) ((agpmaster->agpm_dev_type == DEVICE_IS_I810) || \
93 (agpmaster->agpm_dev_type == DEVICE_IS_I830))
94
95 static struct modlmisc modlmisc = {
96 &mod_miscops, "AGP master interfaces"
97 };
98
99 static struct modlinkage modlinkage = {
100 MODREV_1, (void *)&modlmisc, NULL
101 };
102
103 static ddi_device_acc_attr_t i8xx_dev_access = {
104 DDI_DEVICE_ATTR_V0,
105 DDI_NEVERSWAP_ACC,
106 DDI_STRICTORDER_ACC
107 };
108
109 static off_t agpmaster_cap_find(ddi_acc_handle_t);
110 static int detect_i8xx_device(agp_master_softc_t *);
111 static int detect_agp_devcice(agp_master_softc_t *, ddi_acc_handle_t);
112 static int i8xx_add_to_gtt(gtt_impl_t *, igd_gtt_seg_t);
113 static void i8xx_remove_from_gtt(gtt_impl_t *, igd_gtt_seg_t);
114
115 int
116 _init(void)
117 {
118 int err;
119
120 if ((err = mod_install(&modlinkage)) != 0)
|
80 #ifdef DEBUG
81 #define CONFIRM(value) ASSERT(value)
82 #else
83 #define CONFIRM(value) if (!(value)) return (EINVAL)
84 #endif
85
86 int agpm_debug = 0;
87 #define AGPM_DEBUG(args) if (agpm_debug >= 1) cmn_err args
88
89 /*
90 * Whether it is a Intel integrated graphics card
91 */
92 #define IS_IGD(agpmaster) ((agpmaster->agpm_dev_type == DEVICE_IS_I810) || \
93 (agpmaster->agpm_dev_type == DEVICE_IS_I830))
94
95 static struct modlmisc modlmisc = {
96 &mod_miscops, "AGP master interfaces"
97 };
98
99 static struct modlinkage modlinkage = {
100 MODREV_1, { (void *)&modlmisc, NULL }
101 };
102
103 static ddi_device_acc_attr_t i8xx_dev_access = {
104 DDI_DEVICE_ATTR_V0,
105 DDI_NEVERSWAP_ACC,
106 DDI_STRICTORDER_ACC
107 };
108
109 static off_t agpmaster_cap_find(ddi_acc_handle_t);
110 static int detect_i8xx_device(agp_master_softc_t *);
111 static int detect_agp_devcice(agp_master_softc_t *, ddi_acc_handle_t);
112 static int i8xx_add_to_gtt(gtt_impl_t *, igd_gtt_seg_t);
113 static void i8xx_remove_from_gtt(gtt_impl_t *, igd_gtt_seg_t);
114
115 int
116 _init(void)
117 {
118 int err;
119
120 if ((err = mod_install(&modlinkage)) != 0)
|