Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 182205
b: refs/heads/master
c: 11e8fac
h: refs/heads/master
i:
  182203: d746067
v: v3
  • Loading branch information
Finn Thain authored and Geert Uytterhoeven committed Feb 27, 2010
1 parent 5140b07 commit 6da3849
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 74 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: d876c11a0fd40993136f5cc1e81371ccc6c21a63
refs/heads/master: 11e8faca2e501c25d2f98c1b9534776a9a9704c5
53 changes: 4 additions & 49 deletions trunk/drivers/video/macfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@
static int (*macfb_setpalette) (unsigned int regno, unsigned int red,
unsigned int green, unsigned int blue,
struct fb_info *info) = NULL;
static int valkyrie_setpalette (unsigned int regno, unsigned int red,
unsigned int green, unsigned int blue,
struct fb_info *info);
static int dafb_setpalette (unsigned int regno, unsigned int red,
unsigned int green, unsigned int blue,
struct fb_info *fb_info);
Expand All @@ -77,13 +74,6 @@ static int csc_setpalette (unsigned int regno, unsigned int red,
unsigned int green, unsigned int blue,
struct fb_info *fb_info);

static struct {
unsigned char addr;
/* Note: word-aligned */
char pad[3];
unsigned char lut;
} __iomem *valkyrie_cmap_regs;

static struct {
unsigned char addr;
unsigned char lut;
Expand Down Expand Up @@ -172,33 +162,6 @@ static u32 pseudo_palette[16];
static int inverse = 0;
static int vidtest = 0;

static int valkyrie_setpalette (unsigned int regno, unsigned int red,
unsigned int green, unsigned int blue,
struct fb_info *info)
{
unsigned long flags;

red >>= 8;
green >>= 8;
blue >>= 8;

local_irq_save(flags);

/* tell clut which address to fill */
nubus_writeb(regno, &valkyrie_cmap_regs->addr);
nop();

/* send one color channel at a time */
nubus_writeb(red, &valkyrie_cmap_regs->lut);
nop();
nubus_writeb(green, &valkyrie_cmap_regs->lut);
nop();
nubus_writeb(blue, &valkyrie_cmap_regs->lut);

local_irq_restore(flags);
return 0;
}

/* Unlike the Valkyrie, the DAFB cannot set individual colormap
registers. Therefore, we do what the MacOS driver does (no
kidding!) and simply set them one by one until we hit the one we
Expand Down Expand Up @@ -614,8 +577,6 @@ static void __init macfb_setup(char *options)

static void __init iounmap_macfb(void)
{
if (valkyrie_cmap_regs)
iounmap(valkyrie_cmap_regs);
if (dafb_cmap_regs)
iounmap(dafb_cmap_regs);
if (v8_brazil_cmap_regs)
Expand All @@ -642,6 +603,10 @@ static int __init macfb_init(void)
if (!MACH_IS_MAC)
return -ENODEV;

if (mac_bi_data.id == MAC_MODEL_Q630 ||
mac_bi_data.id == MAC_MODEL_P588)
return -ENODEV; /* See valkyriefb.c */

/* There can only be one internal video controller anyway so
we're not too worried about this */
macfb_defined.xres = mac_bi_data.dimensions & 0xFFFF;
Expand Down Expand Up @@ -784,16 +749,6 @@ static int __init macfb_init(void)
if (!video_is_nubus)
switch( mac_bi_data.id )
{
/* Valkyrie Quadras */
case MAC_MODEL_Q630:
/* I'm not sure about this one */
case MAC_MODEL_P588:
strcpy(macfb_fix.id, "Valkyrie");
macfb_setpalette = valkyrie_setpalette;
macfb_defined.activate = FB_ACTIVATE_NOW;
valkyrie_cmap_regs = ioremap(DAC_BASE, 0x1000);
break;

/* DAFB Quadras */
/* Note: these first four have the v7 DAFB, which is
known to be rather unlike the ones used in the
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/video/valkyriefb.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
#ifdef CONFIG_MAC
/* We don't yet have functions to read the PRAM... perhaps we can
adapt them from the PPC code? */
static int default_vmode = VMODE_640_480_67;
static int default_vmode = VMODE_CHOOSE;
static int default_cmode = CMODE_8;
#else
static int default_vmode = VMODE_NVRAM;
Expand Down Expand Up @@ -326,11 +326,11 @@ int __init valkyriefb_init(void)

#ifdef CONFIG_MAC
if (!MACH_IS_MAC)
return 0;
return -ENODEV;
if (!(mac_bi_data.id == MAC_MODEL_Q630
/* I'm not sure about this one */
|| mac_bi_data.id == MAC_MODEL_P588))
return 0;
return -ENODEV;

/* Hardcoded addresses... welcome to 68k Macintosh country :-) */
frame_buffer_phys = 0xf9000000;
Expand Down
31 changes: 10 additions & 21 deletions trunk/drivers/video/valkyriefb.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,15 +134,7 @@ static struct valkyrie_regvals valkyrie_reg_init_14 = {
{ 1024, 0 },
1024, 768
};

/* Register values for 800x600, 72Hz mode (11) */
static struct valkyrie_regvals valkyrie_reg_init_11 = {
13,
{ 17, 27, 3 }, /* pixel clock = 49.63MHz for V=71.66Hz */
{ 800, 0 },
800, 600
};
#endif /* CONFIG_MAC */
#endif /* !defined CONFIG_MAC */

/* Register values for 832x624, 75Hz mode (13) */
static struct valkyrie_regvals valkyrie_reg_init_13 = {
Expand All @@ -152,6 +144,14 @@ static struct valkyrie_regvals valkyrie_reg_init_13 = {
832, 624
};

/* Register values for 800x600, 72Hz mode (11) */
static struct valkyrie_regvals valkyrie_reg_init_11 = {
13,
{ 17, 27, 3 }, /* pixel clock = 49.63MHz for V=71.66Hz */
{ 800, 0 },
800, 600
};

/* Register values for 800x600, 60Hz mode (10) */
static struct valkyrie_regvals valkyrie_reg_init_10 = {
12,
Expand Down Expand Up @@ -188,24 +188,13 @@ static struct valkyrie_regvals *valkyrie_reg_init[VMODE_MAX] = {
NULL,
NULL,
&valkyrie_reg_init_10,
#ifdef CONFIG_MAC
NULL,
NULL,
&valkyrie_reg_init_13,
NULL,
NULL,
NULL,
NULL,
#else
&valkyrie_reg_init_11,
NULL,
&valkyrie_reg_init_13,
#ifndef CONFIG_MAC
&valkyrie_reg_init_14,
&valkyrie_reg_init_15,
NULL,
&valkyrie_reg_init_17,
#endif
NULL,
NULL,
NULL
};

0 comments on commit 6da3849

Please sign in to comment.