Lines Matching refs:vrfb
181 void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr, in omap_vrfb_setup() argument
188 u8 ctx = vrfb->context; in omap_vrfb_setup()
234 vrfb->xres = width; in omap_vrfb_setup()
235 vrfb->yres = height; in omap_vrfb_setup()
236 vrfb->xoffset = vrfb_width - width; in omap_vrfb_setup()
237 vrfb->yoffset = vrfb_height - height; in omap_vrfb_setup()
238 vrfb->bytespp = bytespp; in omap_vrfb_setup()
239 vrfb->yuv_mode = yuv_mode; in omap_vrfb_setup()
243 int omap_vrfb_map_angle(struct vrfb *vrfb, u16 height, u8 rot) in omap_vrfb_map_angle() argument
245 unsigned long size = height * OMAP_VRFB_LINE_LEN * vrfb->bytespp; in omap_vrfb_map_angle()
247 vrfb->vaddr[rot] = ioremap_wc(vrfb->paddr[rot], size); in omap_vrfb_map_angle()
249 if (!vrfb->vaddr[rot]) { in omap_vrfb_map_angle()
255 vrfb->vaddr[rot]); in omap_vrfb_map_angle()
261 void omap_vrfb_release_ctx(struct vrfb *vrfb) in omap_vrfb_release_ctx() argument
264 int ctx = vrfb->context; in omap_vrfb_release_ctx()
278 if (vrfb->paddr[rot]) { in omap_vrfb_release_ctx()
279 release_mem_region(vrfb->paddr[rot], OMAP_VRFB_SIZE); in omap_vrfb_release_ctx()
280 vrfb->paddr[rot] = 0; in omap_vrfb_release_ctx()
284 vrfb->context = 0xff; in omap_vrfb_release_ctx()
290 int omap_vrfb_request_ctx(struct vrfb *vrfb) in omap_vrfb_request_ctx() argument
315 memset(vrfb, 0, sizeof(*vrfb)); in omap_vrfb_request_ctx()
317 vrfb->context = ctx; in omap_vrfb_request_ctx()
325 omap_vrfb_release_ctx(vrfb); in omap_vrfb_request_ctx()
330 vrfb->paddr[rot] = paddr; in omap_vrfb_request_ctx()
332 DBG("VRFB %d/%d: %lx\n", ctx, rot*90, vrfb->paddr[rot]); in omap_vrfb_request_ctx()