Lines Matching refs:ofbi
161 static unsigned omapfb_get_vrfb_offset(const struct omapfb_info *ofbi, int rot) in omapfb_get_vrfb_offset() argument
163 const struct vrfb *vrfb = &ofbi->region->vrfb; in omapfb_get_vrfb_offset()
189 static u32 omapfb_get_region_rot_paddr(const struct omapfb_info *ofbi, int rot) in omapfb_get_region_rot_paddr() argument
191 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { in omapfb_get_region_rot_paddr()
192 return ofbi->region->vrfb.paddr[rot] in omapfb_get_region_rot_paddr()
193 + omapfb_get_vrfb_offset(ofbi, rot); in omapfb_get_region_rot_paddr()
195 return ofbi->region->paddr; in omapfb_get_region_rot_paddr()
199 static u32 omapfb_get_region_paddr(const struct omapfb_info *ofbi) in omapfb_get_region_paddr() argument
201 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) in omapfb_get_region_paddr()
202 return ofbi->region->vrfb.paddr[0]; in omapfb_get_region_paddr()
204 return ofbi->region->paddr; in omapfb_get_region_paddr()
207 static void __iomem *omapfb_get_region_vaddr(const struct omapfb_info *ofbi) in omapfb_get_region_vaddr() argument
209 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) in omapfb_get_region_vaddr()
210 return ofbi->region->vrfb.vaddr[0]; in omapfb_get_region_vaddr()
212 return ofbi->region->vaddr; in omapfb_get_region_vaddr()
454 static int check_fb_size(const struct omapfb_info *ofbi, in check_fb_size() argument
457 unsigned long max_frame_size = ofbi->region->size; in check_fb_size()
461 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { in check_fb_size()
503 struct omapfb_info *ofbi = FB2OFB(fbi); in setup_vrfb_rotation() local
504 struct omapfb2_mem_region *rg = ofbi->region; in setup_vrfb_rotation()
514 if (!rg->size || ofbi->rotation_type != OMAP_DSS_ROT_VRFB) in setup_vrfb_rotation()
565 fbi->screen_base = ofbi->region->vrfb.vaddr[0]; in setup_vrfb_rotation()
567 fix->smem_start = ofbi->region->vrfb.paddr[0]; in setup_vrfb_rotation()
605 struct omapfb_info *ofbi = FB2OFB(fbi); in set_fb_fix() local
606 struct omapfb2_mem_region *rg = ofbi->region; in set_fb_fix()
611 fbi->screen_base = (char __iomem *)omapfb_get_region_vaddr(ofbi); in set_fb_fix()
614 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { in set_fb_fix()
634 fix->smem_start = omapfb_get_region_paddr(ofbi); in set_fb_fix()
667 struct omapfb_info *ofbi = FB2OFB(fbi); in check_fb_var() local
673 DBG("check_fb_var %d\n", ofbi->id); in check_fb_var()
675 WARN_ON(!atomic_read(&ofbi->region->lock_count)); in check_fb_var()
683 for (i = 0; i < ofbi->num_overlays; ++i) { in check_fb_var()
684 if ((ofbi->overlays[i]->supported_modes & mode) == 0) { in check_fb_var()
697 if (ofbi->region->size != 0 && check_fb_size(ofbi, var)) in check_fb_var()
812 static void omapfb_calc_addr(const struct omapfb_info *ofbi, in omapfb_calc_addr() argument
820 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) in omapfb_calc_addr()
821 data_start_p = omapfb_get_region_rot_paddr(ofbi, rotation); in omapfb_calc_addr()
823 data_start_p = omapfb_get_region_paddr(ofbi); in omapfb_calc_addr()
825 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) in omapfb_calc_addr()
846 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_setup_overlay() local
858 WARN_ON(!atomic_read(&ofbi->region->lock_count)); in omapfb_setup_overlay()
860 for (i = 0; i < ofbi->num_overlays; i++) { in omapfb_setup_overlay()
861 if (ovl != ofbi->overlays[i]) in omapfb_setup_overlay()
864 rotation = (rotation + ofbi->rotation[i]) % 4; in omapfb_setup_overlay()
868 DBG("setup_overlay %d, posx %d, posy %d, outw %d, outh %d\n", ofbi->id, in omapfb_setup_overlay()
879 if (ofbi->region->size) in omapfb_setup_overlay()
880 omapfb_calc_addr(ofbi, var, fix, rotation, &data_start_p); in omapfb_setup_overlay()
891 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { in omapfb_setup_overlay()
903 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) in omapfb_setup_overlay()
906 mirror = ofbi->mirror; in omapfb_setup_overlay()
913 info.rotation_type = ofbi->rotation_type; in omapfb_setup_overlay()
939 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_apply_changes() local
951 WARN_ON(!atomic_read(&ofbi->region->lock_count)); in omapfb_apply_changes()
953 for (i = 0; i < ofbi->num_overlays; i++) { in omapfb_apply_changes()
954 ovl = ofbi->overlays[i]; in omapfb_apply_changes()
956 DBG("apply_changes, fb %d, ovl %d\n", ofbi->id, ovl->id); in omapfb_apply_changes()
958 if (ofbi->region->size == 0) { in omapfb_apply_changes()
967 int rotation = (var->rotate + ofbi->rotation[i]) % 4; in omapfb_apply_changes()
1010 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_check_var() local
1015 omapfb_get_mem_region(ofbi->region); in omapfb_check_var()
1019 omapfb_put_mem_region(ofbi->region); in omapfb_check_var()
1027 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_set_par() local
1032 omapfb_get_mem_region(ofbi->region); in omapfb_set_par()
1043 omapfb_put_mem_region(ofbi->region); in omapfb_set_par()
1051 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_pan_display() local
1067 omapfb_get_mem_region(ofbi->region); in omapfb_pan_display()
1071 omapfb_put_mem_region(ofbi->region); in omapfb_pan_display()
1101 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_mmap() local
1108 rg = omapfb_get_mem_region(ofbi->region); in omapfb_mmap()
1110 start = omapfb_get_region_paddr(ofbi); in omapfb_mmap()
1132 omapfb_put_mem_region(ofbi->region); in omapfb_mmap()
1229 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_blank() local
1230 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_blank()
1313 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_free_fbmem() local
1314 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_free_fbmem()
1317 rg = ofbi->region; in omapfb_free_fbmem()
1324 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { in omapfb_free_fbmem()
1369 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_alloc_fbmem() local
1370 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_alloc_fbmem()
1377 rg = ofbi->region; in omapfb_alloc_fbmem()
1391 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) in omapfb_alloc_fbmem()
1394 DBG("allocating %lu bytes for fb %d\n", size, ofbi->id); in omapfb_alloc_fbmem()
1407 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { in omapfb_alloc_fbmem()
1433 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_alloc_fbmem_display() local
1434 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_alloc_fbmem_display()
1460 if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { in omapfb_alloc_fbmem_display()
1566 struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]); in omapfb_allocate_all_fbs() local
1568 rg = ofbi->region; in omapfb_allocate_all_fbs()
1596 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_realloc_fbmem() local
1597 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_realloc_fbmem()
1598 struct omapfb2_mem_region *rg = ofbi->region; in omapfb_realloc_fbmem()
1635 DBG("initializing fb %d\n", ofbi->id); in omapfb_realloc_fbmem()
1745 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_fb_init() local
1752 if (ofbi->region->size == 0) { in omapfb_fb_init()
1764 int rotation = (var->rotate + ofbi->rotation[0]) % 4; in omapfb_fb_init()
1890 struct omapfb_info *ofbi; in omapfb_create_framebuffers() local
1905 ofbi = FB2OFB(fbi); in omapfb_create_framebuffers()
1906 ofbi->fbdev = fbdev; in omapfb_create_framebuffers()
1907 ofbi->id = i; in omapfb_create_framebuffers()
1909 ofbi->region = &fbdev->regions[i]; in omapfb_create_framebuffers()
1910 ofbi->region->id = i; in omapfb_create_framebuffers()
1911 init_rwsem(&ofbi->region->lock); in omapfb_create_framebuffers()
1914 ofbi->rotation_type = def_vrfb ? OMAP_DSS_ROT_VRFB : in omapfb_create_framebuffers()
1916 ofbi->mirror = def_mirror; in omapfb_create_framebuffers()
1925 struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]); in omapfb_create_framebuffers() local
1927 ofbi->overlays[0] = fbdev->overlays[i]; in omapfb_create_framebuffers()
1928 ofbi->num_overlays = 1; in omapfb_create_framebuffers()
1943 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers() local
1945 omapfb_get_mem_region(ofbi->region); in omapfb_create_framebuffers()
1947 omapfb_put_mem_region(ofbi->region); in omapfb_create_framebuffers()
1957 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers() local
1959 if (ofbi->region->size == 0) in omapfb_create_framebuffers()
1980 struct omapfb_info *ofbi = FB2OFB(fbi); in omapfb_create_framebuffers() local
1982 omapfb_get_mem_region(ofbi->region); in omapfb_create_framebuffers()
1984 omapfb_put_mem_region(ofbi->region); in omapfb_create_framebuffers()
1994 struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[0]); in omapfb_create_framebuffers() local
1996 if (ofbi->num_overlays > 0) { in omapfb_create_framebuffers()
1997 struct omap_overlay *ovl = ofbi->overlays[0]; in omapfb_create_framebuffers()