Lines Matching refs:dinfo

135 static void get_initial_mode(struct intelfb_info *dinfo);
136 static void update_dinfo(struct intelfb_info *dinfo,
168 static int intelfb_set_fbinfo(struct intelfb_info *dinfo);
418 static inline void set_mtrr(struct intelfb_info *dinfo) in set_mtrr() argument
420 dinfo->mtrr_reg = mtrr_add(dinfo->aperture.physical, in set_mtrr()
421 dinfo->aperture.size, MTRR_TYPE_WRCOMB, 1); in set_mtrr()
422 if (dinfo->mtrr_reg < 0) { in set_mtrr()
426 dinfo->has_mtrr = 1; in set_mtrr()
428 static inline void unset_mtrr(struct intelfb_info *dinfo) in unset_mtrr() argument
430 if (dinfo->has_mtrr) in unset_mtrr()
431 mtrr_del(dinfo->mtrr_reg, dinfo->aperture.physical, in unset_mtrr()
432 dinfo->aperture.size); in unset_mtrr()
444 static void cleanup(struct intelfb_info *dinfo) in cleanup() argument
448 if (!dinfo) in cleanup()
451 intelfbhw_disable_irq(dinfo); in cleanup()
453 fb_dealloc_cmap(&dinfo->info->cmap); in cleanup()
454 kfree(dinfo->info->pixmap.addr); in cleanup()
456 if (dinfo->registered) in cleanup()
457 unregister_framebuffer(dinfo->info); in cleanup()
459 unset_mtrr(dinfo); in cleanup()
461 if (dinfo->fbmem_gart && dinfo->gtt_fb_mem) { in cleanup()
462 agp_unbind_memory(dinfo->gtt_fb_mem); in cleanup()
463 agp_free_memory(dinfo->gtt_fb_mem); in cleanup()
465 if (dinfo->gtt_cursor_mem) { in cleanup()
466 agp_unbind_memory(dinfo->gtt_cursor_mem); in cleanup()
467 agp_free_memory(dinfo->gtt_cursor_mem); in cleanup()
469 if (dinfo->gtt_ring_mem) { in cleanup()
470 agp_unbind_memory(dinfo->gtt_ring_mem); in cleanup()
471 agp_free_memory(dinfo->gtt_ring_mem); in cleanup()
476 intelfb_delete_i2c_busses(dinfo); in cleanup()
479 if (dinfo->mmio_base) in cleanup()
480 iounmap((void __iomem *)dinfo->mmio_base); in cleanup()
481 if (dinfo->aperture.virtual) in cleanup()
482 iounmap((void __iomem *)dinfo->aperture.virtual); in cleanup()
484 if (dinfo->flag & INTELFB_MMIO_ACQUIRED) in cleanup()
485 release_mem_region(dinfo->mmio_base_phys, INTEL_REG_SIZE); in cleanup()
486 if (dinfo->flag & INTELFB_FB_ACQUIRED) in cleanup()
487 release_mem_region(dinfo->aperture.physical, in cleanup()
488 dinfo->aperture.size); in cleanup()
489 framebuffer_release(dinfo->info); in cleanup()
492 #define bailout(dinfo) do { \ argument
494 cleanup(dinfo); \
504 struct intelfb_info *dinfo; in intelfb_pci_register() local
534 dinfo = info->par; in intelfb_pci_register()
535 dinfo->info = info; in intelfb_pci_register()
536 dinfo->fbops = &intel_fb_ops; in intelfb_pci_register()
537 dinfo->pdev = pdev; in intelfb_pci_register()
548 dinfo->fixed_mode = fixed; in intelfb_pci_register()
553 cleanup(dinfo); in intelfb_pci_register()
569 dinfo->aperture.physical = pci_resource_start(pdev, aperture_bar); in intelfb_pci_register()
570 dinfo->aperture.size = pci_resource_len(pdev, aperture_bar); in intelfb_pci_register()
571 dinfo->mmio_base_phys = pci_resource_start(pdev, mmio_bar); in intelfb_pci_register()
579 if (!request_mem_region(dinfo->aperture.physical, dinfo->aperture.size, in intelfb_pci_register()
582 cleanup(dinfo); in intelfb_pci_register()
586 dinfo->flag |= INTELFB_FB_ACQUIRED; in intelfb_pci_register()
588 if (!request_mem_region(dinfo->mmio_base_phys, in intelfb_pci_register()
592 cleanup(dinfo); in intelfb_pci_register()
596 dinfo->flag |= INTELFB_MMIO_ACQUIRED; in intelfb_pci_register()
599 dinfo->pci_chipset = pdev->device; in intelfb_pci_register()
601 if (intelfbhw_get_chipset(pdev, dinfo)) { in intelfb_pci_register()
602 cleanup(dinfo); in intelfb_pci_register()
607 cleanup(dinfo); in intelfb_pci_register()
614 PCI_FUNC(pdev->devfn), dinfo->name, in intelfb_pci_register()
618 dinfo->accel = accel; in intelfb_pci_register()
619 dinfo->hwcursor = hwcursor; in intelfb_pci_register()
621 if (NOACCEL_CHIPSET(dinfo) && dinfo->accel == 1) { in intelfb_pci_register()
623 dinfo->name); in intelfb_pci_register()
624 dinfo->accel = 0; in intelfb_pci_register()
629 dinfo->fb.size = ROUND_UP_TO_PAGE(stolen_size); in intelfb_pci_register()
630 dinfo->fbmem_gart = 0; in intelfb_pci_register()
632 dinfo->fb.size = MB(vram); in intelfb_pci_register()
633 dinfo->fbmem_gart = 1; in intelfb_pci_register()
637 if (dinfo->accel) { in intelfb_pci_register()
638 dinfo->ring.size = RINGBUFFER_SIZE; in intelfb_pci_register()
639 dinfo->ring_tail_mask = dinfo->ring.size - 1; in intelfb_pci_register()
641 if (dinfo->hwcursor) in intelfb_pci_register()
642 dinfo->cursor.size = HW_CURSOR_SIZE; in intelfb_pci_register()
647 cleanup(dinfo); in intelfb_pci_register()
655 cleanup(dinfo); in intelfb_pci_register()
665 if (dinfo->accel) in intelfb_pci_register()
666 dinfo->ring.offset = offset + gtt_info.current_memory; in intelfb_pci_register()
667 if (dinfo->hwcursor) in intelfb_pci_register()
668 dinfo->cursor.offset = offset + in intelfb_pci_register()
669 + gtt_info.current_memory + (dinfo->ring.size >> 12); in intelfb_pci_register()
670 if (dinfo->fbmem_gart) in intelfb_pci_register()
671 dinfo->fb.offset = offset + in intelfb_pci_register()
672 + gtt_info.current_memory + (dinfo->ring.size >> 12) in intelfb_pci_register()
673 + (dinfo->cursor.size >> 12); in intelfb_pci_register()
678 dinfo->aperture.virtual = (u8 __iomem *)ioremap_nocache in intelfb_pci_register()
679 (dinfo->aperture.physical, ((offset + dinfo->fb.offset) << 12) in intelfb_pci_register()
680 + dinfo->fb.size); in intelfb_pci_register()
681 if (!dinfo->aperture.virtual) { in intelfb_pci_register()
684 cleanup(dinfo); in intelfb_pci_register()
688 dinfo->mmio_base = in intelfb_pci_register()
689 (u8 __iomem *)ioremap_nocache(dinfo->mmio_base_phys, in intelfb_pci_register()
691 if (!dinfo->mmio_base) { in intelfb_pci_register()
694 cleanup(dinfo); in intelfb_pci_register()
698 if (dinfo->accel) { in intelfb_pci_register()
699 if (!(dinfo->gtt_ring_mem = in intelfb_pci_register()
700 agp_allocate_memory(bridge, dinfo->ring.size >> 12, in intelfb_pci_register()
704 cleanup(dinfo); in intelfb_pci_register()
707 if (agp_bind_memory(dinfo->gtt_ring_mem, in intelfb_pci_register()
708 dinfo->ring.offset)) { in intelfb_pci_register()
711 cleanup(dinfo); in intelfb_pci_register()
714 dinfo->ring.physical = dinfo->aperture.physical in intelfb_pci_register()
715 + (dinfo->ring.offset << 12); in intelfb_pci_register()
716 dinfo->ring.virtual = dinfo->aperture.virtual in intelfb_pci_register()
717 + (dinfo->ring.offset << 12); in intelfb_pci_register()
718 dinfo->ring_head = 0; in intelfb_pci_register()
720 if (dinfo->hwcursor) { in intelfb_pci_register()
721 agp_memtype = dinfo->mobile ? AGP_PHYSICAL_MEMORY in intelfb_pci_register()
723 if (!(dinfo->gtt_cursor_mem = in intelfb_pci_register()
724 agp_allocate_memory(bridge, dinfo->cursor.size >> 12, in intelfb_pci_register()
728 cleanup(dinfo); in intelfb_pci_register()
731 if (agp_bind_memory(dinfo->gtt_cursor_mem, in intelfb_pci_register()
732 dinfo->cursor.offset)) { in intelfb_pci_register()
735 cleanup(dinfo); in intelfb_pci_register()
738 if (dinfo->mobile) in intelfb_pci_register()
739 dinfo->cursor.physical in intelfb_pci_register()
740 = dinfo->gtt_cursor_mem->physical; in intelfb_pci_register()
742 dinfo->cursor.physical = dinfo->aperture.physical in intelfb_pci_register()
743 + (dinfo->cursor.offset << 12); in intelfb_pci_register()
744 dinfo->cursor.virtual = dinfo->aperture.virtual in intelfb_pci_register()
745 + (dinfo->cursor.offset << 12); in intelfb_pci_register()
747 if (dinfo->fbmem_gart) { in intelfb_pci_register()
748 if (!(dinfo->gtt_fb_mem = in intelfb_pci_register()
749 agp_allocate_memory(bridge, dinfo->fb.size >> 12, in intelfb_pci_register()
753 dinfo->fbmem_gart = 0; in intelfb_pci_register()
755 if (agp_bind_memory(dinfo->gtt_fb_mem, in intelfb_pci_register()
756 dinfo->fb.offset)) { in intelfb_pci_register()
759 dinfo->fbmem_gart = 0; in intelfb_pci_register()
764 if (!dinfo->fbmem_gart) in intelfb_pci_register()
765 dinfo->fb.offset = 0; /* starts at offset 0 */ in intelfb_pci_register()
766 dinfo->fb.physical = dinfo->aperture.physical in intelfb_pci_register()
767 + (dinfo->fb.offset << 12); in intelfb_pci_register()
768 dinfo->fb.virtual = dinfo->aperture.virtual + (dinfo->fb.offset << 12); in intelfb_pci_register()
769 dinfo->fb_start = dinfo->fb.offset << 12; in intelfb_pci_register()
775 set_mtrr(dinfo); in intelfb_pci_register()
778 dinfo->fb.physical, dinfo->fb.offset, dinfo->fb.size, in intelfb_pci_register()
779 dinfo->fb.virtual); in intelfb_pci_register()
781 dinfo->mmio_base_phys, INTEL_REG_SIZE, in intelfb_pci_register()
782 dinfo->mmio_base); in intelfb_pci_register()
784 dinfo->ring.physical, dinfo->ring.size, in intelfb_pci_register()
785 dinfo->ring.virtual); in intelfb_pci_register()
787 dinfo->cursor.physical, dinfo->cursor.size, in intelfb_pci_register()
788 dinfo->cursor.virtual, dinfo->cursor.offset, in intelfb_pci_register()
789 dinfo->cursor.physical); in intelfb_pci_register()
796 bailout(dinfo); in intelfb_pci_register()
802 dvo = intelfbhw_check_non_crt(dinfo); in intelfb_pci_register()
804 dinfo->fixed_mode = 1; in intelfb_pci_register()
820 bailout(dinfo); in intelfb_pci_register()
822 if (FIXED_MODE(dinfo) && in intelfb_pci_register()
825 cleanup(dinfo); in intelfb_pci_register()
830 bailout(dinfo); in intelfb_pci_register()
835 get_initial_mode(dinfo); in intelfb_pci_register()
838 bailout(dinfo); in intelfb_pci_register()
840 if (FIXED_MODE(dinfo)) /* remap fb address */ in intelfb_pci_register()
841 update_dinfo(dinfo, &dinfo->initial_var); in intelfb_pci_register()
844 bailout(dinfo); in intelfb_pci_register()
847 if (intelfb_set_fbinfo(dinfo)) { in intelfb_pci_register()
848 cleanup(dinfo); in intelfb_pci_register()
853 bailout(dinfo); in intelfb_pci_register()
857 intelfb_create_i2c_busses(dinfo); in intelfb_pci_register()
861 bailout(dinfo); in intelfb_pci_register()
863 pci_set_drvdata(pdev, dinfo); in intelfb_pci_register()
866 i = intelfbhw_read_hw_state(dinfo, &dinfo->save_state, in intelfb_pci_register()
870 bailout(dinfo); in intelfb_pci_register()
873 intelfbhw_print_hw_state(dinfo, &dinfo->save_state); in intelfb_pci_register()
876 bailout(dinfo); in intelfb_pci_register()
879 dinfo->pipe = intelfbhw_active_pipe(&dinfo->save_state); in intelfb_pci_register()
882 if (dinfo->hwcursor) { in intelfb_pci_register()
883 intelfbhw_cursor_init(dinfo); in intelfb_pci_register()
884 intelfbhw_cursor_reset(dinfo); in intelfb_pci_register()
888 bailout(dinfo); in intelfb_pci_register()
891 if (dinfo->accel) in intelfb_pci_register()
892 intelfbhw_2d_start(dinfo); in intelfb_pci_register()
895 bailout(dinfo); in intelfb_pci_register()
898 bailout(dinfo); in intelfb_pci_register()
900 if (register_framebuffer(dinfo->info) < 0) { in intelfb_pci_register()
902 cleanup(dinfo); in intelfb_pci_register()
906 dinfo->registered = 1; in intelfb_pci_register()
907 dinfo->open = 0; in intelfb_pci_register()
909 init_waitqueue_head(&dinfo->vsync.wait); in intelfb_pci_register()
910 spin_lock_init(&dinfo->int_lock); in intelfb_pci_register()
911 dinfo->irq_flags = 0; in intelfb_pci_register()
912 dinfo->vsync.pan_display = 0; in intelfb_pci_register()
913 dinfo->vsync.pan_offset = 0; in intelfb_pci_register()
926 struct intelfb_info *dinfo = pci_get_drvdata(pdev); in intelfb_pci_unregister() local
930 if (!dinfo) in intelfb_pci_unregister()
933 cleanup(dinfo); in intelfb_pci_unregister()
970 static void get_initial_mode(struct intelfb_info *dinfo) in get_initial_mode() argument
977 dinfo->initial_vga = 1; in get_initial_mode()
978 dinfo->initial_fb_base = screen_info.lfb_base; in get_initial_mode()
979 dinfo->initial_video_ram = screen_info.lfb_size * KB(64); in get_initial_mode()
980 dinfo->initial_pitch = screen_info.lfb_linelength; in get_initial_mode()
982 var = &dinfo->initial_var; in get_initial_mode()
997 dinfo->initial_fb_base, dinfo->initial_video_ram, in get_initial_mode()
998 BtoKB(dinfo->initial_video_ram)); in get_initial_mode()
1002 dinfo->initial_pitch); in get_initial_mode()
1037 static int intelfb_init_var(struct intelfb_info *dinfo) in intelfb_init_var() argument
1044 var = &dinfo->info->var; in intelfb_init_var()
1045 if (FIXED_MODE(dinfo)) { in intelfb_init_var()
1046 memcpy(var, &dinfo->initial_var, in intelfb_init_var()
1050 const u8 *edid_s = fb_firmware_edid(&dinfo->pdev->dev); in intelfb_init_var()
1058 &dinfo->info->monspecs); in intelfb_init_var()
1066 msrc = fb_find_mode(var, dinfo->info, mode, in intelfb_init_var()
1067 dinfo->info->monspecs.modedb, in intelfb_init_var()
1068 dinfo->info->monspecs.modedb_len, in intelfb_init_var()
1075 msrc = fb_find_mode(var, dinfo->info, mode, in intelfb_init_var()
1085 msrc = fb_find_mode(var, dinfo->info, PREFERRED_MODE, in intelfb_init_var()
1103 dinfo->fb.size / 2 / (var->bits_per_pixel * var->xres); in intelfb_init_var()
1110 if (dinfo->accel) in intelfb_init_var()
1118 static int intelfb_set_fbinfo(struct intelfb_info *dinfo) in intelfb_set_fbinfo() argument
1120 struct fb_info *info = dinfo->info; in intelfb_set_fbinfo()
1126 info->pseudo_palette = dinfo->pseudo_palette; in intelfb_set_fbinfo()
1133 if (intelfb_init_var(dinfo)) in intelfb_set_fbinfo()
1137 strcpy(info->fix.id, dinfo->name); in intelfb_set_fbinfo()
1138 info->fix.smem_start = dinfo->fb.physical; in intelfb_set_fbinfo()
1139 info->fix.smem_len = dinfo->fb.size; in intelfb_set_fbinfo()
1145 info->fix.mmio_start = dinfo->mmio_base_phys; in intelfb_set_fbinfo()
1148 update_dinfo(dinfo, &info->var); in intelfb_set_fbinfo()
1154 static void update_dinfo(struct intelfb_info *dinfo, in update_dinfo() argument
1159 dinfo->bpp = var->bits_per_pixel; in update_dinfo()
1160 dinfo->depth = intelfb_var_to_depth(var); in update_dinfo()
1161 dinfo->xres = var->xres; in update_dinfo()
1162 dinfo->yres = var->xres; in update_dinfo()
1163 dinfo->pixclock = var->pixclock; in update_dinfo()
1165 dinfo->info->fix.visual = dinfo->visual; in update_dinfo()
1166 dinfo->info->fix.line_length = dinfo->pitch; in update_dinfo()
1168 switch (dinfo->bpp) { in update_dinfo()
1170 dinfo->visual = FB_VISUAL_PSEUDOCOLOR; in update_dinfo()
1171 dinfo->pitch = var->xres_virtual; in update_dinfo()
1174 dinfo->visual = FB_VISUAL_TRUECOLOR; in update_dinfo()
1175 dinfo->pitch = var->xres_virtual * 2; in update_dinfo()
1178 dinfo->visual = FB_VISUAL_TRUECOLOR; in update_dinfo()
1179 dinfo->pitch = var->xres_virtual * 4; in update_dinfo()
1184 if (IS_I9XX(dinfo)) in update_dinfo()
1185 dinfo->pitch = ROUND_UP_TO(dinfo->pitch, STRIDE_ALIGNMENT_I9XX); in update_dinfo()
1187 dinfo->pitch = ROUND_UP_TO(dinfo->pitch, STRIDE_ALIGNMENT); in update_dinfo()
1189 if (FIXED_MODE(dinfo)) in update_dinfo()
1190 dinfo->pitch = dinfo->initial_pitch; in update_dinfo()
1192 dinfo->info->screen_base = (char __iomem *)dinfo->fb.virtual; in update_dinfo()
1193 dinfo->info->fix.line_length = dinfo->pitch; in update_dinfo()
1194 dinfo->info->fix.visual = dinfo->visual; in update_dinfo()
1205 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_open() local
1208 dinfo->open++; in intelfb_open()
1215 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_release() local
1218 dinfo->open--; in intelfb_release()
1220 if (!dinfo->open) in intelfb_release()
1221 intelfbhw_disable_irq(dinfo); in intelfb_release()
1232 struct intelfb_info *dinfo; in intelfb_check_var() local
1246 dinfo = GET_DINFO(info); in intelfb_check_var()
1249 if (intelfbhw_validate_mode(dinfo, var) != 0) in intelfb_check_var()
1283 if (FIXED_MODE(dinfo) && in intelfb_check_var()
1285 var->yres_virtual > dinfo->initial_var.yres_virtual || in intelfb_check_var()
1286 var->yres_virtual < dinfo->initial_var.yres || in intelfb_check_var()
1355 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_set_par() local
1357 if (FIXED_MODE(dinfo)) { in intelfb_set_par()
1376 if (ACCEL(dinfo, info)) in intelfb_set_par()
1377 intelfbhw_2d_stop(dinfo); in intelfb_set_par()
1379 memcpy(hw, &dinfo->save_state, sizeof(*hw)); in intelfb_set_par()
1380 if (intelfbhw_mode_to_hw(dinfo, hw, &info->var)) in intelfb_set_par()
1382 if (intelfbhw_program_mode(dinfo, hw, 0)) in intelfb_set_par()
1386 intelfbhw_read_hw_state(dinfo, hw, 0); in intelfb_set_par()
1387 intelfbhw_print_hw_state(dinfo, hw); in intelfb_set_par()
1390 update_dinfo(dinfo, &info->var); in intelfb_set_par()
1392 if (ACCEL(dinfo, info)) in intelfb_set_par()
1393 intelfbhw_2d_start(dinfo); in intelfb_set_par()
1399 if (ACCEL(dinfo, info)) { in intelfb_set_par()
1417 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_setcolreg() local
1420 DBG_MSG("intelfb_setcolreg: regno %d, depth %d\n", regno, dinfo->depth); in intelfb_setcolreg()
1426 if (dinfo->depth == 8) { in intelfb_setcolreg()
1431 intelfbhw_setcolreg(dinfo, regno, red, green, blue, in intelfb_setcolreg()
1436 switch (dinfo->depth) { in intelfb_setcolreg()
1438 dinfo->pseudo_palette[regno] = ((red & 0xf800) >> 1) | in intelfb_setcolreg()
1443 dinfo->pseudo_palette[regno] = (red & 0xf800) | in intelfb_setcolreg()
1448 dinfo->pseudo_palette[regno] = ((red & 0xff00) << 8) | in intelfb_setcolreg()
1476 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_ioctl() local
1484 retval = intelfbhw_wait_for_vsync(dinfo, pipe); in intelfb_ioctl()
1496 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_fillrect() local
1503 if (!ACCEL(dinfo, info) || dinfo->depth == 4) { in intelfb_fillrect()
1513 if (dinfo->depth != 8) in intelfb_fillrect()
1514 color = dinfo->pseudo_palette[rect->color]; in intelfb_fillrect()
1518 intelfbhw_do_fillrect(dinfo, rect->dx, rect->dy, in intelfb_fillrect()
1520 dinfo->pitch, info->var.bits_per_pixel, in intelfb_fillrect()
1527 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_copyarea() local
1533 if (!ACCEL(dinfo, info) || dinfo->depth == 4) { in intelfb_copyarea()
1538 intelfbhw_do_bitblt(dinfo, region->sx, region->sy, region->dx, in intelfb_copyarea()
1540 dinfo->pitch, info->var.bits_per_pixel); in intelfb_copyarea()
1546 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_imageblit() local
1553 if (!ACCEL(dinfo, info) || dinfo->depth == 4 in intelfb_imageblit()
1559 if (dinfo->depth != 8) { in intelfb_imageblit()
1560 fgcolor = dinfo->pseudo_palette[image->fg_color]; in intelfb_imageblit()
1561 bgcolor = dinfo->pseudo_palette[image->bg_color]; in intelfb_imageblit()
1567 if (!intelfbhw_do_drawglyph(dinfo, fgcolor, bgcolor, image->width, in intelfb_imageblit()
1570 dinfo->pitch, info->var.bits_per_pixel)) { in intelfb_imageblit()
1578 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_cursor() local
1584 if (!dinfo->hwcursor) in intelfb_cursor()
1587 intelfbhw_cursor_hide(dinfo); in intelfb_cursor()
1590 physical = (dinfo->mobile || IS_I9XX(dinfo)) ? dinfo->cursor.physical : in intelfb_cursor()
1591 (dinfo->cursor.offset << 12); in intelfb_cursor()
1601 intelfbhw_cursor_init(dinfo); in intelfb_cursor()
1602 intelfbhw_cursor_reset(dinfo); in intelfb_cursor()
1603 intelfbhw_cursor_setpos(dinfo, cursor->image.dx, in intelfb_cursor()
1606 if (dinfo->depth != 8) { in intelfb_cursor()
1607 fg =dinfo->pseudo_palette[cursor->image.fg_color]; in intelfb_cursor()
1608 bg =dinfo->pseudo_palette[cursor->image.bg_color]; in intelfb_cursor()
1613 intelfbhw_cursor_setcolor(dinfo, bg, fg); in intelfb_cursor()
1614 intelfbhw_cursor_load(dinfo, cursor->image.width, in intelfb_cursor()
1616 dinfo->cursor_src); in intelfb_cursor()
1619 intelfbhw_cursor_show(dinfo); in intelfb_cursor()
1629 intelfbhw_cursor_setpos(dinfo, dx, dy); in intelfb_cursor()
1636 intelfbhw_cursor_reset(dinfo); in intelfb_cursor()
1642 if (dinfo->depth != 8) { in intelfb_cursor()
1643 fg = dinfo->pseudo_palette[cursor->image.fg_color]; in intelfb_cursor()
1644 bg = dinfo->pseudo_palette[cursor->image.bg_color]; in intelfb_cursor()
1650 intelfbhw_cursor_setcolor(dinfo, bg, fg); in intelfb_cursor()
1678 memcpy(dinfo->cursor_src, src, size); in intelfb_cursor()
1680 intelfbhw_cursor_load(dinfo, cursor->image.width, in intelfb_cursor()
1685 intelfbhw_cursor_show(dinfo); in intelfb_cursor()
1692 struct intelfb_info *dinfo = GET_DINFO(info); in intelfb_sync() local
1698 if (dinfo->ring_lockup) in intelfb_sync()
1701 intelfbhw_do_sync(dinfo); in intelfb_sync()