Lines Matching refs:oi
219 struct osd_info *oi = itv->osd_info; in ivtvfb_get_osd_coords() local
224 osd->offset = data[0] - oi->video_rbase; in ivtvfb_get_osd_coords()
225 osd->max_offset = oi->display_width * oi->display_height * 4; in ivtvfb_get_osd_coords()
235 struct osd_info *oi = itv->osd_info; in ivtvfb_set_osd_coords() local
237 oi->display_width = osd->pixel_stride; in ivtvfb_set_osd_coords()
238 oi->display_byte_stride = osd->pixel_stride * oi->bytes_per_pixel; in ivtvfb_set_osd_coords()
239 oi->set_osd_coords_x += osd->x; in ivtvfb_set_osd_coords()
240 oi->set_osd_coords_y = osd->y; in ivtvfb_set_osd_coords()
243 osd->offset + oi->video_rbase, in ivtvfb_set_osd_coords()
337 struct osd_info *oi = itv->osd_info; in ivtvfb_prep_frame() local
346 if ((dest_offset + count) > oi->video_buffer_size) { in ivtvfb_prep_frame()
348 dest_offset + count, oi->video_buffer_size); in ivtvfb_prep_frame()
375 dest_offset += IVTV_DECODER_OFFSET + oi->video_rbase; in ivtvfb_prep_frame()
516 struct osd_info *oi = itv->osd_info; in ivtvfb_set_var() local
563 oi->bits_per_pixel = var->bits_per_pixel; in ivtvfb_set_var()
564 oi->bytes_per_pixel = var->bits_per_pixel / 8; in ivtvfb_set_var()
611 memcpy(&oi->fbvar_cur, var, sizeof(oi->fbvar_cur)); in ivtvfb_set_var()
630 struct osd_info *oi = itv->osd_info; in ivtvfb_get_fix() local
635 fix->smem_start = oi->video_pbase; in ivtvfb_get_fix()
636 fix->smem_len = oi->video_buffer_size; in ivtvfb_get_fix()
638 fix->visual = (oi->bits_per_pixel == 8) ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; in ivtvfb_get_fix()
642 fix->line_length = oi->display_byte_stride; in ivtvfb_get_fix()
652 struct osd_info *oi = itv->osd_info; in _ivtvfb_check_var() local
731 var->xres_virtual * var->yres_virtual * (var->bits_per_pixel / 8) > oi->video_buffer_size || in _ivtvfb_check_var()
960 struct osd_info *oi = itv->osd_info; in ivtvfb_restore() local
963 ivtvfb_set_var(itv, &oi->fbvar_cur); in ivtvfb_restore()
964 ivtvfb_blank(oi->blank_cur, &oi->ivtvfb_info); in ivtvfb_restore()
967 write_reg(oi->palette_cur[i], 0x02a34); in ivtvfb_restore()
969 write_reg(oi->pan_cur, 0x02a0c); in ivtvfb_restore()
978 struct osd_info *oi = itv->osd_info; in ivtvfb_init_vidmode() local
986 oi->bits_per_pixel = osd_depth; in ivtvfb_init_vidmode()
987 oi->bytes_per_pixel = oi->bits_per_pixel / 8; in ivtvfb_init_vidmode()
1014 oi->display_byte_stride = in ivtvfb_init_vidmode()
1015 start_window.width * oi->bytes_per_pixel; in ivtvfb_init_vidmode()
1038 oi->display_width = start_window.width; in ivtvfb_init_vidmode()
1039 oi->display_height = start_window.height; in ivtvfb_init_vidmode()
1043 oi->ivtvfb_defined.xres = oi->display_width; in ivtvfb_init_vidmode()
1044 oi->ivtvfb_defined.yres = oi->display_height; in ivtvfb_init_vidmode()
1045 oi->ivtvfb_defined.xres_virtual = oi->display_width; in ivtvfb_init_vidmode()
1046 oi->ivtvfb_defined.yres_virtual = oi->display_height; in ivtvfb_init_vidmode()
1047 oi->ivtvfb_defined.bits_per_pixel = oi->bits_per_pixel; in ivtvfb_init_vidmode()
1048 oi->ivtvfb_defined.vmode = (osd_laced ? FB_VMODE_INTERLACED : FB_VMODE_NONINTERLACED); in ivtvfb_init_vidmode()
1049 oi->ivtvfb_defined.left_margin = start_window.left + 1; in ivtvfb_init_vidmode()
1050 oi->ivtvfb_defined.upper_margin = start_window.top + 1; in ivtvfb_init_vidmode()
1051 oi->ivtvfb_defined.accel_flags = FB_ACCEL_NONE; in ivtvfb_init_vidmode()
1052 oi->ivtvfb_defined.nonstd = 0; in ivtvfb_init_vidmode()
1056 _ivtvfb_check_var(&oi->ivtvfb_defined, itv); in ivtvfb_init_vidmode()
1060 ivtvfb_get_fix(itv, &oi->ivtvfb_fix); in ivtvfb_init_vidmode()
1064 oi->ivtvfb_info.node = -1; in ivtvfb_init_vidmode()
1065 oi->ivtvfb_info.flags = FBINFO_FLAG_DEFAULT; in ivtvfb_init_vidmode()
1066 oi->ivtvfb_info.fbops = &ivtvfb_ops; in ivtvfb_init_vidmode()
1067 oi->ivtvfb_info.par = itv; in ivtvfb_init_vidmode()
1068 oi->ivtvfb_info.var = oi->ivtvfb_defined; in ivtvfb_init_vidmode()
1069 oi->ivtvfb_info.fix = oi->ivtvfb_fix; in ivtvfb_init_vidmode()
1070 oi->ivtvfb_info.screen_base = (u8 __iomem *)oi->video_vbase; in ivtvfb_init_vidmode()
1071 oi->ivtvfb_info.fbops = &ivtvfb_ops; in ivtvfb_init_vidmode()
1074 oi->ivtvfb_info.monspecs.hfmin = 8000; in ivtvfb_init_vidmode()
1075 oi->ivtvfb_info.monspecs.hfmax = 70000; in ivtvfb_init_vidmode()
1076 oi->ivtvfb_info.monspecs.vfmin = 10; in ivtvfb_init_vidmode()
1077 oi->ivtvfb_info.monspecs.vfmax = 100; in ivtvfb_init_vidmode()
1080 if (fb_alloc_cmap(&oi->ivtvfb_info.cmap, 256, 1)) { in ivtvfb_init_vidmode()
1086 oi->ivtvfb_info.pseudo_palette = in ivtvfb_init_vidmode()
1089 if (!oi->ivtvfb_info.pseudo_palette) { in ivtvfb_init_vidmode()
1101 struct osd_info *oi = itv->osd_info; in ivtvfb_init_io() local
1111 if (ivtvfb_get_framebuffer(itv, &oi->video_rbase, in ivtvfb_init_io()
1112 &oi->video_buffer_size) < 0) { in ivtvfb_init_io()
1120 oi->video_buffer_size = 1704960; in ivtvfb_init_io()
1122 oi->video_pbase = itv->base_addr + IVTV_DECODER_OFFSET + oi->video_rbase; in ivtvfb_init_io()
1123 oi->video_vbase = itv->dec_mem + oi->video_rbase; in ivtvfb_init_io()
1125 if (!oi->video_vbase) { in ivtvfb_init_io()
1127 oi->video_buffer_size, oi->video_pbase); in ivtvfb_init_io()
1132 oi->video_pbase, oi->video_vbase, in ivtvfb_init_io()
1133 oi->video_buffer_size / 1024); in ivtvfb_init_io()
1140 while (!(oi->video_buffer_size & (1 << size_shift))) { in ivtvfb_init_io()
1144 oi->fb_start_aligned_physaddr = oi->video_pbase & ~((1 << size_shift) - 1); in ivtvfb_init_io()
1145 oi->fb_end_aligned_physaddr = oi->video_pbase + oi->video_buffer_size; in ivtvfb_init_io()
1146 oi->fb_end_aligned_physaddr += (1 << size_shift) - 1; in ivtvfb_init_io()
1147 oi->fb_end_aligned_physaddr &= ~((1 << size_shift) - 1); in ivtvfb_init_io()
1148 if (mtrr_add(oi->fb_start_aligned_physaddr, in ivtvfb_init_io()
1149 oi->fb_end_aligned_physaddr - oi->fb_start_aligned_physaddr, in ivtvfb_init_io()
1152 oi->fb_start_aligned_physaddr = 0; in ivtvfb_init_io()
1153 oi->fb_end_aligned_physaddr = 0; in ivtvfb_init_io()
1159 memset_io(oi->video_vbase, 0, oi->video_buffer_size); in ivtvfb_init_io()
1167 struct osd_info *oi = itv->osd_info; in ivtvfb_release_buffers() local
1170 if (oi->ivtvfb_info.cmap.len) in ivtvfb_release_buffers()
1171 fb_dealloc_cmap(&oi->ivtvfb_info.cmap); in ivtvfb_release_buffers()
1174 kfree(oi->ivtvfb_info.pseudo_palette); in ivtvfb_release_buffers()
1177 if (oi->fb_end_aligned_physaddr) { in ivtvfb_release_buffers()
1178 mtrr_del(-1, oi->fb_start_aligned_physaddr, in ivtvfb_release_buffers()
1179 oi->fb_end_aligned_physaddr - oi->fb_start_aligned_physaddr); in ivtvfb_release_buffers()
1183 kfree(oi); in ivtvfb_release_buffers()
1264 struct osd_info *oi = itv->osd_info; in ivtvfb_callback_cleanup() local
1274 ivtvfb_blank(FB_BLANK_VSYNC_SUSPEND, &oi->ivtvfb_info); in ivtvfb_callback_cleanup()