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
nexedi
linux
Commits
c9a69e1e
Commit
c9a69e1e
authored
Aug 11, 2002
by
James Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved over to use the fix field in struct fb_info instead of fields in struct display.
parent
c23ca45d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
26 additions
and
32 deletions
+26
-32
drivers/video/fbcon-cfb24.c
drivers/video/fbcon-cfb24.c
+3
-1
drivers/video/fbcon.c
drivers/video/fbcon.c
+23
-19
drivers/video/fbgen.c
drivers/video/fbgen.c
+0
-6
include/video/fbcon.h
include/video/fbcon.h
+0
-6
No files found.
drivers/video/fbcon-cfb24.c
View file @
c9a69e1e
...
@@ -25,7 +25,9 @@
...
@@ -25,7 +25,9 @@
void
fbcon_cfb24_setup
(
struct
display
*
p
)
void
fbcon_cfb24_setup
(
struct
display
*
p
)
{
{
p
->
next_line
=
p
->
line_length
?
p
->
line_length
:
p
->
var
.
xres_virtual
*
3
;
struct
fb_info
*
info
=
p
->
fb_info
;
p
->
next_line
=
info
->
fix
.
line_length
?
info
->
fix
.
line_length
:
p
->
var
.
xres_virtual
*
3
;
p
->
next_plane
=
0
;
p
->
next_plane
=
0
;
}
}
...
...
drivers/video/fbcon.c
View file @
c9a69e1e
...
@@ -518,13 +518,15 @@ static int fbcon_changevar(int con)
...
@@ -518,13 +518,15 @@ static int fbcon_changevar(int con)
static
__inline__
void
updatescrollmode
(
struct
display
*
p
)
static
__inline__
void
updatescrollmode
(
struct
display
*
p
)
{
{
struct
fb_info
*
info
=
p
->
fb_info
;
int
m
;
int
m
;
if
(
p
->
scrollmode
&
__SCROLL_YFIXED
)
if
(
p
->
scrollmode
&
__SCROLL_YFIXED
)
return
;
return
;
if
(
divides
(
p
->
ywrapstep
,
fontheight
(
p
))
&&
if
(
divides
(
info
->
fix
.
ywrapstep
,
fontheight
(
p
))
&&
divides
(
fontheight
(
p
),
p
->
var
.
yres_virtual
))
divides
(
fontheight
(
p
),
info
->
var
.
yres_virtual
))
m
=
__SCROLL_YWRAP
;
m
=
__SCROLL_YWRAP
;
else
if
(
divides
(
p
->
ypanstep
,
fontheight
(
p
))
&&
else
if
(
divides
(
info
->
fix
.
ypanstep
,
fontheight
(
p
))
&&
p
->
var
.
yres_virtual
>=
p
->
var
.
yres
+
fontheight
(
p
))
p
->
var
.
yres_virtual
>=
p
->
var
.
yres
+
fontheight
(
p
))
m
=
__SCROLL_YPAN
;
m
=
__SCROLL_YPAN
;
else
if
(
p
->
scrollmode
&
__SCROLL_YNOMOVE
)
else
if
(
p
->
scrollmode
&
__SCROLL_YNOMOVE
)
...
@@ -553,6 +555,7 @@ static void fbcon_font_widths(struct display *p)
...
@@ -553,6 +555,7 @@ static void fbcon_font_widths(struct display *p)
static
void
fbcon_setup
(
int
con
,
int
init
,
int
logo
)
static
void
fbcon_setup
(
int
con
,
int
init
,
int
logo
)
{
{
struct
display
*
p
=
&
fb_display
[
con
];
struct
display
*
p
=
&
fb_display
[
con
];
struct
fb_info
*
info
=
p
->
fb_info
;
struct
vc_data
*
conp
=
p
->
conp
;
struct
vc_data
*
conp
=
p
->
conp
;
int
nr_rows
,
nr_cols
;
int
nr_rows
,
nr_cols
;
int
old_rows
,
old_cols
;
int
old_rows
,
old_cols
;
...
@@ -560,13 +563,13 @@ static void fbcon_setup(int con, int init, int logo)
...
@@ -560,13 +563,13 @@ static void fbcon_setup(int con, int init, int logo)
int
i
,
charcnt
=
256
;
int
i
,
charcnt
=
256
;
struct
fbcon_font_desc
*
font
;
struct
fbcon_font_desc
*
font
;
if
(
con
!=
fg_console
||
(
p
->
fb_
info
->
flags
&
FBINFO_FLAG_MODULE
)
||
if
(
con
!=
fg_console
||
(
info
->
flags
&
FBINFO_FLAG_MODULE
)
||
p
->
type
==
FB_TYPE_TEXT
)
info
->
fix
.
type
==
FB_TYPE_TEXT
)
logo
=
0
;
logo
=
0
;
p
->
var
.
xoffset
=
p
->
var
.
yoffset
=
p
->
yscroll
=
0
;
/* reset wrap/pan */
p
->
var
.
xoffset
=
p
->
var
.
yoffset
=
p
->
yscroll
=
0
;
/* reset wrap/pan */
if
(
con
==
fg_console
&&
p
->
type
!=
FB_TYPE_TEXT
)
{
if
(
con
==
fg_console
&&
info
->
fix
.
type
!=
FB_TYPE_TEXT
)
{
if
(
fbcon_softback_size
)
{
if
(
fbcon_softback_size
)
{
if
(
!
softback_buf
)
{
if
(
!
softback_buf
)
{
softback_buf
=
(
unsigned
long
)
kmalloc
(
fbcon_softback_size
,
GFP_KERNEL
);
softback_buf
=
(
unsigned
long
)
kmalloc
(
fbcon_softback_size
,
GFP_KERNEL
);
...
@@ -716,7 +719,8 @@ static void fbcon_setup(int con, int init, int logo)
...
@@ -716,7 +719,8 @@ static void fbcon_setup(int con, int init, int logo)
if
(
p
->
dispsw
==
&
fbcon_dummy
)
if
(
p
->
dispsw
==
&
fbcon_dummy
)
printk
(
KERN_WARNING
"fbcon_setup: type %d (aux %d, depth %d) not "
printk
(
KERN_WARNING
"fbcon_setup: type %d (aux %d, depth %d) not "
"supported
\n
"
,
p
->
type
,
p
->
type_aux
,
p
->
var
.
bits_per_pixel
);
"supported
\n
"
,
info
->
fix
.
type
,
info
->
fix
.
type_aux
,
p
->
var
.
bits_per_pixel
);
p
->
dispsw
->
setup
(
p
);
p
->
dispsw
->
setup
(
p
);
p
->
fgcol
=
p
->
var
.
bits_per_pixel
>
2
?
7
:
(
1
<<
p
->
var
.
bits_per_pixel
)
-
1
;
p
->
fgcol
=
p
->
var
.
bits_per_pixel
>
2
?
7
:
(
1
<<
p
->
var
.
bits_per_pixel
)
-
1
;
...
@@ -1563,9 +1567,9 @@ static int fbcon_blank(struct vc_data *conp, int blank)
...
@@ -1563,9 +1567,9 @@ static int fbcon_blank(struct vc_data *conp, int blank)
if
(
!
p
->
can_soft_blank
)
{
if
(
!
p
->
can_soft_blank
)
{
if
(
blank
)
{
if
(
blank
)
{
if
(
p
->
visual
==
FB_VISUAL_MONO01
)
{
if
(
info
->
fix
.
visual
==
FB_VISUAL_MONO01
)
{
if
(
p
->
fb_
info
->
screen_base
)
if
(
info
->
screen_base
)
fb_memset255
(
p
->
fb_
info
->
screen_base
,
fb_memset255
(
info
->
screen_base
,
p
->
var
.
xres_virtual
*
p
->
var
.
yres_virtual
*
p
->
var
.
xres_virtual
*
p
->
var
.
yres_virtual
*
p
->
var
.
bits_per_pixel
>>
3
);
p
->
var
.
bits_per_pixel
>>
3
);
}
else
{
}
else
{
...
@@ -2122,9 +2126,10 @@ static inline unsigned safe_shift(unsigned d,int n)
...
@@ -2122,9 +2126,10 @@ static inline unsigned safe_shift(unsigned d,int n)
static
int
__init
fbcon_show_logo
(
void
)
static
int
__init
fbcon_show_logo
(
void
)
{
{
struct
display
*
p
=
&
fb_display
[
fg_console
];
/* draw to vt in foreground */
struct
display
*
p
=
&
fb_display
[
fg_console
];
/* draw to vt in foreground */
struct
fb_info
*
info
=
p
->
fb_info
;
int
depth
=
p
->
var
.
bits_per_pixel
;
int
depth
=
p
->
var
.
bits_per_pixel
;
int
line
=
p
->
next_line
;
int
line
=
p
->
next_line
;
unsigned
char
*
fb
=
p
->
fb_
info
->
screen_base
;
unsigned
char
*
fb
=
info
->
screen_base
;
unsigned
char
*
logo
;
unsigned
char
*
logo
;
unsigned
char
*
dst
,
*
src
;
unsigned
char
*
dst
,
*
src
;
int
i
,
j
,
n
,
x1
,
y1
,
x
;
int
i
,
j
,
n
,
x1
,
y1
,
x
;
...
@@ -2140,8 +2145,8 @@ static int __init fbcon_show_logo( void )
...
@@ -2140,8 +2145,8 @@ static int __init fbcon_show_logo( void )
* We don't have to set the colors for the 16-color logo, since that logo
* We don't have to set the colors for the 16-color logo, since that logo
* uses the standard VGA text console palette
* uses the standard VGA text console palette
*/
*/
if
((
p
->
visual
==
FB_VISUAL_PSEUDOCOLOR
&&
depth
>=
8
)
||
if
((
info
->
fix
.
visual
==
FB_VISUAL_PSEUDOCOLOR
&&
depth
>=
8
)
||
(
p
->
visual
==
FB_VISUAL_DIRECTCOLOR
&&
depth
>=
24
))
(
info
->
fix
.
visual
==
FB_VISUAL_DIRECTCOLOR
&&
depth
>=
24
))
for
(
i
=
0
;
i
<
LINUX_LOGO_COLORS
;
i
+=
n
)
{
for
(
i
=
0
;
i
<
LINUX_LOGO_COLORS
;
i
+=
n
)
{
n
=
LINUX_LOGO_COLORS
-
i
;
n
=
LINUX_LOGO_COLORS
-
i
;
if
(
n
>
16
)
if
(
n
>
16
)
...
@@ -2157,8 +2162,7 @@ static int __init fbcon_show_logo( void )
...
@@ -2157,8 +2162,7 @@ static int __init fbcon_show_logo( void )
palette_cmap
.
blue
[
j
]
=
(
linux_logo_blue
[
i
+
j
]
<<
8
)
|
palette_cmap
.
blue
[
j
]
=
(
linux_logo_blue
[
i
+
j
]
<<
8
)
|
linux_logo_blue
[
i
+
j
];
linux_logo_blue
[
i
+
j
];
}
}
p
->
fb_info
->
fbops
->
fb_set_cmap
(
&
palette_cmap
,
1
,
fg_console
,
info
->
fbops
->
fb_set_cmap
(
&
palette_cmap
,
1
,
fg_console
,
info
);
p
->
fb_info
);
}
}
if
(
depth
>=
8
)
{
if
(
depth
>=
8
)
{
...
@@ -2174,15 +2178,15 @@ static int __init fbcon_show_logo( void )
...
@@ -2174,15 +2178,15 @@ static int __init fbcon_show_logo( void )
logo_depth
=
1
;
logo_depth
=
1
;
}
}
if
(
p
->
fb_
info
->
fbops
->
fb_rasterimg
)
if
(
info
->
fbops
->
fb_rasterimg
)
p
->
fb_info
->
fbops
->
fb_rasterimg
(
p
->
fb_
info
,
1
);
info
->
fbops
->
fb_rasterimg
(
info
,
1
);
for
(
x
=
0
;
x
<
num_online_cpus
()
*
(
LOGO_W
+
8
)
&&
for
(
x
=
0
;
x
<
num_online_cpus
()
*
(
LOGO_W
+
8
)
&&
x
<
p
->
var
.
xres
-
(
LOGO_W
+
8
);
x
+=
(
LOGO_W
+
8
))
{
x
<
p
->
var
.
xres
-
(
LOGO_W
+
8
);
x
+=
(
LOGO_W
+
8
))
{
#if defined(CONFIG_FBCON_CFB16) || defined(CONFIG_FBCON_CFB24) || \
#if defined(CONFIG_FBCON_CFB16) || defined(CONFIG_FBCON_CFB24) || \
defined(CONFIG_FBCON_CFB32) || defined(CONFIG_FB_SBUS)
defined(CONFIG_FBCON_CFB32) || defined(CONFIG_FB_SBUS)
if
(
p
->
visual
==
FB_VISUAL_DIRECTCOLOR
)
{
if
(
info
->
fix
.
visual
==
FB_VISUAL_DIRECTCOLOR
)
{
unsigned
int
val
;
/* max. depth 32! */
unsigned
int
val
;
/* max. depth 32! */
int
bdepth
;
int
bdepth
;
int
redshift
,
greenshift
,
blueshift
;
int
redshift
,
greenshift
,
blueshift
;
...
@@ -2257,7 +2261,7 @@ static int __init fbcon_show_logo( void )
...
@@ -2257,7 +2261,7 @@ static int __init fbcon_show_logo( void )
#endif
#endif
#if defined(CONFIG_FBCON_CFB16) || defined(CONFIG_FBCON_CFB24) || \
#if defined(CONFIG_FBCON_CFB16) || defined(CONFIG_FBCON_CFB24) || \
defined(CONFIG_FBCON_CFB32) || defined(CONFIG_FB_SBUS)
defined(CONFIG_FBCON_CFB32) || defined(CONFIG_FB_SBUS)
if
((
depth
%
8
==
0
)
&&
(
p
->
visual
==
FB_VISUAL_TRUECOLOR
))
{
if
((
depth
%
8
==
0
)
&&
(
info
->
fix
.
visual
==
FB_VISUAL_TRUECOLOR
))
{
/* Modes without color mapping, needs special data transformation... */
/* Modes without color mapping, needs special data transformation... */
unsigned
int
val
;
/* max. depth 32! */
unsigned
int
val
;
/* max. depth 32! */
int
bdepth
=
depth
/
8
;
int
bdepth
=
depth
/
8
;
...
...
drivers/video/fbgen.c
View file @
c9a69e1e
...
@@ -129,12 +129,6 @@ void gen_set_disp(int con, struct fb_info *info)
...
@@ -129,12 +129,6 @@ void gen_set_disp(int con, struct fb_info *info)
{
{
struct
display
*
display
=
(
con
<
0
)
?
info
->
disp
:
(
fb_display
+
con
);
struct
display
*
display
=
(
con
<
0
)
?
info
->
disp
:
(
fb_display
+
con
);
display
->
visual
=
info
->
fix
.
visual
;
display
->
type
=
info
->
fix
.
type
;
display
->
type_aux
=
info
->
fix
.
type_aux
;
display
->
ypanstep
=
info
->
fix
.
ypanstep
;
display
->
ywrapstep
=
info
->
fix
.
ywrapstep
;
display
->
line_length
=
info
->
fix
.
line_length
;
if
(
info
->
fix
.
visual
==
FB_VISUAL_PSEUDOCOLOR
||
if
(
info
->
fix
.
visual
==
FB_VISUAL_PSEUDOCOLOR
||
info
->
fix
.
visual
==
FB_VISUAL_DIRECTCOLOR
)
{
info
->
fix
.
visual
==
FB_VISUAL_DIRECTCOLOR
)
{
display
->
can_soft_blank
=
info
->
fbops
->
fb_blank
?
1
:
0
;
display
->
can_soft_blank
=
info
->
fbops
->
fb_blank
?
1
:
0
;
...
...
include/video/fbcon.h
View file @
c9a69e1e
...
@@ -55,12 +55,6 @@ struct display {
...
@@ -55,12 +55,6 @@ struct display {
struct
fb_var_screeninfo
var
;
/* variable infos. yoffset and vmode */
struct
fb_var_screeninfo
var
;
/* variable infos. yoffset and vmode */
/* are updated by fbcon.c */
/* are updated by fbcon.c */
struct
fb_cmap
cmap
;
/* colormap */
struct
fb_cmap
cmap
;
/* colormap */
int
visual
;
int
type
;
/* see FB_TYPE_* */
int
type_aux
;
/* Interleave for interleaved Planes */
u_short
ypanstep
;
/* zero if no hardware ypan */
u_short
ywrapstep
;
/* zero if no hardware ywrap */
u_long
line_length
;
/* length of a line in bytes */
u_short
can_soft_blank
;
/* zero if no hardware blanking */
u_short
can_soft_blank
;
/* zero if no hardware blanking */
u_short
inverse
;
/* != 0 text black on white as default */
u_short
inverse
;
/* != 0 text black on white as default */
struct
display_switch
*
dispsw
;
/* low level operations */
struct
display_switch
*
dispsw
;
/* low level operations */
...
...
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