Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 218769
b: refs/heads/master
c: adac8d6
h: refs/heads/master
i:
  218767: 920e3cf
v: v3
  • Loading branch information
Florian Tobias Schandinat authored and Florian Tobias Schandinat committed Oct 24, 2010
1 parent d5db0ca commit 87760ed
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 466bc7fc4246d95cbd37edd169eafb8185e41941
refs/heads/master: adac8d65f399b02e8a2222fc75c658e4b8d24f65
43 changes: 26 additions & 17 deletions trunk/drivers/video/via/accel.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,13 +315,11 @@ static int hw_bitblt_2(void __iomem *engine, u8 op, u32 width, u32 height,
return 0;
}

int viafb_init_engine(struct fb_info *info)
int viafb_setup_engine(struct fb_info *info)
{
struct viafb_par *viapar = info->par;
void __iomem *engine;
int highest_reg, i;
u32 vq_start_addr, vq_end_addr, vq_start_low, vq_end_low, vq_high,
vq_len, chip_name = viapar->shared->chip_info.gfx_chip_name;
u32 chip_name = viapar->shared->chip_info.gfx_chip_name;

engine = viapar->shared->vdev->engine_mmio;
if (!engine) {
Expand All @@ -330,18 +328,6 @@ int viafb_init_engine(struct fb_info *info)
return -ENOMEM;
}

/* Initialize registers to reset the 2D engine */
switch (viapar->shared->chip_info.twod_engine) {
case VIA_2D_ENG_M1:
highest_reg = 0x5c;
break;
default:
highest_reg = 0x40;
break;
}
for (i = 0; i <= highest_reg; i += 4)
writel(0x0, engine + i);

switch (chip_name) {
case UNICHROME_CLE266:
case UNICHROME_K400:
Expand Down Expand Up @@ -387,6 +373,29 @@ int viafb_init_engine(struct fb_info *info)
viapar->shared->vdev->camera_fbmem_offset = viapar->fbmem_free;
#endif

viafb_reset_engine(viapar);
return 0;
}

void viafb_reset_engine(struct viafb_par *viapar)
{
void __iomem *engine = viapar->shared->vdev->engine_mmio;
int highest_reg, i;
u32 vq_start_addr, vq_end_addr, vq_start_low, vq_end_low, vq_high,
vq_len, chip_name = viapar->shared->chip_info.gfx_chip_name;

/* Initialize registers to reset the 2D engine */
switch (viapar->shared->chip_info.twod_engine) {
case VIA_2D_ENG_M1:
highest_reg = 0x5c;
break;
default:
highest_reg = 0x40;
break;
}
for (i = 0; i <= highest_reg; i += 4)
writel(0x0, engine + i);

/* Init AGP and VQ regs */
switch (chip_name) {
case UNICHROME_K8M890:
Expand Down Expand Up @@ -474,7 +483,7 @@ int viafb_init_engine(struct fb_info *info)
writel(0x0, engine + VIA_REG_CURSOR_ORG);
writel(0x0, engine + VIA_REG_CURSOR_BG);
writel(0x0, engine + VIA_REG_CURSOR_FG);
return 0;
return;
}

void viafb_show_hw_cursor(struct fb_info *info, int Status)
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/video/via/accel.h
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,8 @@
#define VIA_BITBLT_MONO 2
#define VIA_BITBLT_FILL 3

int viafb_init_engine(struct fb_info *info);
int viafb_setup_engine(struct fb_info *info);
void viafb_reset_engine(struct viafb_par *viapar);
void viafb_show_hw_cursor(struct fb_info *info, int Status);
void viafb_wait_engine_idle(struct fb_info *info);

Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/video/via/viafbdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1695,6 +1695,8 @@ int viafb_resume(struct pci_dev *pdev)
if (pci_enable_device(pdev))
goto fail;
pci_set_master(pdev);
if (viaparinfo->shared->vdev->engine_mmio)
viafb_reset_engine(viaparinfo);
viafb_set_par(viafbinfo);
if (viafb_dual_fb)
viafb_set_par(viafbinfo1);
Expand Down Expand Up @@ -1766,7 +1768,7 @@ int __devinit via_fb_pci_probe(struct viafb_dev *vdev)
viafbinfo->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;

viafbinfo->pseudo_palette = pseudo_pal;
if (viafb_accel && !viafb_init_engine(viafbinfo)) {
if (viafb_accel && !viafb_setup_engine(viafbinfo)) {
viafbinfo->flags |= FBINFO_HWACCEL_COPYAREA |
FBINFO_HWACCEL_FILLRECT | FBINFO_HWACCEL_IMAGEBLIT;
default_var.accel_flags = FB_ACCELF_TEXT;
Expand Down

0 comments on commit 87760ed

Please sign in to comment.