Lines Matching defs:vdp
188 struct vcons_data_private *vdp;
193 vd->private = vdp = kmem_zalloc(sizeof(*vdp), KM_SLEEP);
201 vdp->ioctl = ao->ioctl;
213 LIST_INIT(&vdp->screens);
215 vdp->wanted = NULL;
216 vdp->currenttype = def;
217 vdp->defaulttype = def;
218 callout_init(&vdp->switch_callout, 0);
219 callout_setfunc(&vdp->switch_callout, vcons_do_switch, vd);
221 vdp->cells = 0;
222 vdp->attrs = NULL;
223 vdp->chars = NULL;
224 vdp->cursor_offset = -1;
233 vdp->switch_poll_count = 0;
237 vdp->intr_softint = softint_establish(SOFTINT_SERIAL,
239 callout_init(&vdp->intr, CALLOUT_MPSAFE);
240 callout_setfunc(&vdp->intr, vcons_intr, vd);
241 vdp->intr_valid = 1;
316 struct vcons_data_private *vdp = vd->private;
356 if (size > vdp->cells) {
357 if (vdp->chars != NULL)
358 free(vdp->chars, M_DEVBUF);
359 if (vdp->attrs != NULL)
360 free(vdp->attrs, M_DEVBUF);
361 vdp->cells = size;
362 vdp->chars = malloc(size * sizeof(uint32_t), M_DEVBUF,
364 vdp->attrs = malloc(size * sizeof(long), M_DEVBUF,
377 struct vcons_data_private *vdp = vd->private;
386 scr->scr_type = vdp->defaulttype;
398 vdp->eraserows = ri->ri_ops.eraserows;
399 vdp->erasecols = ri->ri_ops.erasecols;
403 vdp->copycols = vcons_copycols_noread;
405 vdp->copycols = ri->ri_ops.copycols;
409 vdp->copyrows = vcons_copyrows_noread;
411 vdp->copyrows = ri->ri_ops.copyrows;
415 vdp->cursor = vcons_cursor_noread;
417 vdp->cursor = ri->ri_ops.cursor;
453 LIST_INSERT_HEAD(&vdp->screens, scr, next);
461 struct vcons_data_private *vdp = vd->private;
513 vdp->eraserows(ri, 0, ri->ri_rows, scr->scr_defattr);
517 callout_halt(&vdp->intr, NULL);
540 vdp->eraserows = ri->ri_ops.eraserows;
541 vdp->erasecols = ri->ri_ops.erasecols;
543 vdp->cursor = ri->ri_ops.cursor;
546 vdp->copycols = vcons_copycols_noread;
548 vdp->copycols = ri->ri_ops.copycols;
552 vdp->copyrows = vcons_copyrows_noread;
554 vdp->copyrows = ri->ri_ops.copyrows;
558 vdp->cursor = vcons_cursor_noread;
560 vdp->cursor = ri->ri_ops.cursor;
584 callout_schedule(&vdp->intr, mstohz(33));
595 struct vcons_data_private *vdp = vd->private;
598 scr = vdp
601 vdp->switch_cb(vdp->switch_cb_arg, EIO, 0);
613 callout_schedule(&vdp->switch_callout, 1);
616 vdp->switch_poll_count++;
617 if (vdp->switch_poll_count > 100) {
626 vdp->switch_poll_count = 0;
639 if (vdp->currenttype != type) {
641 vdp->currenttype = type;
647 vdp->wanted = NULL;
659 if (vdp->switch_cb)
660 vdp->switch_cb(vdp->switch_cb_arg, 0, 0);
670 struct vcons_data_private *vdp = vd->private;
683 vdp->eraserows(ri, 0, ri->ri_rows,
729 vdp->erasecols(ri, i, start,
736 vdp->erasecols(ri, i, start,
745 vdp->chars[boffset] = charptr[offset];
746 vdp->attrs[boffset] = attrptr[offset];
753 vdp->erasecols(ri, i, start, j - start, last_a);
759 vdp->cursor_offset = ri->ri_crow * ri->ri_cols + ri->ri_ccol;
773 struct vcons_data_private *vdp = vd->private;
791 if (vdp->cursor_offset >= 0)
792 vdp->attrs[vdp->cursor_offset] = 0xffffffff;
802 if ((vdp->chars[boffset] != charptr[offset]) ||
803 (vdp->attrs[boffset] != attrptr[offset])) {
806 vdp->chars[boffset] = charptr[offset];
807 vdp->attrs[boffset] = attrptr[offset];
815 vdp->cursor_offset = ri->ri_crow * ri->ri_cols + ri->ri_ccol;
828 struct vcons_data_private *vdp = vd->private;
847 if (vdp->ioctl != NULL)
848 error = (*vdp->ioctl)(v, vs, cmd, data, flag, l);
851 vcons_hard_switch(LIST_FIRST(&vdp->screens));
872 if (vdp->ioctl != NULL)
873 error = (*vdp->ioctl)(v, vs, cmd, data, flag, l);
886 struct vcons_data_private *vdp = vd->private;
913 vdp->currenttype = type;
957 struct vcons_data_private *vdp = vd->private;
964 vdp->wanted = scr;
965 vdp->switch_cb = cb;
966 vdp->switch_cb_arg = cb_arg;
968 callout_schedule(&vdp->switch_callout, 0);
1025 struct vcons_data_private *vdp = vd->private;
1041 if ((scr->scr_chars[pos] != vdp->chars[ppos]) ||
1042 (scr->scr_attrs[pos] != vdp->attrs[ppos])) {
1045 vdp->chars[ppos] = scr->scr_chars[pos];
1046 vdp->attrs[ppos] = scr->scr_attrs[pos];
1086 struct vcons_data_private *vdp = vd->private;
1089 vdp->erasecols(cookie, row, startcol, ncols, fillattr);
1091 vdp->chars[i] = scr->scr_chars[i];
1092 vdp->attrs[i] = scr->scr_attrs[i];
1180 struct vcons_data_private *vdp = vd->private;
1196 if ((scr->scr_chars[pos] != vdp->chars[ppos]) ||
1197 (scr->scr_attrs[pos] != vdp->attrs[ppos])) {
1200 vdp->chars[ppos] = scr->scr_chars[pos];
1201 vdp->attrs[ppos] = scr->scr_attrs[pos];
1243 struct vcons_data_private *vdp = vd->private;
1247 vdp->chars[i] = 0x20;
1248 vdp->attrs[i] = fillattr;
1250 vdp->eraserows(cookie, row, nrows, fillattr);
1305 struct vcons_data_private *vdp = vd->private;
1308 if ((vdp->chars == NULL) || (vdp->attrs == NULL)) {
1312 if ((vdp->chars[pos] != c) || (vdp->attrs[pos] != attr)) {
1313 vdp->attrs[pos] = attr;
1314 vdp->chars[pos] = c;
1617 struct vcons_data_private *vdp = vd->private;
1619 softint_schedule(vdp->intr_softint);
1626 struct vcons_data_private *vdp = vd->private;
1630 if (scr && vdp->use_intr) {
1634 if (vdp->use_intr == 2) {
1636 vdp->use_intr = 1;
1646 callout_schedule(&vdp->intr, mstohz(33));
1653 struct vcons_data_private *vdp = vd->private;
1655 vdp->use_intr = 2;
1656 callout_schedule(&vdp->intr, mstohz(33));
1667 struct vcons_data_private *vdp = vd->private;
1669 vdp->use_intr = 0;
1682 struct vcons_data_private *vdp = vd->private;
1685 if (!vdp->intr_valid)
1688 vdp->use_intr = 2;
1698 struct vcons_data_private *vdp = vd->private;
1707 vdp->wanted = NULL;
1717 struct vcons_data_private *vdp = vd->private;
1720 for (i = 0; i < vdp->cells; i++) {
1721 vdp->chars[i] = -1;
1722 vdp->attrs[i] = -1;