• Home
  • Raw
  • Download

Lines Matching refs:vinfo

180 static void vmlfb_free_vram(struct vml_info *vinfo)  in vmlfb_free_vram()  argument
184 for (i = 0; i < vinfo->num_areas; ++i) { in vmlfb_free_vram()
185 vmlfb_free_vram_area(&vinfo->vram[i]); in vmlfb_free_vram()
187 vinfo->num_areas = 0; in vmlfb_free_vram()
197 static int vmlfb_alloc_vram(struct vml_info *vinfo, in vmlfb_alloc_vram() argument
208 vinfo->num_areas = 0; in vmlfb_alloc_vram()
210 va = &vinfo->vram[i]; in vmlfb_alloc_vram()
222 vinfo->vram_start = va->phys; in vmlfb_alloc_vram()
223 vinfo->vram_logical = (void __iomem *) va->logical; in vmlfb_alloc_vram()
224 vinfo->vram_contig_size = va->size; in vmlfb_alloc_vram()
225 vinfo->num_areas = 1; in vmlfb_alloc_vram()
230 va2 = &vinfo->vram[j]; in vmlfb_alloc_vram()
239 vinfo->num_areas++; in vmlfb_alloc_vram()
240 if (va->phys < vinfo->vram_start) { in vmlfb_alloc_vram()
241 vinfo->vram_start = va->phys; in vmlfb_alloc_vram()
242 vinfo->vram_logical = in vmlfb_alloc_vram()
245 vinfo->vram_contig_size += va->size; in vmlfb_alloc_vram()
258 if (vinfo->vram_contig_size > min_total && in vmlfb_alloc_vram()
259 vinfo->vram_contig_size > min_contig) { in vmlfb_alloc_vram()
263 (unsigned long)vinfo->vram_contig_size, in vmlfb_alloc_vram()
264 (unsigned long)vinfo->vram_start); in vmlfb_alloc_vram()
272 vmlfb_free_vram(vinfo); in vmlfb_alloc_vram()
303 static int vmlfb_vram_offset(struct vml_info *vinfo, unsigned long offset) in vmlfb_vram_offset() argument
308 for (i = 0; i < vinfo->num_areas; ++i) { in vmlfb_vram_offset()
309 aoffset = offset - (vinfo->vram[i].phys - vinfo->vram_start); in vmlfb_vram_offset()
311 if (aoffset < vinfo->vram[i].size) { in vmlfb_vram_offset()
398 struct vml_info *vinfo; in vml_pci_remove() local
403 vinfo = container_of(info, struct vml_info, info); in vml_pci_remove()
404 par = vinfo->par; in vml_pci_remove()
408 vmlfb_free_vram(vinfo); in vml_pci_remove()
411 kfree(vinfo); in vml_pci_remove()
456 struct vml_info *vinfo; in vml_pci_probe() local
465 vinfo = kzalloc(sizeof(*vinfo), GFP_KERNEL); in vml_pci_probe()
466 if (vinfo == NULL) { in vml_pci_probe()
471 vinfo->par = par; in vml_pci_probe()
479 pci_set_drvdata(dev, &vinfo->info); in vml_pci_probe()
486 info = &vinfo->info; in vml_pci_probe()
493 err = vmlfb_alloc_vram(vinfo, vml_mem_requested, in vml_pci_probe()
501 info->fix.smem_start = vinfo->vram_start; in vml_pci_probe()
502 info->fix.smem_len = vinfo->vram_contig_size; in vml_pci_probe()
509 info->screen_base = vinfo->vram_logical; in vml_pci_probe()
510 info->pseudo_palette = vinfo->pseudo_palette; in vml_pci_probe()
515 INIT_LIST_HEAD(&vinfo->head); in vml_pci_probe()
516 vinfo->pipe_disabled = 1; in vml_pci_probe()
517 vinfo->cur_blank_mode = FB_BLANK_UNBLANK; in vml_pci_probe()
546 vmlfb_free_vram(vinfo); in vml_pci_probe()
552 kfree(vinfo); in vml_pci_probe()
598 struct vml_info *vinfo) in vmlfb_check_var_locked() argument
655 if (mem > vinfo->vram_contig_size) { in vmlfb_check_var_locked()
694 struct vml_info *vinfo = container_of(info, struct vml_info, info); in vmlfb_check_var() local
698 ret = vmlfb_check_var_locked(var, vinfo); in vmlfb_check_var()
704 static void vml_wait_vblank(struct vml_info *vinfo) in vml_wait_vblank() argument
710 static void vmlfb_disable_pipe(struct vml_info *vinfo) in vmlfb_disable_pipe() argument
712 struct vml_par *par = vinfo->par; in vmlfb_disable_pipe()
723 vml_wait_vblank(vinfo); in vmlfb_disable_pipe()
729 vinfo->pipe_disabled = 1; in vmlfb_disable_pipe()
733 static void vml_dump_regs(struct vml_info *vinfo) in vml_dump_regs() argument
735 struct vml_par *par = vinfo->par; in vml_dump_regs()
776 static int vmlfb_set_par_locked(struct vml_info *vinfo) in vmlfb_set_par_locked() argument
778 struct vml_par *par = vinfo->par; in vmlfb_set_par_locked()
779 struct fb_info *info = &vinfo->info; in vmlfb_set_par_locked()
786 vinfo->bytes_per_pixel = var->bits_per_pixel >> 3; in vmlfb_set_par_locked()
787 vinfo->stride = ALIGN(var->xres_virtual * vinfo->bytes_per_pixel, 0x40); in vmlfb_set_par_locked()
788 info->fix.line_length = vinfo->stride; in vmlfb_set_par_locked()
835 vmlfb_disable_pipe(vinfo); in vmlfb_set_par_locked()
853 VML_WRITE32(par, VML_DSPCSTRIDE, vinfo->stride); in vmlfb_set_par_locked()
868 VML_WRITE32(par, VML_DSPCADDR, (u32) vinfo->vram_start + in vmlfb_set_par_locked()
869 var->yoffset * vinfo->stride + in vmlfb_set_par_locked()
870 var->xoffset * vinfo->bytes_per_pixel); in vmlfb_set_par_locked()
877 vinfo->pipe_disabled = 0; in vmlfb_set_par_locked()
879 vml_dump_regs(vinfo); in vmlfb_set_par_locked()
887 struct vml_info *vinfo = container_of(info, struct vml_info, info); in vmlfb_set_par() local
891 list_move(&vinfo->head, (subsys) ? &global_has_mode : &global_no_mode); in vmlfb_set_par()
892 ret = vmlfb_set_par_locked(vinfo); in vmlfb_set_par()
898 static int vmlfb_blank_locked(struct vml_info *vinfo) in vmlfb_blank_locked() argument
900 struct vml_par *par = vinfo->par; in vmlfb_blank_locked()
903 switch (vinfo->cur_blank_mode) { in vmlfb_blank_locked()
905 if (vinfo->pipe_disabled) { in vmlfb_blank_locked()
906 vmlfb_set_par_locked(vinfo); in vmlfb_blank_locked()
912 if (vinfo->pipe_disabled) { in vmlfb_blank_locked()
913 vmlfb_set_par_locked(vinfo); in vmlfb_blank_locked()
920 if (!vinfo->pipe_disabled) { in vmlfb_blank_locked()
921 vmlfb_disable_pipe(vinfo); in vmlfb_blank_locked()
925 if (!vinfo->pipe_disabled) { in vmlfb_blank_locked()
926 vmlfb_disable_pipe(vinfo); in vmlfb_blank_locked()
938 struct vml_info *vinfo = container_of(info, struct vml_info, info); in vmlfb_blank() local
942 vinfo->cur_blank_mode = blank_mode; in vmlfb_blank()
943 ret = vmlfb_blank_locked(vinfo); in vmlfb_blank()
951 struct vml_info *vinfo = container_of(info, struct vml_info, info); in vmlfb_pan_display() local
952 struct vml_par *par = vinfo->par; in vmlfb_pan_display()
955 VML_WRITE32(par, VML_DSPCADDR, (u32) vinfo->vram_start + in vmlfb_pan_display()
956 var->yoffset * vinfo->stride + in vmlfb_pan_display()
957 var->xoffset * vinfo->bytes_per_pixel); in vmlfb_pan_display()
1003 struct vml_info *vinfo = container_of(info, struct vml_info, info); in vmlfb_mmap() local
1008 ret = vmlfb_vram_offset(vinfo, offset); in vmlfb_mmap()
1016 return vm_iomap_memory(vma, vinfo->vram_start, in vmlfb_mmap()
1017 vinfo->vram_contig_size); in vmlfb_mmap()