Lines Matching refs:data

125 bt485_wr_i(struct bt485data *data, u_int8_t ireg, u_int8_t val)  in bt485_wr_i()  argument
127 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, ireg); in bt485_wr_i()
128 data->ramdac_wr(data->cookie, BT485_REG_EXTENDED, val); in bt485_wr_i()
132 bt485_rd_i(struct bt485data *data, u_int8_t ireg) in bt485_rd_i() argument
134 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, ireg); in bt485_rd_i()
135 return (data->ramdac_rd(data->cookie, BT485_REG_EXTENDED)); in bt485_rd_i()
157 struct bt485data *data; in bt485_register() local
164 data = malloc(sizeof *data, M_DEVBUF, M_WAITOK); in bt485_register()
166 data->cookie = v; in bt485_register()
167 data->ramdac_sched_update = sched_update; in bt485_register()
168 data->ramdac_wr = wr; in bt485_register()
169 data->ramdac_rd = rd; in bt485_register()
170 return (struct ramdac_cookie *)data; in bt485_register()
185 struct bt485data tmp, *data = &tmp; in bt485_cninit() local
186 data->cookie = v; in bt485_cninit()
187 data->ramdac_sched_update = sched_update; in bt485_cninit()
188 data->ramdac_wr = wr; in bt485_cninit()
189 data->ramdac_rd = rd; in bt485_cninit()
190 bt485_init((struct ramdac_cookie *)data); in bt485_cninit()
197 struct bt485data *data = (struct bt485data *)rc; in bt485_init() local
209 regval = data->ramdac_rd(data->cookie, BT485_REG_COMMAND_0); in bt485_init()
216 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_0, regval); in bt485_init()
219 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_1, 0x40); in bt485_init()
222 regval = data->ramdac_rd(data->cookie, BT485_REG_COMMAND_2); in bt485_init()
225 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_2, regval); in bt485_init()
228 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3); in bt485_init()
231 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval); in bt485_init()
234 data->ramdac_wr(data->cookie, BT485_REG_PIXMASK, 0xff); in bt485_init()
240 data->changed = DATA_ALL_CHANGED; in bt485_init()
242 data->curenb = 0; /* cursor disabled */ in bt485_init()
243 data->curpos.x = data->curpos.y = 0; /* right now at 0,0 */ in bt485_init()
244 data->curhot.x = data->curhot.y = 0; /* hot spot at 0,0 */ in bt485_init()
247 data->curcmap_r[0] = data->curcmap_g[0] = data->curcmap_b[0] = 0; in bt485_init()
248 data->curcmap_r[1] = data->curcmap_g[1] = data->curcmap_b[1] = 0xff; in bt485_init()
251 data->cursize.x = data->cursize.y = 64; in bt485_init()
253 data->curimage[i] = data->curmask[i] = 0xff; in bt485_init()
256 data->cmap_r[0] = data->cmap_g[0] = data->cmap_b[0] = 0; in bt485_init()
258 data->cmap_r[i] = data->cmap_g[i] = data->cmap_b[i] = 255; in bt485_init()
260 bt485_update((void *)data); in bt485_init()
266 struct bt485data *data = (struct bt485data *)rc; in bt485_set_cmap() local
286 memcpy(&data->cmap_r[index], &r[index], count); in bt485_set_cmap()
287 memcpy(&data->cmap_g[index], &g[index], count); in bt485_set_cmap()
288 memcpy(&data->cmap_b[index], &b[index], count); in bt485_set_cmap()
289 data->changed |= DATA_CMAP_CHANGED; in bt485_set_cmap()
290 data->ramdac_sched_update(data->cookie, bt485_update); in bt485_set_cmap()
298 struct bt485data *data = (struct bt485data *)rc; in bt485_get_cmap() local
307 error = copyout(&data->cmap_r[index], cmapp->red, count); in bt485_get_cmap()
310 error = copyout(&data->cmap_g[index], cmapp->green, count); in bt485_get_cmap()
313 error = copyout(&data->cmap_b[index], cmapp->blue, count); in bt485_get_cmap()
320 struct bt485data *data = (struct bt485data *)rc; in bt485_set_cursor() local
351 icount = (CURSOR_MAX_SIZE / NBBY) * data->cursize.y; in bt485_set_cursor()
362 data->curpos = cursorp->pos; in bt485_set_cursor()
364 data->curhot = cursorp->hot; in bt485_set_cursor()
365 bt485_update_curpos(data); in bt485_set_cursor()
372 data->curenb = cursorp->enable; in bt485_set_cursor()
373 data->changed |= DATA_ENB_CHANGED; in bt485_set_cursor()
376 memcpy(&data->curcmap_r[index], &r[index], count); in bt485_set_cursor()
377 memcpy(&data->curcmap_g[index], &g[index], count); in bt485_set_cursor()
378 memcpy(&data->curcmap_b[index], &b[index], count); in bt485_set_cursor()
379 data->changed |= DATA_CURCMAP_CHANGED; in bt485_set_cursor()
382 data->cursize = cursorp->size; in bt485_set_cursor()
383 count = (CURSOR_MAX_SIZE / NBBY) * data->cursize.y; in bt485_set_cursor()
384 memset(data->curimage, 0, sizeof data->curimage); in bt485_set_cursor()
385 memset(data->curmask, 0, sizeof data->curmask); in bt485_set_cursor()
386 memcpy(data->curimage, image, icount); in bt485_set_cursor()
387 memcpy(data->curmask, mask, icount); in bt485_set_cursor()
388 data->changed |= DATA_CURSHAPE_CHANGED; in bt485_set_cursor()
391 if (data->changed) in bt485_set_cursor()
392 data->ramdac_sched_update(data->cookie, bt485_update); in bt485_set_cursor()
401 struct bt485data *data = (struct bt485data *)rc; in bt485_get_cursor() local
407 cursorp->enable = data->curenb; /* DOCUR */ in bt485_get_cursor()
408 cursorp->pos = data->curpos; /* DOPOS */ in bt485_get_cursor()
409 cursorp->hot = data->curhot; /* DOHOT */ in bt485_get_cursor()
414 error = copyout(data->curcmap_r, cursorp->cmap.red, 2); in bt485_get_cursor()
419 error = copyout(data->curcmap_g, cursorp->cmap.green, 2); in bt485_get_cursor()
424 error = copyout(data->curcmap_b, cursorp->cmap.blue, 2); in bt485_get_cursor()
429 cursorp->size = data->cursize; /* DOSHAPE */ in bt485_get_cursor()
431 count = (CURSOR_MAX_SIZE / NBBY) * data->cursize.y; in bt485_get_cursor()
432 error = copyout(data->curimage, cursorp->image, count); in bt485_get_cursor()
435 error = copyout(data->curmask, cursorp->mask, count); in bt485_get_cursor()
446 struct bt485data *data = (struct bt485data *)rc; in bt485_set_curpos() local
448 data->curpos = *curposp; in bt485_set_curpos()
449 bt485_update_curpos(data); in bt485_set_curpos()
457 struct bt485data *data = (struct bt485data *)rc; in bt485_get_curpos() local
459 *curposp = data->curpos; in bt485_get_curpos()
480 struct bt485data *data = vp; in bt485_update() local
484 v = data->changed; in bt485_update()
485 data->changed = 0; in bt485_update()
488 regval = data->ramdac_rd(data->cookie, BT485_REG_COMMAND_2); in bt485_update()
489 if (data->curenb) in bt485_update()
493 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_2, regval); in bt485_update()
499 data->ramdac_wr(data->cookie, BT485_REG_COC_WRADDR, 0x01); in bt485_update()
503 data->ramdac_wr(data->cookie, BT485_REG_COCDATA, in bt485_update()
504 data->curcmap_r[i]); in bt485_update()
505 data->ramdac_wr(data->cookie, BT485_REG_COCDATA, in bt485_update()
506 data->curcmap_g[i]); in bt485_update()
507 data->ramdac_wr(data->cookie, BT485_REG_COCDATA, in bt485_update()
508 data->curcmap_b[i]); in bt485_update()
513 count = (CURSOR_MAX_SIZE / NBBY) * data->cursize.y; in bt485_update()
521 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3); in bt485_update()
523 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval); in bt485_update()
524 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, 0); in bt485_update()
526 data->ramdac_wr(data->cookie, BT485_REG_CURSOR_RAM, in bt485_update()
527 data->curimage[i]); in bt485_update()
535 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3); in bt485_update()
537 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval); in bt485_update()
538 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, 0); in bt485_update()
540 data->ramdac_wr(data->cookie, BT485_REG_CURSOR_RAM, in bt485_update()
541 data->curmask[i]); in bt485_update()
544 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3); in bt485_update()
546 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval); in bt485_update()
552 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, 0x00); in bt485_update()
556 data->ramdac_wr(data->cookie, BT485_REG_PALETTE, in bt485_update()
557 data->cmap_r[i]); in bt485_update()
558 data->ramdac_wr(data->cookie, BT485_REG_PALETTE, in bt485_update()
559 data->cmap_g[i]); in bt485_update()
560 data->ramdac_wr(data->cookie, BT485_REG_PALETTE, in bt485_update()
561 data->cmap_b[i]); in bt485_update()
567 bt485_update_curpos(struct bt485data *data) in bt485_update_curpos() argument
569 void *cookie = data->cookie; in bt485_update_curpos()
574 x = data->curpos.x + CURSOR_MAX_SIZE - data->curhot.x; in bt485_update_curpos()
575 y = data->curpos.y + CURSOR_MAX_SIZE - data->curhot.y; in bt485_update_curpos()
576 data->ramdac_wr(cookie, BT485_REG_CURSOR_X_LOW, x & 0xff); in bt485_update_curpos()
577 data->ramdac_wr(cookie, BT485_REG_CURSOR_X_HIGH, (x >> 8) & 0x0f); in bt485_update_curpos()
578 data->ramdac_wr(cookie, BT485_REG_CURSOR_Y_LOW, y & 0xff); in bt485_update_curpos()
579 data->ramdac_wr(cookie, BT485_REG_CURSOR_Y_HIGH, (y >> 8) & 0x0f); in bt485_update_curpos()