Lines Matching refs:scr
88 struct s3c24x0_lcd_screen *scr);
186 struct s3c24x0_lcd_screen *scr)
196 int depth = scr->depth;
197 int stride = scr->stride;
240 pa = scr->segs[0].ds_addr;
272 init_palette(sc, scr);
312 struct s3c24x0_lcd_screen *scr = NULL;
341 scr = kmem_zalloc(sizeof *scr, KM_SLEEP);
342 scr->nsegs = 0;
343 scr->depth = depth;
344 scr->stride = virtual_width * depth / 8;
345 scr->buf_size = size = scr->stride * virtual_height;
346 scr->buf_va = NULL;
358 scr->segs, 1, &(scr->nsegs), busdma_flag);
360 if (error || scr->nsegs != 1)
363 error = bus_dmamem_map(sc->dma_tag, scr->segs, scr->nsegs,
364 size, (void **)&(scr->buf_va), busdma_flag | BUS_DMA_COHERENT);
369 memset (scr->buf_va, 0, scr->buf_size);
373 1024*1024*2, 0, busdma_flag, &scr->dma))
375 error = bus_dmamap_load(sc->dma_tag, scr->dma,
376 scr->buf_va, size, NULL, busdma_flag);
380 LIST_INSERT_HEAD(&(sc->screens), scr, link);
384 draw_test_pattern(sc, scr);
387 return scr;
390 if (scr) {
391 if (scr->buf_va)
392 bus_dmamem_unmap(sc->dma_tag, scr->buf_va, size);
393 if (scr->nsegs)
394 bus_dmamem_free(sc->dma_tag, scr->segs, scr->nsegs);
395 kmem_free(scr, sizeof(*scr));
433 init_palette(struct s3c24x0_lcd_softc *sc, struct s3c24x0_lcd_screen *scr)
435 int depth = scr->depth;
494 struct s3c24x0_lcd_screen *scr = cookie, *old;
499 if (old == scr && sc->lcd_on)
505 s3c24x0_lcd_start_dma(sc, scr);
506 sc->active = scr;
519 struct s3c24x0_lcd_screen *scr;
534 scr = s3c24x0_lcd_new_screen(sc, width, height, type->depth);
535 if (scr == NULL)
541 scr->rinfo.ri_flg = 0;
542 scr->rinfo.ri_depth = type->depth;
543 scr->rinfo.ri_bits = scr->buf_va;
544 scr->rinfo.ri_width = width;
545 scr->rinfo.ri_height = height;
546 scr->rinfo.ri_stride = scr->stride;
561 if (wsfont_lock(cookie, &scr->rinfo.ri_font))
562 scr->rinfo.ri_wsfcookie = cookie;
566 rasops_init(&scr->rinfo, type->c.nrows, type->c.ncols);
568 (* scr->rinfo.ri_ops.allocattr)(&scr->rinfo, 0, 0, 0, attrp);
570 if (type->c.nrows != scr->rinfo.ri_rows ||
571 type->c.ncols != scr->rinfo.ri_cols) {
577 scr->rinfo.ri_cols, scr->rinfo.ri_rows);
580 *cookiep = scr;
592 struct s3c24x0_lcd_screen *scr = cookie;
594 LIST_REMOVE(scr, link);
596 if (scr == sc->active) {
605 if (scr->buf_va)
606 bus_dmamem_unmap(sc->dma_tag, scr->buf_va, scr->map_size);
608 if (scr->nsegs > 0)
609 bus_dmamem_free(sc->dma_tag, scr->segs, scr->nsegs);
611 kmem_free(scr, sizeof(*scr));
620 struct s3c24x0_lcd_screen *scr;
647 scr = sc->active;
648 if (scr == NULL)
649 scr = LIST_FIRST(&sc->screens);
651 if (scr == NULL)
654 s3c24x0_lcd_show_screen(sc, scr, 1, NULL, NULL);
739 struct s3c24x0_lcd_screen *scr = cookie;
741 (* scr->rinfo.ri_ops.cursor)(&scr->rinfo, on, row, col);
747 struct s3c24x0_lcd_screen *scr = cookie;
749 return (* scr->rinfo.ri_ops.mapchar)(&scr->rinfo, c, cp);
755 struct s3c24x0_lcd_screen *scr = cookie;
757 (* scr->rinfo.ri_ops.putchar)(&scr->rinfo,
764 struct s3c24x0_lcd_screen *scr = cookie;
766 (* scr->rinfo.ri_ops.copycols)(&scr->rinfo,
773 struct s3c24x0_lcd_screen *scr = cookie;
775 (* scr->rinfo.ri_ops.erasecols)(&scr->rinfo,
782 struct s3c24x0_lcd_screen *scr = cookie;
784 (* scr->rinfo.ri_ops.copyrows)(&scr->rinfo,
791 struct s3c24x0_lcd_screen *scr = cookie;
793 (* scr->rinfo.ri_ops.eraserows)(&scr->rinfo,
800 struct s3c24x0_lcd_screen *scr = cookie;
802 return (* scr->rinfo.ri_ops.allocattr)(&scr->rinfo,