Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
c1c8c4f9
Commit
c1c8c4f9
authored
May 01, 2002
by
James Simmons
Committed by
James Simmons
May 01, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pmac updates
parent
60c9598a
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
92 additions
and
17 deletions
+92
-17
drivers/video/aty/atyfb_base.c
drivers/video/aty/atyfb_base.c
+10
-0
drivers/video/aty128fb.c
drivers/video/aty128fb.c
+40
-1
drivers/video/chipsfb.c
drivers/video/chipsfb.c
+2
-2
drivers/video/controlfb.c
drivers/video/controlfb.c
+2
-2
drivers/video/imsttfb.c
drivers/video/imsttfb.c
+1
-1
drivers/video/offb.c
drivers/video/offb.c
+33
-7
drivers/video/platinumfb.c
drivers/video/platinumfb.c
+3
-3
drivers/video/valkyriefb.c
drivers/video/valkyriefb.c
+1
-1
No files found.
drivers/video/aty/atyfb_base.c
View file @
c1c8c4f9
...
...
@@ -87,6 +87,9 @@
#include <linux/adb.h>
#include <linux/pmu.h>
#endif
#ifdef CONFIG_BOOTX_TEXT
#include <asm/btext.h>
#endif
#ifdef CONFIG_NVRAM
#include <linux/nvram.h>
#endif
...
...
@@ -815,6 +818,13 @@ static void atyfb_set_par(const struct atyfb_par *par,
display_info
.
disp_reg_address
=
info
->
ati_regbase_phys
;
}
#endif
/* CONFIG_FB_COMPAT_XPMAC */
#ifdef CONFIG_BOOTX_TEXT
btext_update_display
(
info
->
frame_buffer_phys
,
(((
par
->
crtc
.
h_tot_disp
>>
16
)
&
0xff
)
+
1
)
*
8
,
((
par
->
crtc
.
v_tot_disp
>>
16
)
&
0x7ff
)
+
1
,
par
->
crtc
.
bpp
,
par
->
crtc
.
vxres
*
par
->
crtc
.
bpp
/
8
);
#endif
/* CONFIG_BOOTX_TEXT */
}
static
int
atyfb_decode_var
(
const
struct
fb_var_screeninfo
*
var
,
...
...
drivers/video/aty128fb.c
View file @
c1c8c4f9
...
...
@@ -70,6 +70,9 @@
#ifdef CONFIG_FB_COMPAT_XPMAC
#include <asm/vc_ioctl.h>
#endif
#ifdef CONFIG_BOOTX_TEXT
#include <asm/btext.h>
#endif
/* CONFIG_BOOTX_TEXT */
#include <video/fbcon.h>
#include <video/fbcon-cfb8.h>
...
...
@@ -154,6 +157,7 @@ static struct aty128_chip_info aty128_pci_probe_list[] __initdata =
{
"Rage128 RL (AGP)"
,
PCI_DEVICE_ID_ATI_RAGE128_RL
,
rage_128
},
{
"Rage128 Pro PF (AGP)"
,
PCI_DEVICE_ID_ATI_RAGE128_PF
,
rage_128_pro
},
{
"Rage128 Pro PR (PCI)"
,
PCI_DEVICE_ID_ATI_RAGE128_PR
,
rage_128_pro
},
{
"Rage128 Pro TR (AGP)"
,
PCI_DEVICE_ID_ATI_RAGE128_U3
,
rage_128_pro
},
{
"Rage Mobility M3 (PCI)"
,
PCI_DEVICE_ID_ATI_RAGE128_LE
,
rage_M3
},
{
"Rage Mobility M3 (AGP)"
,
PCI_DEVICE_ID_ATI_RAGE128_LF
,
rage_M3
},
{
NULL
,
0
,
rage_128
}
...
...
@@ -216,9 +220,13 @@ static const char *aty128fb_name = "ATY Rage128";
static
char
fontname
[
40
]
__initdata
=
{
0
};
static
int
noaccel
__initdata
=
0
;
#ifdef MODULE
static
char
*
font
__initdata
=
NULL
;
static
char
*
mode
__initdata
=
NULL
;
#ifdef CONFIG_MTRR
static
int
nomtrr
__initdata
=
0
;
#endif
#endif
/* MODULE */
static
char
*
mode_option
__initdata
=
NULL
;
...
...
@@ -418,6 +426,7 @@ static struct fb_ops aty128fb_ops = {
fb_set_cmap:
gen_set_cmap
,
fb_setcolreg:
aty128fb_setcolreg
,
fb_pan_display:
aty128fb_pan_display
,
fb_blank:
aty128fb_blank
,
fb_rasterimg:
aty128fb_rasterimg
,
};
...
...
@@ -1243,6 +1252,13 @@ aty128_set_par(struct aty128fb_par *par,
display_info
.
disp_reg_address
=
info
->
regbase_phys
;
}
#endif
/* CONFIG_FB_COMPAT_XPMAC */
#if defined(CONFIG_BOOTX_TEXT)
btext_update_display
(
info
->
frame_buffer_phys
,
(((
par
->
crtc
.
h_total
>>
16
)
&
0xff
)
+
1
)
*
8
,
((
par
->
crtc
.
v_total
>>
16
)
&
0x7ff
)
+
1
,
par
->
crtc
.
bpp
,
par
->
crtc
.
vxres
*
par
->
crtc
.
bpp
/
8
);
#endif
/* CONFIG_BOOTX_TEXT */
}
/*
...
...
@@ -1584,7 +1600,7 @@ aty128fb_setup(char *options)
if
(
!
options
||
!*
options
)
return
0
;
while
(
this_opt
=
strsep
(
&
options
,
","
)
)
{
while
(
(
this_opt
=
strsep
(
&
options
,
","
))
!=
NULL
)
{
if
(
!
strncmp
(
this_opt
,
"font:"
,
5
))
{
char
*
p
;
int
i
;
...
...
@@ -1687,6 +1703,29 @@ aty128_init(struct fb_info_aty128 *info, const char *name)
if
(
default_vmode
<=
0
||
default_vmode
>
VMODE_MAX
)
default_vmode
=
VMODE_1024_768_60
;
/* iMacs need that resolution
* PowerMac2,1 first r128 iMacs
* PowerMac2,2 summer 2000 iMacs
* PowerMac4,1 january 2001 iMacs "flower power"
*/
if
(
machine_is_compatible
(
"PowerMac2,1"
)
||
machine_is_compatible
(
"PowerMac2,2"
)
||
machine_is_compatible
(
"PowerMac4,1"
))
default_vmode
=
VMODE_1024_768_75
;
/* iBook SE */
if
(
machine_is_compatible
(
"PowerBook2,2"
))
default_vmode
=
VMODE_800_600_60
;
/* PowerBook Firewire (Pismo), iBook Dual USB */
if
(
machine_is_compatible
(
"PowerBook3,1"
)
||
machine_is_compatible
(
"PowerBook4,1"
))
default_vmode
=
VMODE_1024_768_60
;
/* PowerBook Titanium */
if
(
machine_is_compatible
(
"PowerBook3,2"
))
default_vmode
=
VMODE_1152_768_60
;
if
(
default_cmode
<
CMODE_8
||
default_cmode
>
CMODE_32
)
default_cmode
=
CMODE_8
;
...
...
drivers/video/chipsfb.c
View file @
c1c8c4f9
...
...
@@ -312,7 +312,7 @@ static void chips_set_bitdepth(struct fb_info_chips *p, struct display* disp, in
struct
fb_var_screeninfo
*
var
=
&
p
->
var
;
if
(
bpp
==
16
)
{
if
(
con
==
info
->
currcon
)
{
if
(
con
==
p
->
info
.
currcon
)
{
write_cr
(
0x13
,
200
);
// Set line length (doublewords)
write_xr
(
0x81
,
0x14
);
// 15 bit (555) color mode
write_xr
(
0x82
,
0x00
);
// Disable palettes
...
...
@@ -334,7 +334,7 @@ static void chips_set_bitdepth(struct fb_info_chips *p, struct display* disp, in
disp
->
dispsw
=
&
fbcon_dummy
;
#endif
}
else
if
(
bpp
==
8
)
{
if
(
con
==
info
->
currcon
)
{
if
(
con
==
p
->
info
.
currcon
)
{
write_cr
(
0x13
,
100
);
// Set line length (doublewords)
write_xr
(
0x81
,
0x12
);
// 8 bit color mode
write_xr
(
0x82
,
0x08
);
// Graphics gamma enable
...
...
drivers/video/controlfb.c
View file @
c1c8c4f9
...
...
@@ -1238,7 +1238,7 @@ static void control_cfb16_revc(struct display *p, int xx, int yy)
u8
*
dest
;
int
bytes
=
p
->
next_line
,
rows
;
dest
=
p
->
info
.
screen_base
+
yy
*
fontheight
(
p
)
*
bytes
+
xx
*
fontwidth
(
p
)
*
2
;
dest
=
p
->
fb_info
->
screen_base
+
yy
*
fontheight
(
p
)
*
bytes
+
xx
*
fontwidth
(
p
)
*
2
;
for
(
rows
=
fontheight
(
p
);
rows
--
;
dest
+=
bytes
)
{
switch
(
fontwidth
(
p
))
{
case
16
:
...
...
@@ -1261,7 +1261,7 @@ static void control_cfb32_revc(struct display *p, int xx, int yy)
u8
*
dest
;
int
bytes
=
p
->
next_line
,
rows
;
dest
=
p
->
info
.
screen_base
+
yy
*
fontheight
(
p
)
*
bytes
+
xx
*
fontwidth
(
p
)
*
4
;
dest
=
p
->
fb_info
->
screen_base
+
yy
*
fontheight
(
p
)
*
bytes
+
xx
*
fontwidth
(
p
)
*
4
;
for
(
rows
=
fontheight
(
p
);
rows
--
;
dest
+=
bytes
)
{
switch
(
fontwidth
(
p
))
{
case
16
:
...
...
drivers/video/imsttfb.c
View file @
c1c8c4f9
...
...
@@ -1908,7 +1908,7 @@ imsttfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
p
->
ramdac
=
TVP
;
break
;
default:
printk
(
KERN_INFO
"imsttfb: Device 0x%
l
x unknown, "
printk
(
KERN_INFO
"imsttfb: Device 0x%x unknown, "
"contact maintainer.
\n
"
,
pdev
->
device
);
return
-
ENODEV
;
}
...
...
drivers/video/offb.c
View file @
c1c8c4f9
...
...
@@ -49,7 +49,8 @@ enum {
cmap_r128
,
/* ATI Rage128 */
cmap_M3A
,
/* ATI Rage Mobility M3 Head A */
cmap_M3B
,
/* ATI Rage Mobility M3 Head B */
cmap_radeon
/* ATI Radeon */
cmap_radeon
,
/* ATI Radeon */
cmap_gxt2000
,
/* IBM GXT2000 */
};
struct
fb_info_offb
{
...
...
@@ -61,6 +62,7 @@ struct fb_info_offb {
volatile
unsigned
char
*
cmap_adr
;
volatile
unsigned
char
*
cmap_data
;
int
cmap_type
;
int
blanked
;
union
{
#ifdef FBCON_HAS_CFB16
u16
cfb16
[
16
];
...
...
@@ -207,9 +209,11 @@ static int offb_set_var(struct fb_var_screeninfo *var, int con,
static
int
offb_get_cmap
(
struct
fb_cmap
*
cmap
,
int
kspc
,
int
con
,
struct
fb_info
*
info
)
{
if
(
con
==
info
->
currcon
)
/* current console? */
struct
fb_info_offb
*
info2
=
(
struct
fb_info_offb
*
)
info
;
if
(
con
==
info
->
currcon
&&
!
info2
->
blanked
)
/* current console? */
return
fb_get_cmap
(
cmap
,
kspc
,
offb_getcolreg
,
info
);
else
if
(
fb_display
[
con
].
cmap
.
len
)
/* non default colormap? */
if
(
fb_display
[
con
].
cmap
.
len
)
/* non default colormap? */
fb_copy_cmap
(
&
fb_display
[
con
].
cmap
,
cmap
,
kspc
?
0
:
2
);
else
{
...
...
@@ -237,7 +241,7 @@ static int offb_set_cmap(struct fb_cmap *cmap, int kspc, int con,
if
((
err
=
fb_alloc_cmap
(
&
fb_display
[
con
].
cmap
,
size
,
0
)))
return
err
;
}
if
(
con
==
info
->
currcon
)
/* current console? */
if
(
con
==
info
->
currcon
&&
!
info2
->
blanked
)
/* current console? */
return
fb_set_cmap
(
cmap
,
kspc
,
info
);
else
fb_copy_cmap
(
cmap
,
&
fb_display
[
con
].
cmap
,
kspc
?
0
:
1
);
...
...
@@ -254,7 +258,17 @@ static int offb_blank(int blank, struct fb_info *info)
int
i
,
j
;
if
(
!
info2
->
cmap_adr
)
return
;
return
0
;
if
(
!
info2
->
blanked
)
{
if
(
!
blank
)
return
0
;
if
(
fb_display
[
info
->
currcon
].
cmap
.
len
)
fb_get_cmap
(
&
fb_display
[
info
->
currcon
].
cmap
,
1
,
offb_getcolreg
,
info
);
}
info2
->
blanked
=
blank
;
if
(
blank
)
for
(
i
=
0
;
i
<
256
;
i
++
)
{
...
...
@@ -288,6 +302,9 @@ static int offb_blank(int blank, struct fb_info *info)
out_8
(
info2
->
cmap_adr
+
0xb0
,
i
);
out_le32
((
unsigned
*
)(
info2
->
cmap_adr
+
0xb4
),
0
);
break
;
case
cmap_gxt2000
:
out_le32
((
unsigned
*
)
info2
->
cmap_adr
+
i
,
0
);
break
;
}
}
else
...
...
@@ -496,6 +513,10 @@ static void __init offb_init_fb(const char *name, const char *full_name,
info
->
cmap_adr
=
ioremap
(
base
+
0x7ff000
,
0x1000
)
+
0xcc0
;
info
->
cmap_data
=
info
->
cmap_adr
+
1
;
info
->
cmap_type
=
cmap_m64
;
}
else
if
(
device_is_compatible
(
dp
,
"pci1014,b7"
))
{
unsigned
long
regbase
=
dp
->
addrs
[
0
].
address
;
info
->
cmap_adr
=
ioremap
(
regbase
+
0x6000
,
0x1000
);
info
->
cmap_type
=
cmap_gxt2000
;
}
fix
->
visual
=
info
->
cmap_adr
?
FB_VISUAL_PSEUDOCOLOR
:
FB_VISUAL_STATIC_PSEUDOCOLOR
;
...
...
@@ -664,11 +685,12 @@ static void __init offb_init_fb(const char *name, const char *full_name,
#endif
/* CONFIG_FB_COMPAT_XPMAC) */
}
static
int
offbcon_switch
(
int
con
,
struct
fb_info
*
info
)
{
struct
fb_info_offb
*
info2
=
(
struct
fb_info_offb
*
)
info
;
/* Do we have to save the colormap? */
if
(
fb_display
[
info
->
currcon
].
cmap
.
len
)
if
(
fb_display
[
info
->
currcon
].
cmap
.
len
&&
!
info2
->
blanked
)
fb_get_cmap
(
&
fb_display
[
info
->
currcon
].
cmap
,
1
,
offb_getcolreg
,
info
);
info
->
currcon
=
con
;
...
...
@@ -766,6 +788,10 @@ static int offb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
out_le32
((
unsigned
*
)(
info2
->
cmap_adr
+
0xb4
),
(
red
<<
16
|
green
<<
8
|
blue
));
break
;
case
cmap_gxt2000
:
out_le32
((
unsigned
*
)
info2
->
cmap_adr
+
regno
,
(
red
<<
16
|
green
<<
8
|
blue
));
break
;
}
if
(
regno
<
16
)
...
...
drivers/video/platinumfb.c
View file @
c1c8c4f9
...
...
@@ -329,10 +329,10 @@ static int platinum_switch(int con, struct fb_info *fb)
struct
fb_info_platinum
*
info
=
(
struct
fb_info_platinum
*
)
fb
;
struct
fb_par_platinum
par
;
if
(
fb_display
[
info
->
currcon
].
cmap
.
len
)
fb_get_cmap
(
&
fb_display
[
info
->
currcon
].
cmap
,
1
,
platinum_getcolreg
,
if
(
fb_display
[
fb
->
currcon
].
cmap
.
len
)
fb_get_cmap
(
&
fb_display
[
fb
->
currcon
].
cmap
,
1
,
platinum_getcolreg
,
fb
);
info
->
currcon
=
con
;
fb
->
currcon
=
con
;
platinum_var_to_par
(
&
fb_display
[
con
].
var
,
&
par
,
info
);
platinum_set_par
(
&
par
,
info
);
...
...
drivers/video/valkyriefb.c
View file @
c1c8c4f9
...
...
@@ -260,7 +260,7 @@ static int valkyriefb_switch(int con, struct fb_info *fb)
fb
);
fb
->
currcon
=
con
;
#if 1
valkyrie_var_to_par
(
&
fb_display
[
currcon
].
var
,
&
par
,
fb
);
valkyrie_var_to_par
(
&
fb_display
[
fb
->
currcon
].
var
,
&
par
,
fb
);
valkyrie_set_par
(
&
par
,
info
);
do_install_cmap
(
con
,
fb
);
#else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment