Lines Matching full:data
89 * Private data.
109 char curimage[512]; /* cursor image data */
110 char curmask[512]; /* cursor mask data */
151 struct bt485data *data;
158 data = malloc(sizeof *data, M_DEVBUF, M_WAITOK);
159 /* XXX -- if !data */
160 data->cookie = v;
161 data->ramdac_sched_update = sched_update;
162 data->ramdac_wr = wr;
163 data->ramdac_rd = rd;
164 return (struct ramdac_cookie *)data;
179 struct bt485data tmp, *data = &tmp;
180 data->cookie = v;
181 data->ramdac_sched_update = sched_update;
182 data->ramdac_wr = wr;
183 data->ramdac_rd = rd;
184 bt485_init((struct ramdac_cookie *)data);
192 struct bt485data *data = (struct bt485data *)rc;
204 regval = data->ramdac_rd(data->cookie, BT485_REG_COMMAND_0);
211 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_0, regval);
214 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_1, 0x40);
217 regval = data->ramdac_rd(data->cookie, BT485_REG_COMMAND_2);
220 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_2, regval);
223 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3);
226 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval);
229 data->ramdac_wr(data->cookie, BT485_REG_PIXMASK, 0xff);
233 * data, and fill it in.
235 data->changed = DATA_ALL_CHANGED;
237 data->curenb = 0; /* cursor disabled */
238 data->curpos.x = data->curpos.y = 0; /* right now at 0,0 */
239 data->curhot.x = data->curhot.y = 0; /* hot spot at 0,0 */
242 data->curcmap_r[0] = data->curcmap_g[0] = data->curcmap_b[0] = 0;
243 data->curcmap_r[1] = data->curcmap_g[1] = data->curcmap_b[1] = 0xff;
245 /* initial cursor data: 64x64 block of white. */
246 data->cursize.x = data->cursize.y = 64;
248 data->curimage[i] = data->curmask[i] = 0xff;
251 data->cmap_r[0] = data->cmap_g[0] = data->cmap_b[0] = 0;
253 data->cmap_r[i] = rasops_cmap[3*i + 0];
254 data->cmap_g[i] = rasops_cmap[3*i + 1];
255 data->cmap_b[i] = rasops_cmap[3*i + 2];
258 bt485_update((void *)data);
266 struct bt485data *data = (struct bt485data *)rc;
284 if ((error = copyin(cmapp->red, &data->cmap_r[index], count)) != 0) {
288 if ((error = copyin(cmapp->green, &data->cmap_g[index], count)) != 0) {
292 if ((error = copyin(cmapp->blue, &data->cmap_b[index], count)) != 0) {
297 data->changed |= DATA_CMAP_CHANGED;
299 data->ramdac_sched_update(data->cookie, bt485_update);
313 struct bt485data *data = (struct bt485data *)rc;
323 error = copyout(&data->cmap_r[index], cmapp->red, count);
326 error = copyout(&data->cmap_g[index], cmapp->green, count);
329 error = copyout(&data->cmap_b[index], cmapp->blue, count);
338 struct bt485data *data = (struct bt485data *)rc;
363 data->curpos = cursorp->pos;
365 data->curhot = cursorp->hot;
366 bt485_update_curpos(data);
373 data->curenb = cursorp->enable;
374 data->changed |= DATA_ENB_CHANGED;
380 &data->curcmap_r[index], count)) != 0) {
385 &data->curcmap_g[index], count)) != 0) {
390 &data->curcmap_b[index], count)) != 0) {
394 data->changed |= DATA_CURCMAP_CHANGED;
397 data->cursize = cursorp->size;
398 count = (CURSOR_MAX_SIZE / NBBY) * data->cursize.y;
399 bzero(data->curimage, sizeof data->curimage);
400 bzero(data->curmask, sizeof data->curmask);
401 if ((error = copyin(cursorp->image, data->curimage,
406 if ((error = copyin(cursorp->mask, data->curmask,
411 data->changed |= DATA_CURSHAPE_CHANGED;
414 if (data->changed)
415 data->ramdac_sched_update(data->cookie, bt485_update);
426 struct bt485data *data = (struct bt485data *)rc;
432 cursorp->enable = data->curenb; /* DOCUR */
433 cursorp->pos = data->curpos; /* DOPOS */
434 cursorp->hot = data->curhot; /* DOHOT */
439 error = copyout(data->curcmap_r, cursorp->cmap.red, 2);
444 error = copyout(data->curcmap_g, cursorp->cmap.green, 2);
449 error = copyout(data->curcmap_b, cursorp->cmap.blue, 2);
454 cursorp->size = data->cursize; /* DOSHAPE */
456 count = (CURSOR_MAX_SIZE / NBBY) * data->cursize.y;
457 error = copyout(data->curimage, cursorp->image, count);
460 error = copyout(data->curmask, cursorp->mask, count);
473 struct bt485data *data = (struct bt485data *)rc;
475 data->curpos = *curposp;
476 bt485_update_curpos(data);
486 struct bt485data *data = (struct bt485data *)rc;
488 *curposp = data->curpos;
509 bt485_wr_i(data, ireg, val)
510 struct bt485data *data;
514 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, ireg);
515 data->ramdac_wr(data->cookie, BT485_REG_EXTENDED, val);
519 bt485_rd_i(data, ireg)
520 struct bt485data *data;
523 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, ireg);
524 return (data->ramdac_rd(data->cookie, BT485_REG_EXTENDED));
531 struct bt485data *data = vp;
535 v = data->changed;
536 data->changed = 0;
539 regval = data->ramdac_rd(data->cookie, BT485_REG_COMMAND_2);
540 if (data->curenb)
544 data->ramdac_wr(data->cookie, BT485_REG_COMMAND_2, regval);
550 data->ramdac_wr(data->cookie, BT485_REG_COC_WRADDR, 0x01);
552 /* spit out the cursor data */
554 data->ramdac_wr(data->cookie, BT485_REG_COCDATA,
555 data->curcmap_r[i]);
556 data->ramdac_wr(data->cookie, BT485_REG_COCDATA,
557 data->curcmap_g[i]);
558 data->ramdac_wr(data->cookie, BT485_REG_COCDATA,
559 data->curcmap_b[i]);
564 count = (CURSOR_MAX_SIZE / NBBY) * data->cursize.y;
567 * Write the cursor image data:
572 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3);
574 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval);
575 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, 0);
577 data->ramdac_wr(data->cookie, BT485_REG_CURSOR_RAM,
578 data->curimage[i]);
581 * Write the cursor mask data:
586 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3);
588 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval);
589 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, 0);
591 data->ramdac_wr(data->cookie, BT485_REG_CURSOR_RAM,
592 data->curmask[i]);
595 regval = bt485_rd_i(data, BT485_IREG_COMMAND_3);
597 bt485_wr_i(data, BT485_IREG_COMMAND_3, regval);
603 data->ramdac_wr(data->cookie, BT485_REG_PCRAM_WRADDR, 0x00);
605 /* spit out the cursor data */
607 data->ramdac_wr(data->cookie, BT485_REG_PALETTE,
608 data->cmap_r[i]);
609 data->ramdac_wr(data->cookie, BT485_REG_PALETTE,
610 data->cmap_g[i]);
611 data->ramdac_wr(data->cookie, BT485_REG_PALETTE,
612 data->cmap_b[i]);
618 bt485_update_curpos(data)
619 struct bt485data *data;
621 void *cookie = data->cookie;
626 x = data->curpos.x + CURSOR_MAX_SIZE - data->curhot.x;
627 y = data->curpos.y + CURSOR_MAX_SIZE - data->curhot.y;
628 data->ramdac_wr(cookie, BT485_REG_CURSOR_X_LOW, x & 0xff);
629 data->ramdac_wr(cookie, BT485_REG_CURSOR_X_HIGH, (x >> 8) & 0x0f);
630 data->ramdac_wr(cookie, BT485_REG_CURSOR_Y_LOW, y & 0xff);
631 data->ramdac_wr(cookie, BT485_REG_CURSOR_Y_HIGH, (y >> 8) & 0x0f);