diff options
author | David Miller <davem@davemloft.net> | 2011-01-11 18:51:26 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-03-22 02:47:07 -0400 |
commit | ea770789dce2d27afab39c3891a475624acbd82f (patch) | |
tree | 352ed0f19b74bff7dc6b80f7e05e7bf35b1f5d3f | |
parent | d907ec04cc498e11e039e0fff8eb58cf01e885da (diff) |
svga: Make svga_wcrt_mask() take an iomem regbase pointer.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | drivers/video/arkfb.c | 40 | ||||
-rw-r--r-- | drivers/video/s3fb.c | 98 | ||||
-rw-r--r-- | drivers/video/svgalib.c | 8 | ||||
-rw-r--r-- | drivers/video/vt8623fb.c | 36 | ||||
-rw-r--r-- | include/linux/svga.h | 4 |
5 files changed, 93 insertions, 93 deletions
diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c index c351b184b1bd..f24151e01da3 100644 --- a/drivers/video/arkfb.c +++ b/drivers/video/arkfb.c | |||
@@ -646,11 +646,11 @@ static int arkfb_set_par(struct fb_info *info) | |||
646 | info->var.activate = FB_ACTIVATE_NOW; | 646 | info->var.activate = FB_ACTIVATE_NOW; |
647 | 647 | ||
648 | /* Unlock registers */ | 648 | /* Unlock registers */ |
649 | svga_wcrt_mask(0x11, 0x00, 0x80); | 649 | svga_wcrt_mask(par->state.vgabase, 0x11, 0x00, 0x80); |
650 | 650 | ||
651 | /* Blank screen and turn off sync */ | 651 | /* Blank screen and turn off sync */ |
652 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 652 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
653 | svga_wcrt_mask(0x17, 0x00, 0x80); | 653 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x00, 0x80); |
654 | 654 | ||
655 | /* Set default values */ | 655 | /* Set default values */ |
656 | svga_set_default_gfx_regs(par->state.vgabase); | 656 | svga_set_default_gfx_regs(par->state.vgabase); |
@@ -679,17 +679,17 @@ static int arkfb_set_par(struct fb_info *info) | |||
679 | svga_wcrt_multi(par->state.vgabase, ark_offset_regs, offset_value); | 679 | svga_wcrt_multi(par->state.vgabase, ark_offset_regs, offset_value); |
680 | 680 | ||
681 | /* fix for hi-res textmode */ | 681 | /* fix for hi-res textmode */ |
682 | svga_wcrt_mask(0x40, 0x08, 0x08); | 682 | svga_wcrt_mask(par->state.vgabase, 0x40, 0x08, 0x08); |
683 | 683 | ||
684 | if (info->var.vmode & FB_VMODE_DOUBLE) | 684 | if (info->var.vmode & FB_VMODE_DOUBLE) |
685 | svga_wcrt_mask(0x09, 0x80, 0x80); | 685 | svga_wcrt_mask(par->state.vgabase, 0x09, 0x80, 0x80); |
686 | else | 686 | else |
687 | svga_wcrt_mask(0x09, 0x00, 0x80); | 687 | svga_wcrt_mask(par->state.vgabase, 0x09, 0x00, 0x80); |
688 | 688 | ||
689 | if (info->var.vmode & FB_VMODE_INTERLACED) | 689 | if (info->var.vmode & FB_VMODE_INTERLACED) |
690 | svga_wcrt_mask(0x44, 0x04, 0x04); | 690 | svga_wcrt_mask(par->state.vgabase, 0x44, 0x04, 0x04); |
691 | else | 691 | else |
692 | svga_wcrt_mask(0x44, 0x00, 0x04); | 692 | svga_wcrt_mask(par->state.vgabase, 0x44, 0x00, 0x04); |
693 | 693 | ||
694 | hmul = 1; | 694 | hmul = 1; |
695 | hdiv = 1; | 695 | hdiv = 1; |
@@ -702,7 +702,7 @@ static int arkfb_set_par(struct fb_info *info) | |||
702 | svga_set_textmode_vga_regs(); | 702 | svga_set_textmode_vga_regs(); |
703 | 703 | ||
704 | vga_wseq(NULL, 0x11, 0x10); /* basic VGA mode */ | 704 | vga_wseq(NULL, 0x11, 0x10); /* basic VGA mode */ |
705 | svga_wcrt_mask(0x46, 0x00, 0x04); /* 8bit pixel path */ | 705 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x00, 0x04); /* 8bit pixel path */ |
706 | dac_set_mode(par->dac, DAC_PSEUDO8_8); | 706 | dac_set_mode(par->dac, DAC_PSEUDO8_8); |
707 | 707 | ||
708 | break; | 708 | break; |
@@ -711,14 +711,14 @@ static int arkfb_set_par(struct fb_info *info) | |||
711 | vga_wgfx(NULL, VGA_GFX_MODE, 0x40); | 711 | vga_wgfx(NULL, VGA_GFX_MODE, 0x40); |
712 | 712 | ||
713 | vga_wseq(NULL, 0x11, 0x10); /* basic VGA mode */ | 713 | vga_wseq(NULL, 0x11, 0x10); /* basic VGA mode */ |
714 | svga_wcrt_mask(0x46, 0x00, 0x04); /* 8bit pixel path */ | 714 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x00, 0x04); /* 8bit pixel path */ |
715 | dac_set_mode(par->dac, DAC_PSEUDO8_8); | 715 | dac_set_mode(par->dac, DAC_PSEUDO8_8); |
716 | break; | 716 | break; |
717 | case 2: | 717 | case 2: |
718 | pr_debug("fb%d: 4 bit pseudocolor, planar\n", info->node); | 718 | pr_debug("fb%d: 4 bit pseudocolor, planar\n", info->node); |
719 | 719 | ||
720 | vga_wseq(NULL, 0x11, 0x10); /* basic VGA mode */ | 720 | vga_wseq(NULL, 0x11, 0x10); /* basic VGA mode */ |
721 | svga_wcrt_mask(0x46, 0x00, 0x04); /* 8bit pixel path */ | 721 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x00, 0x04); /* 8bit pixel path */ |
722 | dac_set_mode(par->dac, DAC_PSEUDO8_8); | 722 | dac_set_mode(par->dac, DAC_PSEUDO8_8); |
723 | break; | 723 | break; |
724 | case 3: | 724 | case 3: |
@@ -728,11 +728,11 @@ static int arkfb_set_par(struct fb_info *info) | |||
728 | 728 | ||
729 | if (info->var.pixclock > 20000) { | 729 | if (info->var.pixclock > 20000) { |
730 | pr_debug("fb%d: not using multiplex\n", info->node); | 730 | pr_debug("fb%d: not using multiplex\n", info->node); |
731 | svga_wcrt_mask(0x46, 0x00, 0x04); /* 8bit pixel path */ | 731 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x00, 0x04); /* 8bit pixel path */ |
732 | dac_set_mode(par->dac, DAC_PSEUDO8_8); | 732 | dac_set_mode(par->dac, DAC_PSEUDO8_8); |
733 | } else { | 733 | } else { |
734 | pr_debug("fb%d: using multiplex\n", info->node); | 734 | pr_debug("fb%d: using multiplex\n", info->node); |
735 | svga_wcrt_mask(0x46, 0x04, 0x04); /* 16bit pixel path */ | 735 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x04, 0x04); /* 16bit pixel path */ |
736 | dac_set_mode(par->dac, DAC_PSEUDO8_16); | 736 | dac_set_mode(par->dac, DAC_PSEUDO8_16); |
737 | hdiv = 2; | 737 | hdiv = 2; |
738 | } | 738 | } |
@@ -741,21 +741,21 @@ static int arkfb_set_par(struct fb_info *info) | |||
741 | pr_debug("fb%d: 5/5/5 truecolor\n", info->node); | 741 | pr_debug("fb%d: 5/5/5 truecolor\n", info->node); |
742 | 742 | ||
743 | vga_wseq(NULL, 0x11, 0x1A); /* 16bpp accel mode */ | 743 | vga_wseq(NULL, 0x11, 0x1A); /* 16bpp accel mode */ |
744 | svga_wcrt_mask(0x46, 0x04, 0x04); /* 16bit pixel path */ | 744 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x04, 0x04); /* 16bit pixel path */ |
745 | dac_set_mode(par->dac, DAC_RGB1555_16); | 745 | dac_set_mode(par->dac, DAC_RGB1555_16); |
746 | break; | 746 | break; |
747 | case 5: | 747 | case 5: |
748 | pr_debug("fb%d: 5/6/5 truecolor\n", info->node); | 748 | pr_debug("fb%d: 5/6/5 truecolor\n", info->node); |
749 | 749 | ||
750 | vga_wseq(NULL, 0x11, 0x1A); /* 16bpp accel mode */ | 750 | vga_wseq(NULL, 0x11, 0x1A); /* 16bpp accel mode */ |
751 | svga_wcrt_mask(0x46, 0x04, 0x04); /* 16bit pixel path */ | 751 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x04, 0x04); /* 16bit pixel path */ |
752 | dac_set_mode(par->dac, DAC_RGB0565_16); | 752 | dac_set_mode(par->dac, DAC_RGB0565_16); |
753 | break; | 753 | break; |
754 | case 6: | 754 | case 6: |
755 | pr_debug("fb%d: 8/8/8 truecolor\n", info->node); | 755 | pr_debug("fb%d: 8/8/8 truecolor\n", info->node); |
756 | 756 | ||
757 | vga_wseq(NULL, 0x11, 0x16); /* 8bpp accel mode ??? */ | 757 | vga_wseq(NULL, 0x11, 0x16); /* 8bpp accel mode ??? */ |
758 | svga_wcrt_mask(0x46, 0x04, 0x04); /* 16bit pixel path */ | 758 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x04, 0x04); /* 16bit pixel path */ |
759 | dac_set_mode(par->dac, DAC_RGB0888_16); | 759 | dac_set_mode(par->dac, DAC_RGB0888_16); |
760 | hmul = 3; | 760 | hmul = 3; |
761 | hdiv = 2; | 761 | hdiv = 2; |
@@ -764,7 +764,7 @@ static int arkfb_set_par(struct fb_info *info) | |||
764 | pr_debug("fb%d: 8/8/8/8 truecolor\n", info->node); | 764 | pr_debug("fb%d: 8/8/8/8 truecolor\n", info->node); |
765 | 765 | ||
766 | vga_wseq(NULL, 0x11, 0x1E); /* 32bpp accel mode */ | 766 | vga_wseq(NULL, 0x11, 0x1E); /* 32bpp accel mode */ |
767 | svga_wcrt_mask(0x46, 0x04, 0x04); /* 16bit pixel path */ | 767 | svga_wcrt_mask(par->state.vgabase, 0x46, 0x04, 0x04); /* 16bit pixel path */ |
768 | dac_set_mode(par->dac, DAC_RGB8888_16); | 768 | dac_set_mode(par->dac, DAC_RGB8888_16); |
769 | hmul = 2; | 769 | hmul = 2; |
770 | break; | 770 | break; |
@@ -786,7 +786,7 @@ static int arkfb_set_par(struct fb_info *info) | |||
786 | 786 | ||
787 | memset_io(info->screen_base, 0x00, screen_size); | 787 | memset_io(info->screen_base, 0x00, screen_size); |
788 | /* Device and screen back on */ | 788 | /* Device and screen back on */ |
789 | svga_wcrt_mask(0x17, 0x80, 0x80); | 789 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x80, 0x80); |
790 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); | 790 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); |
791 | 791 | ||
792 | return 0; | 792 | return 0; |
@@ -863,19 +863,19 @@ static int arkfb_blank(int blank_mode, struct fb_info *info) | |||
863 | case FB_BLANK_UNBLANK: | 863 | case FB_BLANK_UNBLANK: |
864 | pr_debug("fb%d: unblank\n", info->node); | 864 | pr_debug("fb%d: unblank\n", info->node); |
865 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); | 865 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); |
866 | svga_wcrt_mask(0x17, 0x80, 0x80); | 866 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x80, 0x80); |
867 | break; | 867 | break; |
868 | case FB_BLANK_NORMAL: | 868 | case FB_BLANK_NORMAL: |
869 | pr_debug("fb%d: blank\n", info->node); | 869 | pr_debug("fb%d: blank\n", info->node); |
870 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 870 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
871 | svga_wcrt_mask(0x17, 0x80, 0x80); | 871 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x80, 0x80); |
872 | break; | 872 | break; |
873 | case FB_BLANK_POWERDOWN: | 873 | case FB_BLANK_POWERDOWN: |
874 | case FB_BLANK_HSYNC_SUSPEND: | 874 | case FB_BLANK_HSYNC_SUSPEND: |
875 | case FB_BLANK_VSYNC_SUSPEND: | 875 | case FB_BLANK_VSYNC_SUSPEND: |
876 | pr_debug("fb%d: sync down\n", info->node); | 876 | pr_debug("fb%d: sync down\n", info->node); |
877 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 877 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
878 | svga_wcrt_mask(0x17, 0x00, 0x80); | 878 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x00, 0x80); |
879 | break; | 879 | break; |
880 | } | 880 | } |
881 | return 0; | 881 | return 0; |
diff --git a/drivers/video/s3fb.c b/drivers/video/s3fb.c index efe77b683bfa..ece99f2044f4 100644 --- a/drivers/video/s3fb.c +++ b/drivers/video/s3fb.c | |||
@@ -507,11 +507,11 @@ static int s3fb_set_par(struct fb_info *info) | |||
507 | vga_wcrt(NULL, 0x38, 0x48); | 507 | vga_wcrt(NULL, 0x38, 0x48); |
508 | vga_wcrt(NULL, 0x39, 0xA5); | 508 | vga_wcrt(NULL, 0x39, 0xA5); |
509 | vga_wseq(NULL, 0x08, 0x06); | 509 | vga_wseq(NULL, 0x08, 0x06); |
510 | svga_wcrt_mask(0x11, 0x00, 0x80); | 510 | svga_wcrt_mask(par->state.vgabase, 0x11, 0x00, 0x80); |
511 | 511 | ||
512 | /* Blank screen and turn off sync */ | 512 | /* Blank screen and turn off sync */ |
513 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 513 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
514 | svga_wcrt_mask(0x17, 0x00, 0x80); | 514 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x00, 0x80); |
515 | 515 | ||
516 | /* Set default values */ | 516 | /* Set default values */ |
517 | svga_set_default_gfx_regs(par->state.vgabase); | 517 | svga_set_default_gfx_regs(par->state.vgabase); |
@@ -522,20 +522,20 @@ static int s3fb_set_par(struct fb_info *info) | |||
522 | svga_wcrt_multi(par->state.vgabase, s3_start_address_regs, 0); | 522 | svga_wcrt_multi(par->state.vgabase, s3_start_address_regs, 0); |
523 | 523 | ||
524 | /* S3 specific initialization */ | 524 | /* S3 specific initialization */ |
525 | svga_wcrt_mask(0x58, 0x10, 0x10); /* enable linear framebuffer */ | 525 | svga_wcrt_mask(par->state.vgabase, 0x58, 0x10, 0x10); /* enable linear framebuffer */ |
526 | svga_wcrt_mask(0x31, 0x08, 0x08); /* enable sequencer access to framebuffer above 256 kB */ | 526 | svga_wcrt_mask(par->state.vgabase, 0x31, 0x08, 0x08); /* enable sequencer access to framebuffer above 256 kB */ |
527 | 527 | ||
528 | /* svga_wcrt_mask(0x33, 0x08, 0x08); */ /* DDR ? */ | 528 | /* svga_wcrt_mask(par->state.vgabase, 0x33, 0x08, 0x08); */ /* DDR ? */ |
529 | /* svga_wcrt_mask(0x43, 0x01, 0x01); */ /* DDR ? */ | 529 | /* svga_wcrt_mask(par->state.vgabase, 0x43, 0x01, 0x01); */ /* DDR ? */ |
530 | svga_wcrt_mask(0x33, 0x00, 0x08); /* no DDR ? */ | 530 | svga_wcrt_mask(par->state.vgabase, 0x33, 0x00, 0x08); /* no DDR ? */ |
531 | svga_wcrt_mask(0x43, 0x00, 0x01); /* no DDR ? */ | 531 | svga_wcrt_mask(par->state.vgabase, 0x43, 0x00, 0x01); /* no DDR ? */ |
532 | 532 | ||
533 | svga_wcrt_mask(0x5D, 0x00, 0x28); /* Clear strange HSlen bits */ | 533 | svga_wcrt_mask(par->state.vgabase, 0x5D, 0x00, 0x28); /* Clear strange HSlen bits */ |
534 | 534 | ||
535 | /* svga_wcrt_mask(0x58, 0x03, 0x03); */ | 535 | /* svga_wcrt_mask(par->state.vgabase, 0x58, 0x03, 0x03); */ |
536 | 536 | ||
537 | /* svga_wcrt_mask(0x53, 0x12, 0x13); */ /* enable MMIO */ | 537 | /* svga_wcrt_mask(par->state.vgabase, 0x53, 0x12, 0x13); */ /* enable MMIO */ |
538 | /* svga_wcrt_mask(0x40, 0x08, 0x08); */ /* enable write buffer */ | 538 | /* svga_wcrt_mask(par->state.vgabase, 0x40, 0x08, 0x08); */ /* enable write buffer */ |
539 | 539 | ||
540 | 540 | ||
541 | /* Set the offset register */ | 541 | /* Set the offset register */ |
@@ -555,19 +555,19 @@ static int s3fb_set_par(struct fb_info *info) | |||
555 | svga_wattr(par->state.vgabase, 0x33, 0x00); | 555 | svga_wattr(par->state.vgabase, 0x33, 0x00); |
556 | 556 | ||
557 | if (info->var.vmode & FB_VMODE_DOUBLE) | 557 | if (info->var.vmode & FB_VMODE_DOUBLE) |
558 | svga_wcrt_mask(0x09, 0x80, 0x80); | 558 | svga_wcrt_mask(par->state.vgabase, 0x09, 0x80, 0x80); |
559 | else | 559 | else |
560 | svga_wcrt_mask(0x09, 0x00, 0x80); | 560 | svga_wcrt_mask(par->state.vgabase, 0x09, 0x00, 0x80); |
561 | 561 | ||
562 | if (info->var.vmode & FB_VMODE_INTERLACED) | 562 | if (info->var.vmode & FB_VMODE_INTERLACED) |
563 | svga_wcrt_mask(0x42, 0x20, 0x20); | 563 | svga_wcrt_mask(par->state.vgabase, 0x42, 0x20, 0x20); |
564 | else | 564 | else |
565 | svga_wcrt_mask(0x42, 0x00, 0x20); | 565 | svga_wcrt_mask(par->state.vgabase, 0x42, 0x00, 0x20); |
566 | 566 | ||
567 | /* Disable hardware graphics cursor */ | 567 | /* Disable hardware graphics cursor */ |
568 | svga_wcrt_mask(0x45, 0x00, 0x01); | 568 | svga_wcrt_mask(par->state.vgabase, 0x45, 0x00, 0x01); |
569 | /* Disable Streams engine */ | 569 | /* Disable Streams engine */ |
570 | svga_wcrt_mask(0x67, 0x00, 0x0C); | 570 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x00, 0x0C); |
571 | 571 | ||
572 | mode = svga_match_format(s3fb_formats, &(info->var), &(info->fix)); | 572 | mode = svga_match_format(s3fb_formats, &(info->var), &(info->fix)); |
573 | 573 | ||
@@ -596,7 +596,7 @@ static int s3fb_set_par(struct fb_info *info) | |||
596 | vga_wcrt(NULL, 0x66, 0x81); | 596 | vga_wcrt(NULL, 0x66, 0x81); |
597 | } | 597 | } |
598 | 598 | ||
599 | svga_wcrt_mask(0x31, 0x00, 0x40); | 599 | svga_wcrt_mask(par->state.vgabase, 0x31, 0x00, 0x40); |
600 | multiplex = 0; | 600 | multiplex = 0; |
601 | hmul = 1; | 601 | hmul = 1; |
602 | 602 | ||
@@ -607,15 +607,15 @@ static int s3fb_set_par(struct fb_info *info) | |||
607 | svga_set_textmode_vga_regs(); | 607 | svga_set_textmode_vga_regs(); |
608 | 608 | ||
609 | /* Set additional registers like in 8-bit mode */ | 609 | /* Set additional registers like in 8-bit mode */ |
610 | svga_wcrt_mask(0x50, 0x00, 0x30); | 610 | svga_wcrt_mask(par->state.vgabase, 0x50, 0x00, 0x30); |
611 | svga_wcrt_mask(0x67, 0x00, 0xF0); | 611 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x00, 0xF0); |
612 | 612 | ||
613 | /* Disable enhanced mode */ | 613 | /* Disable enhanced mode */ |
614 | svga_wcrt_mask(0x3A, 0x00, 0x30); | 614 | svga_wcrt_mask(par->state.vgabase, 0x3A, 0x00, 0x30); |
615 | 615 | ||
616 | if (fasttext) { | 616 | if (fasttext) { |
617 | pr_debug("fb%d: high speed text mode set\n", info->node); | 617 | pr_debug("fb%d: high speed text mode set\n", info->node); |
618 | svga_wcrt_mask(0x31, 0x40, 0x40); | 618 | svga_wcrt_mask(par->state.vgabase, 0x31, 0x40, 0x40); |
619 | } | 619 | } |
620 | break; | 620 | break; |
621 | case 1: | 621 | case 1: |
@@ -623,32 +623,32 @@ static int s3fb_set_par(struct fb_info *info) | |||
623 | vga_wgfx(NULL, VGA_GFX_MODE, 0x40); | 623 | vga_wgfx(NULL, VGA_GFX_MODE, 0x40); |
624 | 624 | ||
625 | /* Set additional registers like in 8-bit mode */ | 625 | /* Set additional registers like in 8-bit mode */ |
626 | svga_wcrt_mask(0x50, 0x00, 0x30); | 626 | svga_wcrt_mask(par->state.vgabase, 0x50, 0x00, 0x30); |
627 | svga_wcrt_mask(0x67, 0x00, 0xF0); | 627 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x00, 0xF0); |
628 | 628 | ||
629 | /* disable enhanced mode */ | 629 | /* disable enhanced mode */ |
630 | svga_wcrt_mask(0x3A, 0x00, 0x30); | 630 | svga_wcrt_mask(par->state.vgabase, 0x3A, 0x00, 0x30); |
631 | break; | 631 | break; |
632 | case 2: | 632 | case 2: |
633 | pr_debug("fb%d: 4 bit pseudocolor, planar\n", info->node); | 633 | pr_debug("fb%d: 4 bit pseudocolor, planar\n", info->node); |
634 | 634 | ||
635 | /* Set additional registers like in 8-bit mode */ | 635 | /* Set additional registers like in 8-bit mode */ |
636 | svga_wcrt_mask(0x50, 0x00, 0x30); | 636 | svga_wcrt_mask(par->state.vgabase, 0x50, 0x00, 0x30); |
637 | svga_wcrt_mask(0x67, 0x00, 0xF0); | 637 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x00, 0xF0); |
638 | 638 | ||
639 | /* disable enhanced mode */ | 639 | /* disable enhanced mode */ |
640 | svga_wcrt_mask(0x3A, 0x00, 0x30); | 640 | svga_wcrt_mask(par->state.vgabase, 0x3A, 0x00, 0x30); |
641 | break; | 641 | break; |
642 | case 3: | 642 | case 3: |
643 | pr_debug("fb%d: 8 bit pseudocolor\n", info->node); | 643 | pr_debug("fb%d: 8 bit pseudocolor\n", info->node); |
644 | svga_wcrt_mask(0x50, 0x00, 0x30); | 644 | svga_wcrt_mask(par->state.vgabase, 0x50, 0x00, 0x30); |
645 | if (info->var.pixclock > 20000 || | 645 | if (info->var.pixclock > 20000 || |
646 | par->chip == CHIP_360_TRIO3D_1X || | 646 | par->chip == CHIP_360_TRIO3D_1X || |
647 | par->chip == CHIP_362_TRIO3D_2X || | 647 | par->chip == CHIP_362_TRIO3D_2X || |
648 | par->chip == CHIP_368_TRIO3D_2X) | 648 | par->chip == CHIP_368_TRIO3D_2X) |
649 | svga_wcrt_mask(0x67, 0x00, 0xF0); | 649 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x00, 0xF0); |
650 | else { | 650 | else { |
651 | svga_wcrt_mask(0x67, 0x10, 0xF0); | 651 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x10, 0xF0); |
652 | multiplex = 1; | 652 | multiplex = 1; |
653 | } | 653 | } |
654 | break; | 654 | break; |
@@ -656,12 +656,12 @@ static int s3fb_set_par(struct fb_info *info) | |||
656 | pr_debug("fb%d: 5/5/5 truecolor\n", info->node); | 656 | pr_debug("fb%d: 5/5/5 truecolor\n", info->node); |
657 | if (par->chip == CHIP_988_VIRGE_VX) { | 657 | if (par->chip == CHIP_988_VIRGE_VX) { |
658 | if (info->var.pixclock > 20000) | 658 | if (info->var.pixclock > 20000) |
659 | svga_wcrt_mask(0x67, 0x20, 0xF0); | 659 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x20, 0xF0); |
660 | else | 660 | else |
661 | svga_wcrt_mask(0x67, 0x30, 0xF0); | 661 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x30, 0xF0); |
662 | } else { | 662 | } else { |
663 | svga_wcrt_mask(0x50, 0x10, 0x30); | 663 | svga_wcrt_mask(par->state.vgabase, 0x50, 0x10, 0x30); |
664 | svga_wcrt_mask(0x67, 0x30, 0xF0); | 664 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x30, 0xF0); |
665 | if (par->chip != CHIP_360_TRIO3D_1X && | 665 | if (par->chip != CHIP_360_TRIO3D_1X && |
666 | par->chip != CHIP_362_TRIO3D_2X && | 666 | par->chip != CHIP_362_TRIO3D_2X && |
667 | par->chip != CHIP_368_TRIO3D_2X) | 667 | par->chip != CHIP_368_TRIO3D_2X) |
@@ -672,12 +672,12 @@ static int s3fb_set_par(struct fb_info *info) | |||
672 | pr_debug("fb%d: 5/6/5 truecolor\n", info->node); | 672 | pr_debug("fb%d: 5/6/5 truecolor\n", info->node); |
673 | if (par->chip == CHIP_988_VIRGE_VX) { | 673 | if (par->chip == CHIP_988_VIRGE_VX) { |
674 | if (info->var.pixclock > 20000) | 674 | if (info->var.pixclock > 20000) |
675 | svga_wcrt_mask(0x67, 0x40, 0xF0); | 675 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x40, 0xF0); |
676 | else | 676 | else |
677 | svga_wcrt_mask(0x67, 0x50, 0xF0); | 677 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x50, 0xF0); |
678 | } else { | 678 | } else { |
679 | svga_wcrt_mask(0x50, 0x10, 0x30); | 679 | svga_wcrt_mask(par->state.vgabase, 0x50, 0x10, 0x30); |
680 | svga_wcrt_mask(0x67, 0x50, 0xF0); | 680 | svga_wcrt_mask(par->state.vgabase, 0x67, 0x50, 0xF0); |
681 | if (par->chip != CHIP_360_TRIO3D_1X && | 681 | if (par->chip != CHIP_360_TRIO3D_1X && |
682 | par->chip != CHIP_362_TRIO3D_2X && | 682 | par->chip != CHIP_362_TRIO3D_2X && |
683 | par->chip != CHIP_368_TRIO3D_2X) | 683 | par->chip != CHIP_368_TRIO3D_2X) |
@@ -687,12 +687,12 @@ static int s3fb_set_par(struct fb_info *info) | |||
687 | case 6: | 687 | case 6: |
688 | /* VIRGE VX case */ | 688 | /* VIRGE VX case */ |
689 | pr_debug("fb%d: 8/8/8 truecolor\n", info->node); | 689 | pr_debug("fb%d: 8/8/8 truecolor\n", info->node); |
690 | svga_wcrt_mask(0x67, 0xD0, 0xF0); | 690 | svga_wcrt_mask(par->state.vgabase, 0x67, 0xD0, 0xF0); |
691 | break; | 691 | break; |
692 | case 7: | 692 | case 7: |
693 | pr_debug("fb%d: 8/8/8/8 truecolor\n", info->node); | 693 | pr_debug("fb%d: 8/8/8/8 truecolor\n", info->node); |
694 | svga_wcrt_mask(0x50, 0x30, 0x30); | 694 | svga_wcrt_mask(par->state.vgabase, 0x50, 0x30, 0x30); |
695 | svga_wcrt_mask(0x67, 0xD0, 0xF0); | 695 | svga_wcrt_mask(par->state.vgabase, 0x67, 0xD0, 0xF0); |
696 | break; | 696 | break; |
697 | default: | 697 | default: |
698 | printk(KERN_ERR "fb%d: unsupported mode - bug\n", info->node); | 698 | printk(KERN_ERR "fb%d: unsupported mode - bug\n", info->node); |
@@ -717,7 +717,7 @@ static int s3fb_set_par(struct fb_info *info) | |||
717 | 717 | ||
718 | memset_io(info->screen_base, 0x00, screen_size); | 718 | memset_io(info->screen_base, 0x00, screen_size); |
719 | /* Device and screen back on */ | 719 | /* Device and screen back on */ |
720 | svga_wcrt_mask(0x17, 0x80, 0x80); | 720 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x80, 0x80); |
721 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); | 721 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); |
722 | 722 | ||
723 | return 0; | 723 | return 0; |
@@ -793,27 +793,27 @@ static int s3fb_blank(int blank_mode, struct fb_info *info) | |||
793 | switch (blank_mode) { | 793 | switch (blank_mode) { |
794 | case FB_BLANK_UNBLANK: | 794 | case FB_BLANK_UNBLANK: |
795 | pr_debug("fb%d: unblank\n", info->node); | 795 | pr_debug("fb%d: unblank\n", info->node); |
796 | svga_wcrt_mask(0x56, 0x00, 0x06); | 796 | svga_wcrt_mask(par->state.vgabase, 0x56, 0x00, 0x06); |
797 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); | 797 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); |
798 | break; | 798 | break; |
799 | case FB_BLANK_NORMAL: | 799 | case FB_BLANK_NORMAL: |
800 | pr_debug("fb%d: blank\n", info->node); | 800 | pr_debug("fb%d: blank\n", info->node); |
801 | svga_wcrt_mask(0x56, 0x00, 0x06); | 801 | svga_wcrt_mask(par->state.vgabase, 0x56, 0x00, 0x06); |
802 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 802 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
803 | break; | 803 | break; |
804 | case FB_BLANK_HSYNC_SUSPEND: | 804 | case FB_BLANK_HSYNC_SUSPEND: |
805 | pr_debug("fb%d: hsync\n", info->node); | 805 | pr_debug("fb%d: hsync\n", info->node); |
806 | svga_wcrt_mask(0x56, 0x02, 0x06); | 806 | svga_wcrt_mask(par->state.vgabase, 0x56, 0x02, 0x06); |
807 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 807 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
808 | break; | 808 | break; |
809 | case FB_BLANK_VSYNC_SUSPEND: | 809 | case FB_BLANK_VSYNC_SUSPEND: |
810 | pr_debug("fb%d: vsync\n", info->node); | 810 | pr_debug("fb%d: vsync\n", info->node); |
811 | svga_wcrt_mask(0x56, 0x04, 0x06); | 811 | svga_wcrt_mask(par->state.vgabase, 0x56, 0x04, 0x06); |
812 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 812 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
813 | break; | 813 | break; |
814 | case FB_BLANK_POWERDOWN: | 814 | case FB_BLANK_POWERDOWN: |
815 | pr_debug("fb%d: sync down\n", info->node); | 815 | pr_debug("fb%d: sync down\n", info->node); |
816 | svga_wcrt_mask(0x56, 0x06, 0x06); | 816 | svga_wcrt_mask(par->state.vgabase, 0x56, 0x06, 0x06); |
817 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 817 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
818 | break; | 818 | break; |
819 | } | 819 | } |
diff --git a/drivers/video/svgalib.c b/drivers/video/svgalib.c index ea7490490de6..3d07287e9322 100644 --- a/drivers/video/svgalib.c +++ b/drivers/video/svgalib.c | |||
@@ -130,9 +130,9 @@ void svga_set_default_seq_regs(void __iomem *regbase) | |||
130 | void svga_set_default_crt_regs(void) | 130 | void svga_set_default_crt_regs(void) |
131 | { | 131 | { |
132 | /* Standard CRT registers CR03 CR08 CR09 CR14 CR17 */ | 132 | /* Standard CRT registers CR03 CR08 CR09 CR14 CR17 */ |
133 | svga_wcrt_mask(0x03, 0x80, 0x80); /* Enable vertical retrace EVRA */ | 133 | svga_wcrt_mask(NULL, 0x03, 0x80, 0x80); /* Enable vertical retrace EVRA */ |
134 | vga_wcrt(NULL, VGA_CRTC_PRESET_ROW, 0); | 134 | vga_wcrt(NULL, VGA_CRTC_PRESET_ROW, 0); |
135 | svga_wcrt_mask(VGA_CRTC_MAX_SCAN, 0, 0x1F); | 135 | svga_wcrt_mask(NULL, VGA_CRTC_MAX_SCAN, 0, 0x1F); |
136 | vga_wcrt(NULL, VGA_CRTC_UNDERLINE, 0); | 136 | vga_wcrt(NULL, VGA_CRTC_UNDERLINE, 0); |
137 | vga_wcrt(NULL, VGA_CRTC_MODE, 0xE3); | 137 | vga_wcrt(NULL, VGA_CRTC_MODE, 0xE3); |
138 | } | 138 | } |
@@ -145,7 +145,7 @@ void svga_set_textmode_vga_regs(void) | |||
145 | 145 | ||
146 | vga_wcrt(NULL, VGA_CRTC_MAX_SCAN, 0x0f); /* 0x4f */ | 146 | vga_wcrt(NULL, VGA_CRTC_MAX_SCAN, 0x0f); /* 0x4f */ |
147 | vga_wcrt(NULL, VGA_CRTC_UNDERLINE, 0x1f); | 147 | vga_wcrt(NULL, VGA_CRTC_UNDERLINE, 0x1f); |
148 | svga_wcrt_mask(VGA_CRTC_MODE, 0x23, 0x7f); | 148 | svga_wcrt_mask(NULL, VGA_CRTC_MODE, 0x23, 0x7f); |
149 | 149 | ||
150 | vga_wcrt(NULL, VGA_CRTC_CURSOR_START, 0x0d); | 150 | vga_wcrt(NULL, VGA_CRTC_CURSOR_START, 0x0d); |
151 | vga_wcrt(NULL, VGA_CRTC_CURSOR_END, 0x0e); | 151 | vga_wcrt(NULL, VGA_CRTC_CURSOR_END, 0x0e); |
@@ -310,7 +310,7 @@ void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor) | |||
310 | if (! cursor -> mode) | 310 | if (! cursor -> mode) |
311 | return; | 311 | return; |
312 | 312 | ||
313 | svga_wcrt_mask(0x0A, 0x20, 0x20); /* disable cursor */ | 313 | svga_wcrt_mask(NULL, 0x0A, 0x20, 0x20); /* disable cursor */ |
314 | 314 | ||
315 | if (cursor -> shape == FB_TILE_CURSOR_NONE) | 315 | if (cursor -> shape == FB_TILE_CURSOR_NONE) |
316 | return; | 316 | return; |
diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c index edcfee8bc90b..bc54b57db985 100644 --- a/drivers/video/vt8623fb.c +++ b/drivers/video/vt8623fb.c | |||
@@ -417,13 +417,13 @@ static int vt8623fb_set_par(struct fb_info *info) | |||
417 | 417 | ||
418 | /* Unlock registers */ | 418 | /* Unlock registers */ |
419 | svga_wseq_mask(par->state.vgabase, 0x10, 0x01, 0x01); | 419 | svga_wseq_mask(par->state.vgabase, 0x10, 0x01, 0x01); |
420 | svga_wcrt_mask(0x11, 0x00, 0x80); | 420 | svga_wcrt_mask(par->state.vgabase, 0x11, 0x00, 0x80); |
421 | svga_wcrt_mask(0x47, 0x00, 0x01); | 421 | svga_wcrt_mask(par->state.vgabase, 0x47, 0x00, 0x01); |
422 | 422 | ||
423 | /* Device, screen and sync off */ | 423 | /* Device, screen and sync off */ |
424 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 424 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
425 | svga_wcrt_mask(0x36, 0x30, 0x30); | 425 | svga_wcrt_mask(par->state.vgabase, 0x36, 0x30, 0x30); |
426 | svga_wcrt_mask(0x17, 0x00, 0x80); | 426 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x00, 0x80); |
427 | 427 | ||
428 | /* Set default values */ | 428 | /* Set default values */ |
429 | svga_set_default_gfx_regs(par->state.vgabase); | 429 | svga_set_default_gfx_regs(par->state.vgabase); |
@@ -437,13 +437,13 @@ static int vt8623fb_set_par(struct fb_info *info) | |||
437 | svga_wseq_multi(par->state.vgabase, vt8623_fetch_count_regs, fetch_value); | 437 | svga_wseq_multi(par->state.vgabase, vt8623_fetch_count_regs, fetch_value); |
438 | 438 | ||
439 | /* Clear H/V Skew */ | 439 | /* Clear H/V Skew */ |
440 | svga_wcrt_mask(0x03, 0x00, 0x60); | 440 | svga_wcrt_mask(par->state.vgabase, 0x03, 0x00, 0x60); |
441 | svga_wcrt_mask(0x05, 0x00, 0x60); | 441 | svga_wcrt_mask(par->state.vgabase, 0x05, 0x00, 0x60); |
442 | 442 | ||
443 | if (info->var.vmode & FB_VMODE_DOUBLE) | 443 | if (info->var.vmode & FB_VMODE_DOUBLE) |
444 | svga_wcrt_mask(0x09, 0x80, 0x80); | 444 | svga_wcrt_mask(par->state.vgabase, 0x09, 0x80, 0x80); |
445 | else | 445 | else |
446 | svga_wcrt_mask(0x09, 0x00, 0x80); | 446 | svga_wcrt_mask(par->state.vgabase, 0x09, 0x00, 0x80); |
447 | 447 | ||
448 | svga_wseq_mask(par->state.vgabase, 0x1E, 0xF0, 0xF0); // DI/DVP bus | 448 | svga_wseq_mask(par->state.vgabase, 0x1E, 0xF0, 0xF0); // DI/DVP bus |
449 | svga_wseq_mask(par->state.vgabase, 0x2A, 0x0F, 0x0F); // DI/DVP bus | 449 | svga_wseq_mask(par->state.vgabase, 0x2A, 0x0F, 0x0F); // DI/DVP bus |
@@ -468,18 +468,18 @@ static int vt8623fb_set_par(struct fb_info *info) | |||
468 | pr_debug("fb%d: text mode\n", info->node); | 468 | pr_debug("fb%d: text mode\n", info->node); |
469 | svga_set_textmode_vga_regs(); | 469 | svga_set_textmode_vga_regs(); |
470 | svga_wseq_mask(par->state.vgabase, 0x15, 0x00, 0xFE); | 470 | svga_wseq_mask(par->state.vgabase, 0x15, 0x00, 0xFE); |
471 | svga_wcrt_mask(0x11, 0x60, 0x70); | 471 | svga_wcrt_mask(par->state.vgabase, 0x11, 0x60, 0x70); |
472 | break; | 472 | break; |
473 | case 1: | 473 | case 1: |
474 | pr_debug("fb%d: 4 bit pseudocolor\n", info->node); | 474 | pr_debug("fb%d: 4 bit pseudocolor\n", info->node); |
475 | vga_wgfx(NULL, VGA_GFX_MODE, 0x40); | 475 | vga_wgfx(NULL, VGA_GFX_MODE, 0x40); |
476 | svga_wseq_mask(par->state.vgabase, 0x15, 0x20, 0xFE); | 476 | svga_wseq_mask(par->state.vgabase, 0x15, 0x20, 0xFE); |
477 | svga_wcrt_mask(0x11, 0x00, 0x70); | 477 | svga_wcrt_mask(par->state.vgabase, 0x11, 0x00, 0x70); |
478 | break; | 478 | break; |
479 | case 2: | 479 | case 2: |
480 | pr_debug("fb%d: 4 bit pseudocolor, planar\n", info->node); | 480 | pr_debug("fb%d: 4 bit pseudocolor, planar\n", info->node); |
481 | svga_wseq_mask(par->state.vgabase, 0x15, 0x00, 0xFE); | 481 | svga_wseq_mask(par->state.vgabase, 0x15, 0x00, 0xFE); |
482 | svga_wcrt_mask(0x11, 0x00, 0x70); | 482 | svga_wcrt_mask(par->state.vgabase, 0x11, 0x00, 0x70); |
483 | break; | 483 | break; |
484 | case 3: | 484 | case 3: |
485 | pr_debug("fb%d: 8 bit pseudocolor\n", info->node); | 485 | pr_debug("fb%d: 8 bit pseudocolor\n", info->node); |
@@ -506,8 +506,8 @@ static int vt8623fb_set_par(struct fb_info *info) | |||
506 | memset_io(info->screen_base, 0x00, screen_size); | 506 | memset_io(info->screen_base, 0x00, screen_size); |
507 | 507 | ||
508 | /* Device and screen back on */ | 508 | /* Device and screen back on */ |
509 | svga_wcrt_mask(0x17, 0x80, 0x80); | 509 | svga_wcrt_mask(par->state.vgabase, 0x17, 0x80, 0x80); |
510 | svga_wcrt_mask(0x36, 0x00, 0x30); | 510 | svga_wcrt_mask(par->state.vgabase, 0x36, 0x00, 0x30); |
511 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); | 511 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); |
512 | 512 | ||
513 | return 0; | 513 | return 0; |
@@ -576,27 +576,27 @@ static int vt8623fb_blank(int blank_mode, struct fb_info *info) | |||
576 | switch (blank_mode) { | 576 | switch (blank_mode) { |
577 | case FB_BLANK_UNBLANK: | 577 | case FB_BLANK_UNBLANK: |
578 | pr_debug("fb%d: unblank\n", info->node); | 578 | pr_debug("fb%d: unblank\n", info->node); |
579 | svga_wcrt_mask(0x36, 0x00, 0x30); | 579 | svga_wcrt_mask(par->state.vgabase, 0x36, 0x00, 0x30); |
580 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); | 580 | svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20); |
581 | break; | 581 | break; |
582 | case FB_BLANK_NORMAL: | 582 | case FB_BLANK_NORMAL: |
583 | pr_debug("fb%d: blank\n", info->node); | 583 | pr_debug("fb%d: blank\n", info->node); |
584 | svga_wcrt_mask(0x36, 0x00, 0x30); | 584 | svga_wcrt_mask(par->state.vgabase, 0x36, 0x00, 0x30); |
585 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 585 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
586 | break; | 586 | break; |
587 | case FB_BLANK_HSYNC_SUSPEND: | 587 | case FB_BLANK_HSYNC_SUSPEND: |
588 | pr_debug("fb%d: DPMS standby (hsync off)\n", info->node); | 588 | pr_debug("fb%d: DPMS standby (hsync off)\n", info->node); |
589 | svga_wcrt_mask(0x36, 0x10, 0x30); | 589 | svga_wcrt_mask(par->state.vgabase, 0x36, 0x10, 0x30); |
590 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 590 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
591 | break; | 591 | break; |
592 | case FB_BLANK_VSYNC_SUSPEND: | 592 | case FB_BLANK_VSYNC_SUSPEND: |
593 | pr_debug("fb%d: DPMS suspend (vsync off)\n", info->node); | 593 | pr_debug("fb%d: DPMS suspend (vsync off)\n", info->node); |
594 | svga_wcrt_mask(0x36, 0x20, 0x30); | 594 | svga_wcrt_mask(par->state.vgabase, 0x36, 0x20, 0x30); |
595 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 595 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
596 | break; | 596 | break; |
597 | case FB_BLANK_POWERDOWN: | 597 | case FB_BLANK_POWERDOWN: |
598 | pr_debug("fb%d: DPMS off (no sync)\n", info->node); | 598 | pr_debug("fb%d: DPMS off (no sync)\n", info->node); |
599 | svga_wcrt_mask(0x36, 0x30, 0x30); | 599 | svga_wcrt_mask(par->state.vgabase, 0x36, 0x30, 0x30); |
600 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); | 600 | svga_wseq_mask(par->state.vgabase, 0x01, 0x20, 0x20); |
601 | break; | 601 | break; |
602 | } | 602 | } |
diff --git a/include/linux/svga.h b/include/linux/svga.h index 93f7777b268a..5c5b41bddee4 100644 --- a/include/linux/svga.h +++ b/include/linux/svga.h | |||
@@ -83,9 +83,9 @@ static inline void svga_wseq_mask(void __iomem *regbase, u8 index, u8 data, u8 m | |||
83 | 83 | ||
84 | /* Write a value to a CRT register with a mask */ | 84 | /* Write a value to a CRT register with a mask */ |
85 | 85 | ||
86 | static inline void svga_wcrt_mask(u8 index, u8 data, u8 mask) | 86 | static inline void svga_wcrt_mask(void __iomem *regbase, u8 index, u8 data, u8 mask) |
87 | { | 87 | { |
88 | vga_wcrt(NULL, index, (data & mask) | (vga_rcrt(NULL, index) & ~mask)); | 88 | vga_wcrt(regbase, index, (data & mask) | (vga_rcrt(regbase, index) & ~mask)); |
89 | } | 89 | } |
90 | 90 | ||
91 | static inline int svga_primary_device(struct pci_dev *dev) | 91 | static inline int svga_primary_device(struct pci_dev *dev) |