Lines Matching refs:oi
208 struct osd_info *oi = itv->osd_info; in ivtvfb_get_osd_coords() local
213 osd->offset = data[0] - oi->video_rbase; in ivtvfb_get_osd_coords()
214 osd->max_offset = oi->display_width * oi->display_height * 4; in ivtvfb_get_osd_coords()
224 struct osd_info *oi = itv->osd_info; in ivtvfb_set_osd_coords() local
226 oi->display_width = osd->pixel_stride; in ivtvfb_set_osd_coords()
227 oi->display_byte_stride = osd->pixel_stride * oi->bytes_per_pixel; in ivtvfb_set_osd_coords()
228 oi->set_osd_coords_x += osd->x; in ivtvfb_set_osd_coords()
229 oi->set_osd_coords_y = osd->y; in ivtvfb_set_osd_coords()
232 osd->offset + oi->video_rbase, in ivtvfb_set_osd_coords()
325 struct osd_info *oi = itv->osd_info; in ivtvfb_prep_frame() local
334 if ((dest_offset + count) > oi->video_buffer_size) { in ivtvfb_prep_frame()
336 dest_offset + count, oi->video_buffer_size); in ivtvfb_prep_frame()
361 dest_offset += IVTV_DECODER_OFFSET + oi->video_rbase; in ivtvfb_prep_frame()
502 struct osd_info *oi = itv->osd_info; in ivtvfb_set_var() local
549 oi->bits_per_pixel = var->bits_per_pixel; in ivtvfb_set_var()
550 oi->bytes_per_pixel = var->bits_per_pixel / 8; in ivtvfb_set_var()
597 memcpy(&oi->fbvar_cur, var, sizeof(oi->fbvar_cur)); in ivtvfb_set_var()
616 struct osd_info *oi = itv->osd_info; in ivtvfb_get_fix() local
621 fix->smem_start = oi->video_pbase; in ivtvfb_get_fix()
622 fix->smem_len = oi->video_buffer_size; in ivtvfb_get_fix()
624 fix->visual = (oi->bits_per_pixel == 8) ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; in ivtvfb_get_fix()
628 fix->line_length = oi->display_byte_stride; in ivtvfb_get_fix()
638 struct osd_info *oi = itv->osd_info; in _ivtvfb_check_var() local
717 var->xres_virtual * var->yres_virtual * (var->bits_per_pixel / 8) > oi->video_buffer_size || in _ivtvfb_check_var()
946 struct osd_info *oi = itv->osd_info; in ivtvfb_restore() local
949 ivtvfb_set_var(itv, &oi->fbvar_cur); in ivtvfb_restore()
950 ivtvfb_blank(oi->blank_cur, &oi->ivtvfb_info); in ivtvfb_restore()
953 write_reg(oi->palette_cur[i], 0x02a34); in ivtvfb_restore()
955 write_reg(oi->pan_cur, 0x02a0c); in ivtvfb_restore()
964 struct osd_info *oi = itv->osd_info; in ivtvfb_init_vidmode() local
972 oi->bits_per_pixel = osd_depth; in ivtvfb_init_vidmode()
973 oi->bytes_per_pixel = oi->bits_per_pixel / 8; in ivtvfb_init_vidmode()
1000 oi->display_byte_stride = in ivtvfb_init_vidmode()
1001 start_window.width * oi->bytes_per_pixel; in ivtvfb_init_vidmode()
1024 oi->display_width = start_window.width; in ivtvfb_init_vidmode()
1025 oi->display_height = start_window.height; in ivtvfb_init_vidmode()
1029 oi->ivtvfb_defined.xres = oi->display_width; in ivtvfb_init_vidmode()
1030 oi->ivtvfb_defined.yres = oi->display_height; in ivtvfb_init_vidmode()
1031 oi->ivtvfb_defined.xres_virtual = oi->display_width; in ivtvfb_init_vidmode()
1032 oi->ivtvfb_defined.yres_virtual = oi->display_height; in ivtvfb_init_vidmode()
1033 oi->ivtvfb_defined.bits_per_pixel = oi->bits_per_pixel; in ivtvfb_init_vidmode()
1034 oi->ivtvfb_defined.vmode = (osd_laced ? FB_VMODE_INTERLACED : FB_VMODE_NONINTERLACED); in ivtvfb_init_vidmode()
1035 oi->ivtvfb_defined.left_margin = start_window.left + 1; in ivtvfb_init_vidmode()
1036 oi->ivtvfb_defined.upper_margin = start_window.top + 1; in ivtvfb_init_vidmode()
1037 oi->ivtvfb_defined.accel_flags = FB_ACCEL_NONE; in ivtvfb_init_vidmode()
1038 oi->ivtvfb_defined.nonstd = 0; in ivtvfb_init_vidmode()
1042 _ivtvfb_check_var(&oi->ivtvfb_defined, itv); in ivtvfb_init_vidmode()
1046 ivtvfb_get_fix(itv, &oi->ivtvfb_fix); in ivtvfb_init_vidmode()
1050 oi->ivtvfb_info.node = -1; in ivtvfb_init_vidmode()
1051 oi->ivtvfb_info.flags = FBINFO_FLAG_DEFAULT; in ivtvfb_init_vidmode()
1052 oi->ivtvfb_info.par = itv; in ivtvfb_init_vidmode()
1053 oi->ivtvfb_info.var = oi->ivtvfb_defined; in ivtvfb_init_vidmode()
1054 oi->ivtvfb_info.fix = oi->ivtvfb_fix; in ivtvfb_init_vidmode()
1055 oi->ivtvfb_info.screen_base = (u8 __iomem *)oi->video_vbase; in ivtvfb_init_vidmode()
1056 oi->ivtvfb_info.fbops = &ivtvfb_ops; in ivtvfb_init_vidmode()
1059 oi->ivtvfb_info.monspecs.hfmin = 8000; in ivtvfb_init_vidmode()
1060 oi->ivtvfb_info.monspecs.hfmax = 70000; in ivtvfb_init_vidmode()
1061 oi->ivtvfb_info.monspecs.vfmin = 10; in ivtvfb_init_vidmode()
1062 oi->ivtvfb_info.monspecs.vfmax = 100; in ivtvfb_init_vidmode()
1065 if (fb_alloc_cmap(&oi->ivtvfb_info.cmap, 256, 1)) { in ivtvfb_init_vidmode()
1071 oi->ivtvfb_info.pseudo_palette = in ivtvfb_init_vidmode()
1074 if (!oi->ivtvfb_info.pseudo_palette) { in ivtvfb_init_vidmode()
1086 struct osd_info *oi = itv->osd_info; in ivtvfb_init_io() local
1098 if (ivtvfb_get_framebuffer(itv, &oi->video_rbase, in ivtvfb_init_io()
1099 &oi->video_buffer_size) < 0) { in ivtvfb_init_io()
1107 oi->video_buffer_size = 1704960; in ivtvfb_init_io()
1109 oi->video_pbase = itv->base_addr + IVTV_DECODER_OFFSET + oi->video_rbase; in ivtvfb_init_io()
1110 oi->video_vbase = itv->dec_mem + oi->video_rbase; in ivtvfb_init_io()
1112 if (!oi->video_vbase) { in ivtvfb_init_io()
1114 oi->video_buffer_size, oi->video_pbase); in ivtvfb_init_io()
1119 oi->video_pbase, oi->video_vbase, in ivtvfb_init_io()
1120 oi->video_buffer_size / 1024); in ivtvfb_init_io()
1122 while (!(oi->video_buffer_size & (1 << size_shift))) in ivtvfb_init_io()
1125 oi->fb_start_aligned_physaddr = oi->video_pbase & ~((1 << size_shift) - 1); in ivtvfb_init_io()
1126 oi->fb_end_aligned_physaddr = oi->video_pbase + oi->video_buffer_size; in ivtvfb_init_io()
1127 oi->fb_end_aligned_physaddr += (1 << size_shift) - 1; in ivtvfb_init_io()
1128 oi->fb_end_aligned_physaddr &= ~((1 << size_shift) - 1); in ivtvfb_init_io()
1129 oi->wc_cookie = arch_phys_wc_add(oi->fb_start_aligned_physaddr, in ivtvfb_init_io()
1130 oi->fb_end_aligned_physaddr - in ivtvfb_init_io()
1131 oi->fb_start_aligned_physaddr); in ivtvfb_init_io()
1133 memset_io(oi->video_vbase, 0, oi->video_buffer_size); in ivtvfb_init_io()
1141 struct osd_info *oi = itv->osd_info; in ivtvfb_release_buffers() local
1144 if (oi->ivtvfb_info.cmap.len) in ivtvfb_release_buffers()
1145 fb_dealloc_cmap(&oi->ivtvfb_info.cmap); in ivtvfb_release_buffers()
1148 kfree(oi->ivtvfb_info.pseudo_palette); in ivtvfb_release_buffers()
1149 arch_phys_wc_del(oi->wc_cookie); in ivtvfb_release_buffers()
1150 kfree(oi); in ivtvfb_release_buffers()
1250 struct osd_info *oi = itv->osd_info; in ivtvfb_callback_cleanup() local
1261 ivtvfb_blank(FB_BLANK_VSYNC_SUSPEND, &oi->ivtvfb_info); in ivtvfb_callback_cleanup()