You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(135) |
Nov
(123) |
Dec
(83) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(244) |
Feb
(72) |
Mar
(221) |
Apr
(91) |
May
(104) |
Jun
(93) |
Jul
(78) |
Aug
(1) |
Sep
(1) |
Oct
(29) |
Nov
(98) |
Dec
(20) |
| 2003 |
Jan
|
Feb
(21) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(18) |
Oct
(23) |
Nov
(12) |
Dec
(6) |
| 2004 |
Jan
(2) |
Feb
(32) |
Mar
|
Apr
(12) |
May
(11) |
Jun
(11) |
Jul
|
Aug
(9) |
Sep
|
Oct
(15) |
Nov
|
Dec
|
| 2005 |
Jan
|
Feb
(2) |
Mar
(11) |
Apr
(6) |
May
(1) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
(25) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
|
Nov
(2) |
Dec
(2) |
| 2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(10) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
|
From: Paul M. <le...@us...> - 2001-11-25 04:44:20
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv2668/drivers/video
Modified Files:
fbcmap.c
Log Message:
Add an fb_getcolreg to the fb_ops.. call it from within the get_cmap().
Index: fbcmap.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbcmap.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- fbcmap.c 2001/06/07 05:28:57 1.8
+++ fbcmap.c 2001/11/25 04:44:16 1.9
@@ -221,7 +221,7 @@
blue = cmap->blue;
transp = cmap->transp;
start = cmap->start;
- if (start < 0)
+ if (start < 0 || !info->fbops->fb_getcolreg)
return -EINVAL;
for (i = 0; i < cmap->len; i++) {
if (!&info->cmap)
@@ -244,6 +244,8 @@
blue++;
if (transp)
transp++;
+ if (info->fbops->fb_getcolreg(start++,red,green,blue,transp,info))
+ return 0;
}
return 0;
}
|
|
From: James S. <jsi...@us...> - 2001-11-24 03:06:49
|
Update of /cvsroot/linuxconsole/ruby/utils In directory usw-pr-cvs1:/tmp/cvs-serv31382 Modified Files: remove-obsolete-files Log Message: Remove some more useless files. Index: remove-obsolete-files =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/remove-obsolete-files,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- remove-obsolete-files 2001/10/06 16:11:14 1.26 +++ remove-obsolete-files 2001/11/24 03:06:46 1.27 @@ -109,8 +109,7 @@ rm -fv drivers/video/font_sun12x22.c rm -fv drivers/video/font_sun8x16.c rm -fv drivers/video/fonts.c -rm -fv drivers/video/atyfb.c -rm -fv drivers/video/atyfb.h +rm -fv drivers/video/aty128.h rm -fv drivers/video/tdfxfb.c rm -fv include/asm-m68k/adb_mouse.h rm -fv include/asm-m68k/atari_joystick.h |
|
From: James S. <jsi...@us...> - 2001-11-23 04:10:19
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory usw-pr-cvs1:/tmp/cvs-serv8882/drivers Modified Files: Makefile Log Message: Synced to ARM tree now that it is not against AC tree. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- Makefile 2001/11/13 19:38:22 1.23 +++ Makefile 2001/11/23 04:10:15 1.24 @@ -43,11 +43,10 @@ # CONFIG_HAMRADIO can be set without CONFIG_NETDEVICE being set -- ch subdir-$(CONFIG_HAMRADIO) += net/hamradio subdir-$(CONFIG_I2C) += i2c -# subdir-$(CONFIG_L3) += l3 +#subdir-$(CONFIG_L3) += l3 subdir-$(CONFIG_ACPI) += acpi subdir-$(CONFIG_BLUEZ) += bluetooth -# subdir-$(CONFIG_SSI) += ssi +#subdir-$(CONFIG_SSI) += ssi include $(TOPDIR)/Rules.make - |
|
From: James S. <jsi...@us...> - 2001-11-23 04:10:18
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/acorn/char In directory usw-pr-cvs1:/tmp/cvs-serv8882/drivers/acorn/char Modified Files: Makefile Log Message: Synced to ARM tree now that it is not against AC tree. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/acorn/char/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile 2001/11/02 00:57:43 1.7 +++ Makefile 2001/11/23 04:10:15 1.8 @@ -20,7 +20,7 @@ obj-$(CONFIG_ATOMWIDE_SERIAL) += serial-atomwide.o obj-$(CONFIG_DUALSP_SERIAL) += serial-dualsp.o -obj-$(CONFIG_ARCH_ACORN) += defkeymap-acorn.o i2c.o pcf8583.o +obj-$(CONFIG_ARCH_ACORN) += i2c.o pcf8583.o # Do the i2c and rtc last obj-y += $(obj-$(MACHINE)) |
|
From: James S. <jsi...@us...> - 2001-11-23 04:10:18
|
Update of /cvsroot/linuxconsole/ruby/linux In directory usw-pr-cvs1:/tmp/cvs-serv8882 Modified Files: Makefile Log Message: Synced to ARM tree now that it is not against AC tree. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- Makefile 2001/11/13 19:38:21 1.40 +++ Makefile 2001/11/23 04:10:15 1.41 @@ -132,7 +132,6 @@ DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o DRIVERS-$(CONFIG_PARPORT) += drivers/parport/driver.o DRIVERS-$(CONFIG_I2C) += drivers/i2c/i2c.o -DRIVERS-$(CONFIG_L3) += drivers/l3/l3.o DRIVERS-$(CONFIG_AGP) += drivers/char/agp/agp.o DRIVERS-y += drivers/char/char.o \ drivers/block/block.o \ @@ -160,6 +159,7 @@ endif DRIVERS-$(CONFIG_SSI) += drivers/ssi/ssi.o +DRIVERS-$(CONFIG_L3) += drivers/l3/l3.o DRIVERS-$(CONFIG_UART) += drivers/serial/uart.o DRIVERS-$(CONFIG_SOUND) += drivers/sound/sounddrivers.o DRIVERS-$(CONFIG_PCI) += drivers/pci/driver.o |
|
From: James S. <jsi...@us...> - 2001-11-23 04:10:18
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm
In directory usw-pr-cvs1:/tmp/cvs-serv8882/arch/arm
Modified Files:
config.in
Log Message:
Synced to ARM tree now that it is not against AC tree.
Index: config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/config.in,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- config.in 2001/11/02 00:57:43 1.19
+++ config.in 2001/11/23 04:10:15 1.20
@@ -39,7 +39,7 @@
CLPS711x/EP721x-based CONFIG_ARCH_CLPS711X \
Co-EBSA285 CONFIG_ARCH_CO285 \
EBSA-110 CONFIG_ARCH_EBSA110 \
- Epxa10db CONFIG_ARCH_CAMELOT \
+ Epxa10db CONFIG_ARCH_CAMELOT \
FootBridge CONFIG_ARCH_FOOTBRIDGE \
Integrator CONFIG_ARCH_INTEGRATOR \
LinkUp-L7200 CONFIG_ARCH_L7200 \
@@ -123,11 +123,12 @@
dep_tristate 'SA1100 USB function support' CONFIG_SA1100_USB $CONFIG_ARCH_SA1100
dep_tristate ' Support for SA11x0 USB network link function' CONFIG_SA1100_USB_NETLINK $CONFIG_SA1100_USB
-dep_tristate ' Support for SA11x0 USB character device emulation' CONFIG_SA110_USB_CHAR $CONFIG_SA1100_USB
+dep_tristate ' Support for SA11x0 USB character device emulation' CONFIG_SA1100_USB_CHAR $CONFIG_SA1100_USB
endmenu
mainmenu_option next_comment
comment 'CLPS711X/EP721X Implementations'
+dep_bool ' AUTCPU12' CONFIG_ARCH_AUTCPU12 $CONFIG_ARCH_CLPS711X
dep_bool ' CDB89712' CONFIG_ARCH_CDB89712 $CONFIG_ARCH_CLPS711X
dep_bool ' CLEP7312' CONFIG_ARCH_CLEP7312 $CONFIG_ARCH_CLPS711X
dep_bool ' EDB7211' CONFIG_ARCH_EDB7211 $CONFIG_ARCH_CLPS711X
@@ -265,6 +266,21 @@
fi
fi
+# ARM922T
+if [ "$CONFIG_ARCH_CAMELOT" = "y" ]; then
+ define_bool CONFIG_CPU_ARM922T y
+else
+ define_bool CONFIG_CPU_ARM922T n
+fi
+if [ "$CONFIG_CPU_ARM922T" = "y" ]; then
+ bool ' ARM922T CPU idle' CONFIG_CPU_ARM922_CPU_IDLE
+ bool ' ARM922T I-Cache on' CONFIG_CPU_ARM922_I_CACHE_ON
+ bool ' ARM922T D-Cache on' CONFIG_CPU_ARM922_D_CACHE_ON
+ if [ "$CONFIG_CPU_ARM922_D_CACHE_ON" = "y" ] ; then
+ bool ' Force write through caches on ARM922T' CONFIG_CPU_ARM922_WRITETHROUGH
+ fi
+fi
+
# ARM926T
if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
bool 'Support ARM926T processor' CONFIG_CPU_ARM926T
@@ -291,11 +307,15 @@
define_bool CONFIG_CPU_ARM1020 n
fi
if [ "$CONFIG_CPU_ARM1020" = "y" ]; then
- bool ' ARM10 I-Cache on' CONFIG_CPU_ARM10_I_CACHE_ON
- bool ' ARM10 D-Cache on' CONFIG_CPU_ARM10_D_CACHE_ON
- if [ "$CONFIG_CPU_ARM10_D_CACHE_ON" = "y" ] ; then
- bool ' Force write through caches on ARM10' CONFIG_CPU_ARM10_FORCE_WRITE_THROUGH
+ bool ' ARM1020 I-Cache on' CONFIG_CPU_ARM1020_I_CACHE_ON
+ bool ' ARM10 D-Cache on' CONFIG_CPU_ARM1020_D_CACHE_ON
+ if [ "$CONFIG_CPU_ARM1020_D_CACHE_ON" = "y" ] ; then
+ bool ' Force write through caches on ARM1020' CONFIG_CPU_ARM1020_FORCE_WRITE_THROUGH
fi
+ if [ "$CONFIG_CPU_ARM1020_I_CACHE_ON" = "y" -o \
+ "$CONFIG_CPU_ARM1020_D_CACHE_ON" = "y" ]; then
+ bool ' Round robin I and D cache replacement algorithm' CONFIG_CPU_ARM1020_ROUND_ROBIN
+ fi
fi
# SA110
@@ -403,7 +423,7 @@
"$CONFIG_ARCH_CATS" = "y" -o \
"$CONFIG_ARCH_P720T" = "y" -o \
"$CONFIG_ARCH_CDB89712" = "y" -o \
- "$CONFIG_ARCH_CAMELOT" = "y" -o \
+ "$CONFIG_ARCH_CAMELOT" = "y" -o \
"$CONFIG_ARCH_ANAKIN" = "y" ]; then
string 'Default kernel command string' CONFIG_CMDLINE ""
fi
@@ -439,6 +459,7 @@
fi
endmenu
+source drivers/serial/Config.in
source drivers/parport/Config.in
if [ "$CONFIG_ALIGNMENT_TRAP" = "y" ]; then
@@ -513,57 +534,13 @@
#
# input before char - char/joystick depends on it. As does USB.
#
+source drivers/usb/Config.in
source drivers/input/Config.in
source drivers/char/Config.in
-if [ "$CONFIG_ARCH_ACORN" = "y" -a \
- "$CONFIG_BUSMOUSE" = "y" ]; then
- if [ "$CONFIG_ARCH_RPC" != "y" ]; then
- define_bool CONFIG_KBDMOUSE y
- else
- define_bool CONFIG_RPCMOUSE y
- fi
-fi
-
-source drivers/media/Config.in
source fs/Config.in
-if [ "$CONFIG_VT" = "y" ]; then
- mainmenu_option next_comment
- comment 'Console drivers'
- # Select the keyboard type for this architecture.
- if [ "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \
- "$CONFIG_ARCH_CLPS7500" = "y" -o \
- "$CONFIG_ARCH_SHARK" = "y" ]; then
- define_bool CONFIG_PC_KEYB y
- fi
- if [ "$CONFIG_ARCH_INTEGRATOR" = "y" ]; then
- define_bool CONFIG_KMI_KEYB y
- define_bool CONFIG_KMI_MOUSE y
- fi
- if [ "$CONFIG_ARCH_L7200" = "y" ]; then
- define_bool CONFIG_L7200_KEYB y
- fi
-
- # Do we use the PC-type keyboard map?
- if [ "$CONFIG_FOOTBRIDGE_HOST" = "y" -o \
- "$CONFIG_ARCH_SHARK" = "y" -o \
- "$CONFIG_ARCH_SA1100" = "y" -o \
- "$CONFIG_ARCH_INTEGRATOR" = "y" -o \
- "$CONFIG_ARCH_TBOX" = "y" -o \
- "$CONFIG_ARCH_CLPS7500" = "y" -o \
- "$CONFIG_ARCH_P720T" = "y" -o \
- "$CONFIG_ARCH_ANAKIN" = "y" ]; then
- define_bool CONFIG_PC_KEYMAP y
- fi
- if [ "$CONFIG_ARCH_ACORN" != "y" -a "$CONFIG_ARCH_EBSA110" != "y" ]; then
- bool 'VGA text console' CONFIG_VGA_CONSOLE
- fi
- source drivers/video/Config.in
- endmenu
-fi
-
if [ "$CONFIG_ARCH_ACORN" = "y" -o \
"$CONFIG_ARCH_CLPS7500" = "y" -o \
"$CONFIG_ARCH_TBOX" = "y" -o \
@@ -582,7 +559,8 @@
source drivers/misc/Config.in
-source drivers/usb/Config.in
+source drivers/media/Config.in
+source drivers/video/Config.in
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
source net/bluetooth/Config.in
@@ -594,15 +572,18 @@
# Always compile kernel with framepointer (until 2.4 real comes out)
# Bug reports aren't much use without this.
bool 'Compile kernel without frame pointer' CONFIG_NO_FRAME_POINTER
-bool 'Verbose kernel error messages' CONFIG_DEBUG_ERRORS
bool 'Verbose user fault messages' CONFIG_DEBUG_USER
bool 'Include debugging information in kernel binary' CONFIG_DEBUG_INFO
-bool 'Debug memory allocations' CONFIG_DEBUG_SLAB
-bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
-bool 'Spinlock debugging' CONFIG_DEBUG_SPINLOCK
dep_bool 'Disable pgtable cache' CONFIG_NO_PGT_CACHE $CONFIG_CPU_26
+
+bool 'Kernel debugging' CONFIG_DEBUG_KERNEL
+dep_bool ' Debug memory allocations' CONFIG_DEBUG_SLAB $CONFIG_DEBUG_KERNEL
+dep_bool ' Magic SysRq key' CONFIG_MAGIC_SYSRQ $CONFIG_DEBUG_KERNEL
+dep_bool ' Spinlock debugging' CONFIG_DEBUG_SPINLOCK $CONFIG_DEBUG_KERNEL
+dep_bool ' Verbose BUG() reporting (adds 70K)' CONFIG_DEBUG_BUGVERBOSE $CONFIG_DEBUG_KERNEL
+dep_bool ' Verbose kernel error messages' CONFIG_DEBUG_ERRORS $CONFIG_DEBUG_KERNEL
# These options are only for real kernel hackers who want to get their hands dirty.
-dep_bool 'Kernel low-level debugging functions' CONFIG_DEBUG_LL $CONFIG_EXPERIMENTAL
-dep_bool ' Kernel low-level debugging messages via footbridge serial port' CONFIG_DEBUG_DC21285_PORT $CONFIG_DEBUG_LL $CONFIG_FOOTBRIDGE
-dep_bool ' kernel low-level debugging messages via UART2' CONFIG_DEBUG_CLPS711X_UART2 $CONFIG_DEBUG_LL $CONFIG_ARCH_CLPS711X
+dep_bool ' Kernel low-level debugging functions' CONFIG_DEBUG_LL $CONFIG_DEBUG_KERNEL
+dep_bool ' Kernel low-level debugging messages via footbridge serial port' CONFIG_DEBUG_DC21285_PORT $CONFIG_DEBUG_LL $CONFIG_FOOTBRIDGE
+dep_bool ' kernel low-level debugging messages via UART2' CONFIG_DEBUG_CLPS711X_UART2 $CONFIG_DEBUG_LL $CONFIG_ARCH_CLPS711X
endmenu
|
|
From: James S. <jsi...@us...> - 2001-11-23 04:10:18
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char
In directory usw-pr-cvs1:/tmp/cvs-serv8882/drivers/char
Modified Files:
Config.in Makefile tty_io.c
Log Message:
Synced to ARM tree now that it is not against AC tree.
Index: Config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Config.in,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- Config.in 2001/11/13 19:38:22 1.30
+++ Config.in 2001/11/23 04:10:15 1.31
@@ -133,6 +133,11 @@
tristate ' Berkshire Products PC Watchdog' CONFIG_PCWATCHDOG
tristate ' Acquire SBC Watchdog Timer' CONFIG_ACQUIRE_WDT
tristate ' Advantech SBC Watchdog Timer' CONFIG_ADVANTECH_WDT
+ if [ "$CONFIG_ARM" = "y" ]; then
+ dep_tristate ' DC21285 watchdog' CONFIG_21285_WATCHDOG $CONFIG_FOOTBRIDGE
+ dep_tristate ' NetWinder WB83C977 watchdog' CONFIG_977_WATCHDOG $CONFIG_ARCH_NETWINDER
+ dep_tristate ' SA1100 watchdog' CONFIG_SA1100_WATCHDOG $CONFIG_ARCH_SA1100
+ fi
tristate ' IB700 SBC Watchdog Timer' CONFIG_IB700_WDT
tristate ' SBC-60XX Watchdog Timer' CONFIG_60XX_WDT
tristate ' W83877F (EMACS) Watchdog Timer' CONFIG_W83877F_WDT
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- Makefile 2001/11/13 19:38:22 1.31
+++ Makefile 2001/11/23 04:10:15 1.32
@@ -133,6 +133,12 @@
obj-y += mwave/mwave.o
endif
+ifeq ($(CONFIG_ARCH_ACORN),y)
+mod-subdirs += ../acorn/char
+subdir-y += ../acorn/char
+obj-y += ../acorn/char/acorn-char.o
+endif
+
include $(TOPDIR)/Rules.make
fastdep:
Index: tty_io.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- tty_io.c 2001/11/13 19:38:22 1.37
+++ tty_io.c 2001/11/23 04:10:15 1.38
@@ -156,11 +156,7 @@
extern void tty3215_init(void);
extern void tub3270_con_init(void);
extern void tub3270_init(void);
-extern void rs285_console_init(void);
-extern void sa1100_rs_console_init(void);
-extern void ambauart_console_init(void);
-extern void clps711xuart_console_init(void);
-extern void anakin_console_init(void);
+extern void uart_console_init(void);
extern void sgi_serial_console_init(void);
extern void sci_console_init(void);
extern void tx3912_console_init(void);
@@ -2230,26 +2226,14 @@
#ifdef CONFIG_STDIO_CONSOLE
stdio_console_init();
#endif
-#ifdef CONFIG_SERIAL_21285_CONSOLE
- rs285_console_init();
-#endif
-#ifdef CONFIG_SERIAL_SA1100_CONSOLE
- sa1100_rs_console_init();
+#ifdef CONFIG_SERIAL_CORE_CONSOLE
+ uart_console_init();
#endif
#ifdef CONFIG_ARC_CONSOLE
arc_console_init();
#endif
-#ifdef CONFIG_SERIAL_AMBA_CONSOLE
- ambauart_console_init();
-#endif
#ifdef CONFIG_SERIAL_TX3912_CONSOLE
tx3912_console_init();
-#endif
-#ifdef CONFIG_SERIAL_CLPS711X_CONSOLE
- clps711xuart_console_init();
-#endif
-#ifdef CONFIG_SERIAL_ANAKIN_CONSOLE
- anakin_console_init();
#endif
}
|
|
From: James S. <jsi...@us...> - 2001-11-23 04:10:18
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv8882/drivers/video
Modified Files:
Config.in Makefile
Log Message:
Synced to ARM tree now that it is not against AC tree.
Index: Config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Config.in,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- Config.in 2001/11/22 12:56:48 1.54
+++ Config.in 2001/11/23 04:10:15 1.55
@@ -33,19 +33,23 @@
fi
fi
fi
- dep_tristate ' Cyber2000 support' CONFIG_FB_CYBER2000 $CONFIG_PCI
if [ "$CONFIG_ARM" = "y" ]; then
- dep_bool ' Acorn VIDC support' CONFIG_FB_ACORN $CONFIG_ARCH_ACORN
- dep_bool ' Anakin LCD support' CONFIG_FB_ANAKIN $CONFIG_ARCH_ANAKIN
- dep_bool ' SA-1100 LCD support' CONFIG_FB_SA1100 $CONFIG_ARCH_SA1100
- dep_bool ' Anakin LCD support' CONFIG_FB_ANAKIN $CONFIG_ARCH_ANAKIN
- if [ "$CONFIG_FB_SA1100" = "y" -a "$CONFIG_SA1100_CERF" = "y" ]; then
- choice 'CerfBoard LCD Display Size' \
- "3.8 CONFIG_CERF_LCD_38_A \
- 5.7 CONFIG_CERF_LCD_57_A \
- 7.2 CONFIG_CERF_LCD_72_A" 5.7
- fi
- fi
+ dep_bool ' Acorn VIDC support' CONFIG_FB_ACORN $CONFIG_ARCH_ACORN
+ dep_bool ' Anakin LCD support' CONFIG_FB_ANAKIN $CONFIG_ARCH_ANAKIN
+ dep_bool ' CLPS711X LCD support' CONFIG_FB_CLPS711X $CONFIG_ARCH_CLPS711X
+ dep_bool ' SA-1100 LCD support' CONFIG_FB_SA1100 $CONFIG_ARCH_SA1100
+ if [ "$CONFIG_FB_SA1100" = "y" -a "$CONFIG_SA1100_CERF" = "y" ]; then
+ choice 'CerfBoard LCD Display Size' \
+ "3.8_Color CONFIG_CERF_LCD_38_A \
+ 3.8_Mono CONFIG_CERF_LCD_38_B \
+ 5.7 CONFIG_CERF_LCD_57_A \
+ 7.2 CONFIG_CERF_LCD_72_A" 5.7
+ fi
+ if [ "$CONFIG_FB_SA1100" = "y" -a "$CONFIG_SA1100_CERF_CPLD" = "y" ]; then
+ bool 'Cerfboard Backlight (CerfPDA)' CONFIG_SA1100_CERF_LCD_BACKLIGHT
+ fi
+ fi
+ dep_tristate ' CyberPro 2000/2010/5000 support' CONFIG_FB_CYBER2000 $CONFIG_PCI
if [ "$CONFIG_APOLLO" = "y" ]; then
define_bool CONFIG_FB_APOLLO y
fi
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Makefile,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- Makefile 2001/11/22 13:09:04 1.43
+++ Makefile 2001/11/23 04:10:15 1.44
@@ -1,5 +1,5 @@
# Makefile for the Linux video drivers.
-# 5 Aug 1999, James Simmons, <mailto:jsi...@ed...>
+# 5 Aug 1999, James Simmons, <mailto:jsi...@tr...>
# Rewritten to use lists instead of if-statements.
O_TARGET := video.o
|
|
From: James S. <jsi...@us...> - 2001-11-23 04:10:17
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv8882/arch/arm/kernel
Modified Files:
setup.c
Log Message:
Synced to ARM tree now that it is not against AC tree.
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- setup.c 2001/11/02 00:57:43 1.5
+++ setup.c 2001/11/23 04:10:15 1.6
@@ -1,7 +1,7 @@
/*
* linux/arch/arm/kernel/setup.c
*
- * Copyright (C) 1995-2000 Russell King
+ * Copyright (C) 1995-2001 Russell King
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -15,6 +15,7 @@
#include <linux/utsname.h>
#include <linux/blk.h>
#include <linux/bootmem.h>
+#include <linux/seq_file.h>
#include <linux/init.h>
#include <asm/elf.h>
@@ -521,59 +522,54 @@
"edsp",
NULL
};
-
-/*
- * get_cpuinfo - Get information on one CPU for use by the procfs.
- *
- * Prints info on the next CPU into buffer. Beware, doesn't check for
- * buffer overflow. Current implementation of procfs assumes that the
- * resulting data is <= 1K.
- *
- * Args:
- * buffer -- you guessed it, the data buffer
- * cpu_np -- Input: next cpu to get (start at 0). Output: Updated.
- *
- * Returns number of bytes written to buffer.
- */
-int get_cpuinfo(char *buffer, unsigned *cpu_np)
+static int c_show(struct seq_file *m, void *v)
{
- char *p = buffer;
- unsigned n;
int i;
-
- /* No SMP at the moment, so just toggle 0/1 */
- n = *cpu_np;
- *cpu_np = 1;
- if (n != 0) {
- return (0);
- }
- p += sprintf(p, "Processor\t: %s %s rev %d (%s)\n",
- proc_info.manufacturer, proc_info.cpu_name,
- (int)processor_id & 15, elf_platform);
+ seq_printf(m, "Processor\t: %s %s rev %d (%s)\n",
+ proc_info.manufacturer, proc_info.cpu_name,
+ (int)processor_id & 15, elf_platform);
- p += sprintf(p, "BogoMIPS\t: %lu.%02lu\n",
- loops_per_jiffy / (500000/HZ),
- (loops_per_jiffy / (5000/HZ)) % 100);
+ seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
+ loops_per_jiffy / (500000/HZ),
+ (loops_per_jiffy / (5000/HZ)) % 100);
/* dump out the processor features */
- p += sprintf(p, "Features\t: ");
+ seq_puts(m, "Features\t: ");
for (i = 0; hwcap_str[i]; i++)
if (elf_hwcap & (1 << i))
- p += sprintf(p, "%s ", hwcap_str[i]);
+ seq_printf(m, "%s ", hwcap_str[i]);
- p += sprintf(p, "\n\n");
+ seq_puts(m, "\n\n");
- p += sprintf(p, "Hardware\t: %s\n", machine_name);
+ seq_printf(m, "Hardware\t: %s\n", machine_name);
+ seq_printf(m, "Revision\t: %04x\n", system_rev);
+ seq_printf(m, "Serial\t\t: %08x%08x\n",
+ system_serial_high, system_serial_low);
- p += sprintf(p, "Revision\t: %04x\n",
- system_rev);
+ return 0;
+}
- p += sprintf(p, "Serial\t\t: %08x%08x\n",
- system_serial_high,
- system_serial_low);
+static void *c_start(struct seq_file *m, loff_t *pos)
+{
+ return *pos < 1 ? (void *)1 : NULL;
+}
- return p - buffer;
+static void *c_next(struct seq_file *m, void *v, loff_t *pos)
+{
+ ++*pos;
+ return NULL;
}
+
+static void c_stop(struct seq_file *m, void *v)
+{
+}
+
+struct seq_operations cpuinfo_op = {
+ start: c_start,
+ next: c_next,
+ stop: c_stop,
+ show: c_show
+};
|
|
From: James S. <jsi...@us...> - 2001-11-23 01:46:11
|
Update of /cvsroot/linuxconsole/ruby/linux/include/linux
In directory usw-pr-cvs1:/tmp/cvs-serv21201
Modified Files:
serial_core.h
Log Message:
Synced to Russell Kings latest work. Okay tonight I will work on it.
Index: serial_core.h
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/serial_core.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- serial_core.h 2001/11/06 21:56:05 1.8
+++ serial_core.h 2001/11/23 01:46:07 1.9
@@ -66,7 +66,7 @@
struct uart_ops {
u_int (*tx_empty)(struct uart_port *);
void (*set_mctrl)(struct uart_port *, u_int mctrl);
- int (*get_mctrl)(struct uart_port *);
+ u_int (*get_mctrl)(struct uart_port *);
void (*stop_tx)(struct uart_port *, u_int from_tty);
void (*start_tx)(struct uart_port *, u_int nonempty, u_int from_tty);
void (*stop_rx)(struct uart_port *);
|
|
From: James S. <jsi...@us...> - 2001-11-23 01:44:35
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/serial
In directory usw-pr-cvs1:/tmp/cvs-serv20909
Modified Files:
ChangeLog serial_8250.c serial_8250_pci.c serial_amba.c
serial_anakin.c serial_clps711x.c serial_core.c
serial_sa1100.c serial_uart00.c
Log Message:
Synced to Russell Kings latest work. Okay tonight I will work on it.
Index: ChangeLog
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ChangeLog 2001/11/13 20:30:44 1.1
+++ ChangeLog 2001/11/23 01:44:32 1.2
@@ -1,4 +1,4 @@
-2001-11-13 James Simmons <jsi...@tr...>
+2001-11-22 James Simmons <jsi...@tr...>
* Final port of Russell King's code. Today we are going to
* start working on a better api for 2.5.
Index: serial_8250.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_8250.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- serial_8250.c 2001/11/01 21:38:35 1.9
+++ serial_8250.c 2001/11/23 01:44:33 1.10
@@ -320,11 +320,12 @@
}
/*
- * We check for a XR16C850 by setting DLL and DLM to 0, and
- * then reading back DLL and DLM. If DLM reads back 0x10,
- * then the UART is a XR16C850 and the DLL contains the chip
- * revision. If DLM reads back 0x14, then the UART is a
- * XR16C854.
+ * We check for a XR16C850 by setting DLL and DLM to 0, and then
+ * reading back DLL and DLM. The chip type depends on the DLM
+ * value read back:
+ * 0x10 - XR16C850 and the DLL contains the chip revision.
+ * 0x12 - XR16C2850.
+ * 0x14 - XR16C854.
*/
/* Save the DLL and DLM */
@@ -339,7 +340,7 @@
scratch = serial_inp(port, UART_DLM);
serial_outp(port, UART_LCR, 0);
- if (scratch == 0x10 || scratch == 0x14) {
+ if (scratch == 0x10 || scratch == 0x12 || scratch == 0x14) {
if (scratch == 0x10)
port->port_rev = scratch2;
port->type = PORT_16850;
@@ -1021,11 +1022,11 @@
return serial_in(port, UART_LSR) & UART_LSR_TEMT ? TIOCSER_TEMT : 0;
}
-static int serial8250_get_mctrl(struct uart_port *port)
+static u_int serial8250_get_mctrl(struct uart_port *port)
{
unsigned long flags;
unsigned char status;
- int ret;
+ unsigned int ret;
save_flags(flags); cli();
status = serial_in(port, UART_MSR);
@@ -1420,10 +1421,16 @@
* For a XR16C850, we need to set the trigger levels
*/
if (port->type == PORT_16850) {
- serial_outp(port, UART_FCTR, UART_FCTR_TRGD |
+ unsigned char fctr;
+
+ fctr = serial_inp(port, UART_FCTR) &
+ ~(UART_FCTR_RX | UART_FCTR_TX);
+ serial_outp(port, UART_FCTR, fctr |
+ UART_FCTR_TRGD |
UART_FCTR_RX);
serial_outp(port, UART_TRG, UART_TRG_96);
- serial_outp(port, UART_FCTR, UART_FCTR_TRGD |
+ serial_outp(port, UART_FCTR, fctr |
+ UART_FCTR_TRGD |
UART_FCTR_TX);
serial_outp(port, UART_TRG, UART_TRG_96);
}
Index: serial_8250_pci.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_8250_pci.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- serial_8250_pci.c 2001/11/01 21:38:35 1.9
+++ serial_8250_pci.c 2001/11/23 01:44:33 1.10
@@ -1045,11 +1045,13 @@
pbn_dci_pccom8 },
#endif
- { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
- PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xffff00, },
- { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
- PCI_CLASS_COMMUNICATION_MODEM << 8, 0xffff00, },
- { 0, }
+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
+ PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xffff00, },
+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
+ PCI_CLASS_COMMUNICATION_MODEM << 8, 0xffff00, },
+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
+ PCI_CLASS_COMMUNICATION_MULTISERIAL << 8, 0xffff00, },
+ { 0, }
};
static struct pci_driver serial_pci_driver = {
Index: serial_amba.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_amba.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- serial_amba.c 2001/11/01 21:38:35 1.8
+++ serial_amba.c 2001/11/23 01:44:33 1.9
@@ -344,7 +344,7 @@
return UART_GET_FR(port) & AMBA_UARTFR_BUSY ? 0 : TIOCSER_TEMT;
}
-static int ambauart_get_mctrl(struct uart_port *port)
+static u_int ambauart_get_mctrl(struct uart_port *port)
{
unsigned int result = 0;
unsigned int status;
Index: serial_anakin.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_anakin.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- serial_anakin.c 2001/11/01 21:38:58 1.1
+++ serial_anakin.c 2001/11/23 01:44:33 1.2
@@ -225,7 +225,7 @@
return anakin_in(port, 0x10) & TXEMPTY ? TIOCSER_TEMT : 0;
}
-static int
+static u_int
anakin_get_mctrl(struct uart_port *port)
{
unsigned int status = 0;
Index: serial_clps711x.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_clps711x.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- serial_clps711x.c 2001/11/01 21:38:35 1.8
+++ serial_clps711x.c 2001/11/23 01:44:33 1.9
@@ -255,7 +255,7 @@
return status & SYSFLG_UBUSY ? 0 : TIOCSER_TEMT;
}
-static int clps711xuart_get_mctrl(struct uart_port *port)
+static u_int clps711xuart_get_mctrl(struct uart_port *port)
{
unsigned int port_addr;
unsigned int result = 0;
Index: serial_core.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_core.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- serial_core.c 2001/11/06 21:56:04 1.15
+++ serial_core.c 2001/11/23 01:44:33 1.16
@@ -1393,6 +1393,7 @@
/*
* In 2.4.5, calls to uart_open are serialised by the BKL in
* linux/fs/devices.c:chrdev_open()
+ * Note that if this fails, then uart_close() _will_ be called.
*/
static int uart_open(struct tty_struct *tty, struct file *filp)
{
@@ -1416,12 +1417,17 @@
if (!info)
goto out;
+ /*
+ * Set the tty driver_data. If we fail from this point on,
+ * the generic tty layer will cause uart_close(), which will
+ * decrement the module use count.
+ */
tty->driver_data = info;
info->tty = tty;
info->tty->low_latency = (info->flags & ASYNC_LOW_LATENCY) ? 1 : 0;
if (uart_alloc_tmpbuf())
- goto out;
+ goto fail;
/*
* If the port is in the middle of closing, bail out now.
@@ -1432,7 +1438,7 @@
interruptible_sleep_on(&info->close_wait);
retval = (info->flags & ASYNC_HUP_NOTIFY) ?
-EAGAIN : -ERESTARTSYS;
- goto out;
+ goto fail;
}
/*
@@ -1451,11 +1457,11 @@
*/
retval = uart_startup(info);
if (retval)
- goto out;
+ goto fail;
retval = uart_block_til_ready(tty, filp, info);
if (retval)
- goto out;
+ goto fail;
if (info->state->count == 1) {
int changed_termios = 0;
Index: serial_sa1100.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_sa1100.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- serial_sa1100.c 2001/11/01 21:38:35 1.13
+++ serial_sa1100.c 2001/11/23 01:44:33 1.14
@@ -311,7 +311,7 @@
return UART_GET_UTSR1(port) & UTSR1_TBY ? 0 : TIOCSER_TEMT;
}
-static int sa1100_get_mctrl(struct uart_port *port)
+static u_int sa1100_get_mctrl(struct uart_port *port)
{
return TIOCM_CTS | TIOCM_DSR | TIOCM_CAR;
}
Index: serial_uart00.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/serial/serial_uart00.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- serial_uart00.c 2001/11/01 21:38:58 1.1
+++ serial_uart00.c 2001/11/23 01:44:33 1.2
@@ -363,7 +363,7 @@
return UART_GET_TSR(port) & UART_TSR_TX_LEVEL_MSK? 0 : TIOCSER_TEMT;
}
-static int uart00_get_mctrl(struct uart_port *port)
+static u_int uart00_get_mctrl(struct uart_port *port)
{
unsigned int result = 0;
unsigned int status;
|
|
From: James S. <jsi...@us...> - 2001-11-23 01:30:33
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv18836
Modified Files:
aty128fb.c
Log Message:
Removed more useless things.
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- aty128fb.c 2001/11/22 18:00:42 1.19
+++ aty128fb.c 2001/11/23 01:30:30 1.20
@@ -203,18 +203,12 @@
static const struct aty128_meminfo ddr_sgram =
{ 4, 4, 3, 3, 2, 3, 1, 16, 31, 16, "64-bit DDR SGRAM" };
-static char fontname[40] __initdata = { 0 };
-
static int noaccel __initdata = 0;
static char *mode __initdata = NULL;
static int nomtrr __initdata = 0;
static const char *mode_option __initdata = NULL;
-#ifdef CONFIG_MTRR
-static int mtrr = 1;
-#endif
-
/* PLL constants */
struct aty128_constants {
u32 dotclock;
@@ -249,9 +243,6 @@
/* register values for a specific mode */
struct aty128fb_par {
-#ifdef CONFIG_MTRR
- struct { int vram; int vram_valid; } mtrr;
-#endif
struct aty128_constants constants; /* PLL and others */
const struct aty128_meminfo *mem; /* onboard mem info */
struct aty128_ddafifo fifo_reg;
@@ -1108,11 +1099,6 @@
} else if (!strncmp(this_opt, "noaccel", 7)) {
noaccel = 1;
}
-#ifdef CONFIG_MTRR
- else if(!strncmp(this_opt, "nomtrr", 6)) {
- mtrr = 0;
- }
-#endif
else
mode_option = this_opt;
}
@@ -1340,17 +1326,6 @@
if (!aty128_init(info, pdev, "PCI"))
goto err_out;
-
-#ifdef CONFIG_MTRR
- if (mtrr) {
- default_par.mtrr.vram = mtrr_add(info->fix.smem_start,
- info->fix.smem_len, MTRR_TYPE_WRCOMB, 1);
- default_par.mtrr.vram_valid = 1;
- /* let there be speed */
- printk(KERN_INFO "aty128fb: Rage128 MTRR set to ON\n");
- }
-#endif /* CONFIG_MTRR */
-
return 0;
err_out:
@@ -1737,14 +1712,8 @@
MODULE_DESCRIPTION("FBDev driver for ATI Rage128 / Pro cards");
MODULE_PARM(noaccel, "i");
MODULE_PARM_DESC(noaccel, "Disable hardware acceleration (0 or 1=disabled) (default=0)");
-MODULE_PARM(font, "s");
-MODULE_PARM_DESC(font, "Specify one of the compiled-in fonts (default=none)");
MODULE_PARM(mode, "s");
MODULE_PARM_DESC(mode, "Specify resolution as \"<xres>x<yres>[-<bpp>][@<refresh>]\" ");
-#ifdef CONFIG_MTRR
-MODULE_PARM(nomtrr, "i");
-MODULE_PARM_DESC(nomtrr, "Disable MTRR support (0 or 1=disabled) (default=0)");
-#endif
int __init
init_module(void)
@@ -1753,20 +1722,10 @@
noaccel = 1;
printk(KERN_INFO "aty128fb: Parameter NOACCEL set\n");
}
- if (font) {
- strncpy(fontname, font, sizeof(fontname)-1);
- printk(KERN_INFO "aty128fb: Parameter FONT set to %s\n", font);
- }
if (mode) {
mode_option = mode;
printk(KERN_INFO "aty128fb: Parameter MODE set to %s\n", mode);
}
-#ifdef CONFIG_MTRR
- if (nomtrr) {
- mtrr = 0;
- printk(KERN_INFO "aty128fb: Parameter NOMTRR set\n");
- }
-#endif
aty128fb_init();
return 0;
}
@@ -1784,12 +1743,8 @@
par = info->par;
unregister_framebuffer(&info);
-#ifdef CONFIG_MTRR
- if (par->mtrr.vram_valid)
- mtrr_del(par->mtrr.vram, info->fix.smem_start,
- info->fix.smem_len);
-#endif /* CONFIG_MTRR */
- iounmap(par->regbase);
+
+ iounmap(par->regbase);
iounmap(info->screen_base);
release_mem_region(pci_resource_start(par->pdev, 0),
|
|
From: James S. <jsi...@us...> - 2001-11-23 01:29:46
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/aty In directory usw-pr-cvs1:/tmp/cvs-serv18687 Modified Files: mach64_cursor.c Log Message: malloc.h musyt die. Index: mach64_cursor.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty/mach64_cursor.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- mach64_cursor.c 2001/09/09 16:36:34 1.3 +++ mach64_cursor.c 2001/11/23 01:29:43 1.4 @@ -3,7 +3,7 @@ * ATI Mach64 CT/VT/GT/LT Cursor Support */ -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/console.h> #include <linux/fb.h> #include <linux/init.h> |
|
From: James S. <jsi...@us...> - 2001-11-23 01:28:21
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/aty
In directory usw-pr-cvs1:/tmp/cvs-serv18029
Modified Files:
atyfb_base.c
Log Message:
Removed missed strsep change. I need to port this over but my Mach 64 card is nto supported :-(
Index: atyfb_base.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty/atyfb_base.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- atyfb_base.c 2001/11/22 12:56:49 1.9
+++ atyfb_base.c 2001/11/23 01:28:18 1.10
@@ -2494,7 +2494,7 @@
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;
|
|
From: James S. <jsi...@us...> - 2001-11-23 01:26:16
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv17457
Modified Files:
offb.c
Log Message:
Removed check_var. We no longer need it for frmaebuffers that can't change modes.
Index: offb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/offb.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- offb.c 2001/11/22 12:56:49 1.14
+++ offb.c 2001/11/23 01:26:13 1.15
@@ -58,7 +58,6 @@
*/
int offb_init(void);
-static int offb_check_var(struct fb_var_screeninfo *var, struct fb_info *info);
static int offb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
u_int transp, struct fb_info *info);
static int offb_blank(int blank, struct fb_info *info);
@@ -77,28 +76,12 @@
static struct fb_ops offb_ops = {
owner: THIS_MODULE,
- fb_check_var: offb_check_var,
fb_setcolreg: offb_setcolreg,
fb_blank: offb_blank,
fb_fillrect: cfb_fillrect,
fb_copyarea: cfb_copyarea,
fb_imageblit: cfb_imageblit,
};
-
- /*
- * Set the User Defined Part of the Display
- */
-
-static int offb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
-{
- if (var->xres > info->var.xres || var->yres > info->var.yres ||
- var->xres_virtual > info->var.xres_virtual || var->nonstd ||
- var->yres_virtual > info->var.yres_virtual ||
- var->bits_per_pixel > info->var.bits_per_pixel ||
- (var->vmode & FB_VMODE_MASK) != FB_VMODE_NONINTERLACED)
- return -EINVAL;
- return 0;
-}
/*
* Initialisation
|
|
From: James S. <jsi...@us...> - 2001-11-23 01:25:48
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv17329
Modified Files:
vesafb.c
Log Message:
Removed old mtrr stuff and removed check_var. we no longer need it for frmaebuffers that can't change modes.
Index: vesafb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/vesafb.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- vesafb.c 2001/10/08 02:27:09 1.17
+++ vesafb.c 2001/11/23 01:25:45 1.18
@@ -21,7 +21,6 @@
#include <linux/init.h>
#include <asm/io.h>
-#include <asm/mtrr.h>
#define dac_reg (0x3c8)
#define dac_val (0x3c9)
@@ -56,7 +55,6 @@
static u32 pseudo_palette[17];
static int inverse = 0;
-static int mtrr = 0;
static int pmi_setpal = 0; /* pmi for palette changes ??? */
static int ypan = 0; /* 0..nothing, 1..ypan, 2..ywrap */
static unsigned short *pmi_base = 0;
@@ -65,18 +63,6 @@
/* --------------------------------------------------------------------- */
-static int vesafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
-{
-/*
- if (var->yres_virtual < video_height_virtual ||
- var->yres_virtual > info->var.yres)
- return 0;
- printk(KERN_ERR "Vesafb does not support changing the video mode\n");
- return -EINVAL;
-*/
- return 0;
-}
-
static int vesafb_pan_display(struct fb_var_screeninfo *var,
struct fb_info *info)
{
@@ -188,7 +174,6 @@
static struct fb_ops vesafb_ops = {
owner: THIS_MODULE,
- fb_check_var: vesafb_check_var,
fb_setcolreg: vesafb_setcolreg,
fb_pan_display: vesafb_pan_display,
fb_fillrect: cfb_fillrect,
@@ -218,8 +203,6 @@
pmi_setpal=0;
else if (! strcmp(this_opt, "pmipal"))
pmi_setpal=1;
- else if (! strcmp(this_opt, "mtrr"))
- mtrr=1;
}
return 0;
}
@@ -364,13 +347,6 @@
* region already (FIXME) */
request_region(0x3c0, 32, "vesafb");
- if (mtrr) {
- int temp_size = video_size;
- while (mtrr_add(video_base, temp_size, MTRR_TYPE_WRCOMB, 1)==-EINVAL) {
- temp_size >>= 1;
- }
- }
-
fb_info.node = -1;
fb_info.fbops = &vesafb_ops;
fb_info.var = vesafb_defined;
|
|
From: Franz S. <fs...@us...> - 2001-11-22 18:00:46
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv27651
Modified Files:
aty128fb.c fbcon.c macmodes.c
Log Message:
Delete vmode/cmode handling in aty128fb. Some minor fixes.
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- aty128fb.c 2001/11/22 13:11:51 1.18
+++ aty128fb.c 2001/11/22 18:00:42 1.19
@@ -211,11 +211,6 @@
static const char *mode_option __initdata = NULL;
-#ifdef CONFIG_PPC
-static int default_vmode __initdata = VMODE_1024_768_60;
-static int default_cmode __initdata = CMODE_8;
-#endif
-
#ifdef CONFIG_MTRR
static int mtrr = 1;
#endif
@@ -1118,30 +1113,6 @@
mtrr = 0;
}
#endif
-#ifdef CONFIG_PPC
- /* vmode and cmode depreciated */
- else if (!strncmp(this_opt, "vmode:", 6)) {
- unsigned int vmode = simple_strtoul(this_opt+6, NULL, 0);
- if (vmode > 0 && vmode <= VMODE_MAX)
- default_vmode = vmode;
- } else if (!strncmp(this_opt, "cmode:", 6)) {
- unsigned int cmode = simple_strtoul(this_opt+6, NULL, 0);
- switch (cmode) {
- case 0:
- case 8:
- default_cmode = CMODE_8;
- break;
- case 15:
- case 16:
- default_cmode = CMODE_16;
- break;
- case 24:
- case 32:
- default_cmode = CMODE_32;
- break;
- }
- }
-#endif /* CONFIG_PPC */
else
mode_option = this_opt;
}
@@ -1191,15 +1162,6 @@
if (_machine == _MACH_Pmac) {
if (mode_option) {
if (!mac_find_mode(&var, info, mode_option, 8))
- var = default_var;
- } else {
- if (default_vmode <= 0 || default_vmode > VMODE_MAX)
- default_vmode = VMODE_1024_768_60;
-
- if (default_cmode < CMODE_8 || default_cmode > CMODE_32)
- default_cmode = CMODE_8;
-
- if (mac_vmode_to_var(default_vmode, default_cmode, &var))
var = default_var;
}
} else
Index: fbcon.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/fbcon.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- fbcon.c 2001/11/07 10:19:20 1.57
+++ fbcon.c 2001/11/22 18:00:42 1.58
@@ -170,7 +170,7 @@
if (!options || !*options)
return 0;
- while (this_opt = strsep(&options, ",")) {
+ while ((this_opt = strsep(&options, ","))) {
if (!strncmp(this_opt, "font:", 5))
strcpy(fontname, this_opt+5);
}
Index: macmodes.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/macmodes.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- macmodes.c 2001/11/22 12:56:49 1.2
+++ macmodes.c 2001/11/22 18:00:42 1.3
@@ -380,6 +380,7 @@
unsigned int dbsize = 0;
if (mode_option && !strncmp(mode_option, "mac", 3)) {
+ mode_option += 3;
db = mac_modedb;
dbsize = sizeof(mac_modedb)/sizeof(*mac_modedb);
}
|
|
From: Franz S. <fs...@us...> - 2001-11-22 13:11:54
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv11608
Modified Files:
aty128fb.c
Log Message:
Arrgh.
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- aty128fb.c 2001/11/22 13:09:59 1.17
+++ aty128fb.c 2001/11/22 13:11:51 1.18
@@ -1190,7 +1190,7 @@
#ifdef CONFIG_PPC
if (_machine == _MACH_Pmac) {
if (mode_option) {
- if (!mac_find_mode(&var, &info, mode_option, 8))
+ if (!mac_find_mode(&var, info, mode_option, 8))
var = default_var;
} else {
if (default_vmode <= 0 || default_vmode > VMODE_MAX)
|
|
From: Franz S. <fs...@us...> - 2001-11-22 13:10:02
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv11077
Modified Files:
aty128fb.c
Log Message:
Typo fix.
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- aty128fb.c 2001/11/22 12:56:48 1.16
+++ aty128fb.c 2001/11/22 13:09:59 1.17
@@ -1190,7 +1190,7 @@
#ifdef CONFIG_PPC
if (_machine == _MACH_Pmac) {
if (mode_option) {
- if (!mac_find_mode(&var, &info-> mode_option, 8))
+ if (!mac_find_mode(&var, &info, mode_option, 8))
var = default_var;
} else {
if (default_vmode <= 0 || default_vmode > VMODE_MAX)
|
|
From: Franz S. <fs...@us...> - 2001-11-22 13:09:06
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv10942 Modified Files: Makefile Log Message: Update obj-$(CONFIG_FB_ATY128). Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Makefile,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- Makefile 2001/10/06 16:11:13 1.42 +++ Makefile 2001/11/22 13:09:04 1.43 @@ -42,7 +42,7 @@ obj-$(CONFIG_FB_APOLLO) += dnfb.o obj-$(CONFIG_FB_Q40) += q40fb.o obj-$(CONFIG_FB_ATARI) += atafb.o -obj-$(CONFIG_FB_ATY128) += aty128fb.o +obj-$(CONFIG_FB_ATY128) += aty128fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_RADEON) += radeonfb.o obj-$(CONFIG_FB_IGA) += igafb.o obj-$(CONFIG_FB_CONTROL) += controlfb.o |
|
From: Franz S. <fs...@us...> - 2001-11-22 12:56:54
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv8040
Modified Files:
Config.in aty128fb.c macmodes.c offb.c
Log Message:
Delete CONFIG_FB_COMPAT_XPMAC, so it doesn't leak into 2.5.\naty128fb gcc3 fix.
Index: Config.in
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/Config.in,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- Config.in 2001/10/29 00:11:00 1.53
+++ Config.in 2001/11/22 12:56:48 1.54
@@ -76,7 +76,6 @@
fi
fi
if [ "$CONFIG_PPC" = "y" ]; then
- bool 'Backward compatibility mode for Xpmac' CONFIG_FB_COMPAT_XPMAC
bool ' Open Firmware frame buffer device support' CONFIG_FB_OF
bool ' Apple "control" display support' CONFIG_FB_CONTROL
bool ' Apple "platinum" display support' CONFIG_FB_PLATINUM
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- aty128fb.c 2001/11/21 00:49:48 1.15
+++ aty128fb.c 2001/11/22 12:56:48 1.16
@@ -62,10 +62,6 @@
#include <asm/backlight.h>
#endif
-#ifdef CONFIG_FB_COMPAT_XPMAC
-#include <asm/vc_ioctl.h>
-#endif
-
#ifdef CONFIG_MTRR
#include <asm/mtrr.h>
#endif
@@ -141,7 +137,7 @@
};
/* supported Rage128 chipsets */
-static const struct aty128_chip_info aty128_pci_probe_list[] __initdata =
+static struct aty128_chip_info aty128_pci_probe_list[] __initdata =
{
{"Rage128 RE (PCI)", PCI_DEVICE_ID_ATI_RAGE128_RE, rage_128},
{"Rage128 RF (AGP)", PCI_DEVICE_ID_ATI_RAGE128_RF, rage_128},
@@ -1062,26 +1058,6 @@
info->fix.line_length = (info->var.xres_virtual * par->crtc.bpp) >> 3;
info->fix.visual = par->crtc.bpp <= 8 ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR;
-#ifdef CONFIG_FB_COMPAT_XPMAC
- if (!console_fb_info || console_fb_info == &info) {
- struct fb_var_screeninfo var;
- int cmode, vmode;
-
- display_info.height = ((par->crtc.v_total >> 16) & 0x7ff) + 1;
- display_info.width = (((par->crtc.h_total >> 16) & 0xff) + 1) << 3;
- display_info.depth = par->crtc.bpp;
- display_info.pitch = (info->var.xres_virtual * par->crtc.bpp) >> 3;
- if (mac_var_to_vmode(&var, &vmode, &cmode))
- display_info.mode = 0;
- else
- display_info.mode = vmode;
- strcpy(display_info.name, info->fix.id);
- display_info.fb_address = info->fix.smem_start;
- display_info.cmap_adr_address = 0;
- display_info.cmap_data_address = 0;
- display_info.disp_reg_address = info->mmio_start;
- }
-#endif /* CONFIG_FB_COMPAT_XPMAC */
return 0;
}
@@ -1412,11 +1388,6 @@
printk(KERN_INFO "aty128fb: Rage128 MTRR set to ON\n");
}
#endif /* CONFIG_MTRR */
-
-#ifdef CONFIG_FB_COMPAT_XPMAC
- if (!console_fb_info)
- console_fb_info = info;
-#endif
return 0;
Index: macmodes.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/macmodes.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- macmodes.c 2001/07/16 21:36:46 1.1
+++ macmodes.c 2001/11/22 12:56:49 1.2
@@ -20,10 +20,6 @@
#include <linux/fb.h>
#include <linux/string.h>
-#ifdef CONFIG_FB_COMPAT_XPMAC
-#include <asm/vc_ioctl.h>
-#endif
-
#include "fbcon.h"
#include <video/macmodes.h>
@@ -206,170 +202,6 @@
{ 0xBEEF, VMODE_1600_1024_60 }, /* 22" Apple Cinema Display */
{ -1, VMODE_640_480_60 }, /* catch-all, must be last */
};
-
-#ifdef CONFIG_FB_COMPAT_XPMAC
-struct fb_info *console_fb_info = NULL;
-struct vc_mode display_info;
-
-static u16 palette_red[16];
-static u16 palette_green[16];
-static u16 palette_blue[16];
-static struct fb_cmap palette_cmap = {
- 0, 16, palette_red, palette_green, palette_blue, NULL
-};
-
-
-/**
- * console_getmode - get current mode
- * @mode: virtual console mode structure
- *
- * Populates @mode with the current mode held in the global
- * display_info structure.
- *
- * Note, this function is only for XPMAC compatibility.
- *
- * Returns zero.
- */
-
-int console_getmode(struct vc_mode *mode)
-{
- *mode = display_info;
- return 0;
-}
-
-
-/**
- * console_setmode - sets current console mode
- * @mode: virtual console mode structure
- * @doit: boolean, 0 test mode, 1 test and activate mode
- *
- * Sets @mode for all virtual consoles if @doit is non-zero,
- * otherwise, test a mode for validity.
- *
- * Note, this function is only for XPMAC compatibility.
- *
- * Returns negative errno on error, or zero for success.
- *
- */
-
-int console_setmode(struct vc_mode *mode, int doit)
-{
- struct fb_var_screeninfo var;
- int cmode, err;
-
- if (!console_fb_info)
- return -EOPNOTSUPP;
-
- switch(mode->depth) {
- case 0:
- case 8:
- cmode = CMODE_8;
- break;
- case 16:
- cmode = CMODE_16;
- break;
- case 24:
- case 32:
- cmode = CMODE_32;
- break;
- default:
- return -EINVAL;
- }
-
- if ((err = mac_vmode_to_var(mode->mode, cmode, &var)))
- return err;
-
- var.activate = FB_ACTIVATE_TEST;
- err = console_fb_info->fbops->fb_set_var(&var, fg_console,
- console_fb_info);
- if (err || !doit)
- return err;
- else {
- int unit;
-
- var.activate = FB_ACTIVATE_NOW;
- for (unit = 0; unit < MAX_NR_CONSOLES; unit++)
- if (fb_display[unit].conp &&
- (GET_FB_IDX(console_fb_info->node) == con2fb_map[unit]))
- console_fb_info->fbops->fb_set_var(&var, unit,
- console_fb_info);
- }
-
- return 0;
-}
-
-
-/**
- * console_setcmap - sets palette color map for console
- * @n_entries: number of entries in the palette (max 16)
- * @red: value for red component of palette
- * @green: value for green component of palette
- * @blue: value for blue component of palette
- *
- * Sets global palette_cmap structure and activates the palette
- * on the current console.
- *
- * Note, this function is only for XPMAC compatibility.
- *
- * Returns negative errno on error, or zero for success.
- *
- */
-
-int console_setcmap(int n_entries, unsigned char *red, unsigned char *green,
- unsigned char *blue)
-{
- int i, j, n = 0, err;
-
- if (!console_fb_info)
- return -EOPNOTSUPP;
-
- for (i = 0; i < n_entries; i += n) {
- n = n_entries - i;
- if (n > 16)
- n = 16;
- palette_cmap.start = i;
- palette_cmap.len = n;
-
- for (j = 0; j < n; j++) {
- palette_cmap.red[j] = (red[i+j] << 8) | red[i+j];
- palette_cmap.green[j] = (green[i+j] << 8) | green[i+j];
- palette_cmap.blue[j] = (blue[i+j] << 8) | blue[i+j];
- }
- err = console_fb_info->fbops->fb_set_cmap(&palette_cmap, 1,
- fg_console,
- console_fb_info);
- if (err)
- return err;
- }
-
- return 0;
-}
-
-
-/**
- * console_powermode - sets monitor power mode
- * @mode: power state to set
- *
- * Sets power state as dictated by @mode.
- *
- * Note that this function is only for XPMAC compatibility and
- * doesn't do much.
- *
- * Returns 0 for %VC_POWERMODE_INQUIRY, -EINVAL for VESA power
- * settings, or -ENIXIO on failure.
- *
- */
-
-int console_powermode(int mode)
-{
- if (mode == VC_POWERMODE_INQUIRY)
- return 0;
- if (mode < VESA_NO_BLANKING || mode > VESA_POWERDOWN)
- return -EINVAL;
- /* Not Supported */
- return -ENXIO;
-}
-#endif /* CONFIG_FB_COMPAT_XPMAC */
/**
Index: offb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/offb.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- offb.c 2001/10/15 01:13:17 1.13
+++ offb.c 2001/11/22 12:56:49 1.14
@@ -26,9 +26,6 @@
#include <linux/fb.h>
#include <linux/init.h>
#include <linux/ioport.h>
-#ifdef CONFIG_FB_COMPAT_XPMAC
-#include <asm/vc_ioctl.h>
-#endif
#include <asm/io.h>
#include <asm/prom.h>
#ifdef CONFIG_BOOTX_TEXT
@@ -388,28 +385,6 @@
printk(KERN_INFO "fb%d: Open Firmware frame buffer device on %s\n",
GET_FB_IDX(info->node), full_name);
-#ifdef CONFIG_FB_COMPAT_XPMAC
- if (!console_fb_info) {
- display_info.height = var->yres;
- display_info.width = var->xres;
- display_info.depth = depth;
- display_info.pitch = fix->line_length;
- display_info.mode = 0;
- strncpy(display_info.name, name, sizeof(display_info.name));
- display_info.fb_address = address;
- display_info.cmap_adr_address = 0;
- display_info.cmap_data_address = 0;
- display_info.disp_reg_address = 0;
- /* XXX kludge for ati */
- if (par->cmap_type == cmap_m64) {
- unsigned long base = address & 0xff000000UL;
- display_info.disp_reg_address = base + 0x7ffc00;
- display_info.cmap_adr_address = base + 0x7ffcc0;
- display_info.cmap_data_address = base + 0x7ffcc1;
- }
- console_fb_info = info;
- }
-#endif /* CONFIG_FB_COMPAT_XPMAC) */
}
/*
|
|
From: Franz S. <fs...@us...> - 2001-11-22 12:56:54
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/aty
In directory usw-pr-cvs1:/tmp/cvs-serv8040/aty
Modified Files:
atyfb_base.c
Log Message:
Delete CONFIG_FB_COMPAT_XPMAC, so it doesn't leak into 2.5.\naty128fb gcc3 fix.
Index: atyfb_base.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty/atyfb_base.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- atyfb_base.c 2001/10/29 00:11:00 1.8
+++ atyfb_base.c 2001/11/22 12:56:49 1.9
@@ -91,9 +91,6 @@
#ifdef CONFIG_NVRAM
#include <linux/nvram.h>
#endif
-#ifdef CONFIG_FB_COMPAT_XPMAC
-#include <asm/vc_ioctl.h>
-#endif
#ifdef CONFIG_PMAC_BACKLIGHT
#include <asm/backlight.h>
#endif
@@ -799,26 +796,6 @@
if (par->accel_flags & FB_ACCELF_TEXT)
aty_init_engine(par, info);
-#ifdef CONFIG_FB_COMPAT_XPMAC
- if (!console_fb_info || console_fb_info == &info->fb_info) {
- struct fb_var_screeninfo var;
- int vmode, cmode;
- display_info.height = ((par->crtc.v_tot_disp>>16) & 0x7ff)+1;
- display_info.width = (((par->crtc.h_tot_disp>>16) & 0xff)+1)*8;
- display_info.depth = par->crtc.bpp;
- display_info.pitch = par->crtc.vxres*par->crtc.bpp/8;
- atyfb_encode_var(&var, par, info);
- if (mac_var_to_vmode(&var, &vmode, &cmode))
- display_info.mode = 0;
- else
- display_info.mode = vmode;
- strcpy(display_info.name, atyfb_name);
- display_info.fb_address = info->frame_buffer_phys;
- display_info.cmap_adr_address = info->ati_regbase_phys+0xc0;
- display_info.cmap_data_address = info->ati_regbase_phys+0xc1;
- display_info.disp_reg_address = info->ati_regbase_phys;
- }
-#endif /* CONFIG_FB_COMPAT_XPMAC */
}
static int atyfb_decode_var(const struct fb_var_screeninfo *var,
@@ -2449,10 +2426,6 @@
first_display = info;
#endif
-#ifdef CONFIG_FB_COMPAT_XPMAC
- if (!console_fb_info)
- console_fb_info = &info->fb_info;
-#endif /* CONFIG_FB_COMPAT_XPMAC */
}
}
|
|
From: James S. <jsi...@us...> - 2001-11-21 00:49:51
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv28213
Modified Files:
aty128fb.c
Log Message:
Ported over ati 128 driver to new api. Still mmio and non accelerated.
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- aty128fb.c 2001/11/20 23:25:48 1.14
+++ aty128fb.c 2001/11/21 00:49:48 1.15
@@ -40,8 +40,6 @@
#include <asm/uaccess.h>
#include <linux/fb.h>
#include <linux/init.h>
-#include <linux/selection.h>
-#include <linux/console.h>
#include <linux/pci.h>
#include <linux/ioport.h>
#include <asm/io.h>
@@ -68,12 +66,6 @@
#include <asm/vc_ioctl.h>
#endif
-#include <video/fbcon.h>
-#include <video/fbcon-cfb8.h>
-#include <video/fbcon-cfb16.h>
-#include <video/fbcon-cfb24.h>
-#include <video/fbcon-cfb32.h>
-
#ifdef CONFIG_MTRR
#include <asm/mtrr.h>
#endif
@@ -218,7 +210,6 @@
static char fontname[40] __initdata = { 0 };
static int noaccel __initdata = 0;
-static char *font __initdata = NULL;
static char *mode __initdata = NULL;
static int nomtrr __initdata = 0;
@@ -290,32 +281,13 @@
static struct fb_info_aty128 *board_list = NULL;
static u32 aty128fb_pseudo_palette[17];
-static struct display disp;
static struct aty128fb_par default_par;
-static struct fb_info info;
#define round_div(n, d) ((n+(d/2))/d)
/*
- * Interface used by the world
- */
-int aty128fb_init(void);
-int aty128fb_setup(char *options);
-
-static int aty128fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info);
-static int aty128fb_set_var(struct fb_var_screeninfo *var, int con,
- struct fb_info *info);
-static int aty128fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
- u_int transp, struct fb_info *info);
-static int aty128fb_pan_display(struct fb_var_screeninfo *var, int con,
- struct fb_info *fb);
-static void aty128fb_blank(int blank, struct fb_info *fb);
-
- /*
* Internal routines
*/
-static void aty128_set_dispsw(struct display *disp,
- struct fb_info *info);
static int aty128_pci_register(struct pci_dev *pdev,
const struct aty128_chip_info *aci);
static struct fb_info_aty128 *aty128_board_list_add(struct fb_info_aty128
@@ -334,48 +306,31 @@
static void wait_for_idle(struct aty128fb_par *par);
static u32 bpp_to_depth(u32 bpp);
-#ifdef FBCON_HAS_CFB8
-static struct display_switch fbcon_aty128_8;
-static void fbcon_aty8_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx);
-static void fbcon_aty8_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx);
-#endif
-#ifdef FBCON_HAS_CFB16
-static struct display_switch fbcon_aty128_16;
-static void fbcon_aty16_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx);
-static void fbcon_aty16_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx);
-#endif
-#ifdef FBCON_HAS_CFB24
-static struct display_switch fbcon_aty128_24;
-static void fbcon_aty24_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx);
-static void fbcon_aty24_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx);
-#endif
-#ifdef FBCON_HAS_CFB32
-static struct display_switch fbcon_aty128_32;
-static void fbcon_aty32_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx);
-static void fbcon_aty32_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx);
-#endif
+ /*
+ * Interface used by the world
+ */
+int aty128fb_init(void);
+int aty128fb_setup(char *options);
+static int aty128fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info);
+static int aty128fb_set_par(struct fb_info *info);
+static int aty128fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
+ u_int transp, struct fb_info *info);
+static int aty128fb_pan_display(struct fb_var_screeninfo *var,
+ struct fb_info *fb);
+static int aty128fb_blank(int blank, struct fb_info *fb);
+
+
static struct fb_ops aty128fb_ops = {
owner: THIS_MODULE,
+ fb_check_var: aty128fb_check_var,
+ fb_set_par: aty128fb_set_par,
fb_setcolreg: aty128fb_setcolreg,
- fb_get_fix: fbgen_get_fix,
- fb_get_var: fbgen_get_var,
- fb_set_var: aty128fb_set_var,
- fb_get_cmap: fbgen_get_cmap,
- fb_set_cmap: fbgen_set_cmap,
fb_pan_display: aty128fb_pan_display,
+ fb_blank: aty128fb_blank,
+ fb_fillrect: cfb_fillrect,
+ fb_copyarea: cfb_copyarea,
+ fb_imageblit: cfb_imageblit,
};
#ifdef CONFIG_PMAC_BACKLIGHT
@@ -1055,8 +1010,7 @@
/*
* This actually sets the video mode.
*/
-static void
-aty128_set_par(struct fb_info *info)
+static int aty128fb_set_par(struct fb_info *info)
{
struct aty128fb_par *par;
u32 config;
@@ -1128,96 +1082,7 @@
display_info.disp_reg_address = info->mmio_start;
}
#endif /* CONFIG_FB_COMPAT_XPMAC */
-}
-
- /*
- * Set the User Defined Part of the Display
- */
-
-static int
-aty128fb_set_var(struct fb_var_screeninfo *var, int con, struct fb_info *info)
-{
- struct display *display;
- int oldbpp, err;
-
- display = (con >= 0) ? &fb_display[con] : info->disp;
-
- if (memcmp(&info->var, var, sizeof(var)) || con < 0) {
- if ((err = aty128fb_check_var(var, info)))
- return err;
-
- if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) {
- oldbpp = display->var.bits_per_pixel;
-
- info->var = *var;
-
- aty128_set_par(info);
-
- display->screen_base = info->screen_base;
- display->var = *var;
- 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;
- display->can_soft_blank = 1;
- display->inverse = 0;
-
- aty128_set_dispsw(display, info);
-
- if (var->accel_flags & FB_ACCELF_TEXT)
- display->scrollmode = SCROLL_YNOMOVE;
- else
- display->scrollmode = SCROLL_YREDRAW;
-
- if (info->changevar)
- (*info->changevar)(con);
-
- if (oldbpp != var->bits_per_pixel) {
- if ((err = fb_alloc_cmap(&info->cmap, 0, 0)))
- return err;
- fb_set_cmap(&info->cmap, 1,
- info->fbops->fb_setcolreg, info);
- }
- }
- }
- return 0;
-}
-
-static void
-aty128_set_dispsw(struct display *disp, struct fb_info *info)
-{
- int accel = info->var.accel_flags & FB_ACCELF_TEXT;
-
- switch (info->var.bits_per_pixel) {
-#ifdef FBCON_HAS_CFB8
- case 8:
- disp->dispsw = accel ? &fbcon_aty128_8 : &fbcon_cfb8;
- break;
-#endif
-#ifdef FBCON_HAS_CFB16
- case 15:
- case 16:
- disp->dispsw = accel ? &fbcon_aty128_16 : &fbcon_cfb16;
- disp->dispsw_data = info->pseudo_palette;
- break;
-#endif
-#ifdef FBCON_HAS_CFB24
- case 24:
- disp->dispsw = accel ? &fbcon_aty128_24 : &fbcon_cfb24;
- disp->dispsw_data = info->pseudo_palette;
- break;
-#endif
-#ifdef FBCON_HAS_CFB32
- case 32:
- disp->dispsw = accel ? &fbcon_aty128_32 : &fbcon_cfb32;
- disp->dispsw_data = info->pseudo_palette;
- break;
-#endif
- default:
- disp->dispsw = &fbcon_dummy;
- }
+ return 0;
}
/*
@@ -1226,8 +1091,7 @@
* Not supported (yet!)
*/
static int
-aty128fb_pan_display(struct fb_var_screeninfo *var, int con,
- struct fb_info *info)
+aty128fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
{
struct aty128fb_par *par = (struct aty128fb_par *) info->par;
u32 xoffset, yoffset;
@@ -1342,15 +1206,8 @@
printk("%dk %s\n", info->fix.smem_len / 1024, default_par.mem->name);
/* fill in info */
- strcpy(info->modename, info->fix.id);
info->node = -1;
info->fbops = &aty128fb_ops;
- info->disp = &disp;
- strcpy(info->fontname, fontname);
- info->changevar = NULL;
- info->switch_con = &fbgen_switch;
- info->updatevar = NULL;
- info->blank = &aty128fb_blank;
info->flags = FBINFO_FLAG_DEFAULT;
var = default_var;
@@ -1399,9 +1256,6 @@
/* turn off bus mastering, just in case */
aty_st_le32(BUS_CNTL, aty_ld_le32(BUS_CNTL) | BUS_MASTER_DIS);
- aty128fb_set_var(&var, -1, info);
- aty128_init_engine(info);
-
//board_list = aty128_board_list_add(board_list, info);
if (register_framebuffer(info) < 0)
@@ -1505,8 +1359,6 @@
/* Copy PCI device info into info->pdev */
default_par.pdev = pdev;
- info->currcon = -1;
-
info->fix = aty128fb_fix;
/* Virtualize mmio region */
@@ -1753,8 +1605,7 @@
/*
* Blank the display.
*/
-static void
-aty128fb_blank(int blank, struct fb_info *info)
+static int aty128fb_blank(int blank, struct fb_info *info)
{
struct aty128fb_par *par = (struct aty128fb_par *) info->par;
u8 state = 0;
@@ -1777,6 +1628,7 @@
if ((_machine == _MACH_Pmac) && !blank)
set_backlight_enable(1);
#endif /* CONFIG_PMAC_BACKLIGHT */
+ return 0;
}
/*
@@ -1946,218 +1798,6 @@
aty_st_le32(DP_DATATYPE, save_dp_datatype);
aty_st_le32(DP_CNTL, save_dp_cntl);
}
-
- /*
- * Text mode accelerated functions
- */
-
-static void
-fbcon_aty128_bmove(struct display *p, int sy, int sx, int dy, int dx,
- int height, int width)
-{
- sx *= fontwidth(p);
- sy *= fontheight(p);
- dx *= fontwidth(p);
- dy *= fontheight(p);
- width *= fontwidth(p);
- height *= fontheight(p);
-
- aty128_rectcopy(sx, sy, dx, dy, width, height, p->fb_info);
-}
-
-
-#ifdef FBCON_HAS_CFB8
-static void fbcon_aty8_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb8_putc(conp, p, c, yy, xx);
-}
-
-
-static void fbcon_aty8_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb8_putcs(conp, p, s, count, yy, xx);
-}
-
-
-static void fbcon_aty8_clear_margins(struct vc_data *conp,
- struct display *p, int bottom_only)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb8_clear_margins(conp, p, bottom_only);
-}
-
-static struct display_switch fbcon_aty128_8 = {
- setup: fbcon_cfb8_setup,
- bmove: fbcon_aty128_bmove,
- clear: fbcon_cfb8_clear,
- putc: fbcon_aty8_putc,
- putcs: fbcon_aty8_putcs,
- revc: fbcon_cfb8_revc,
- clear_margins: fbcon_aty8_clear_margins,
- fontwidthmask: FONTWIDTH(4)|FONTWIDTH(8)|FONTWIDTH(12)|FONTWIDTH(16)
-};
-#endif
-#ifdef FBCON_HAS_CFB16
-static void fbcon_aty16_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb16_putc(conp, p, c, yy, xx);
-}
-
-
-static void fbcon_aty16_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb16_putcs(conp, p, s, count, yy, xx);
-}
-
-
-static void fbcon_aty16_clear_margins(struct vc_data *conp,
- struct display *p, int bottom_only)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb16_clear_margins(conp, p, bottom_only);
-}
-
-static struct display_switch fbcon_aty128_16 = {
- setup: fbcon_cfb16_setup,
- bmove: fbcon_aty128_bmove,
- clear: fbcon_cfb16_clear,
- putc: fbcon_aty16_putc,
- putcs: fbcon_aty16_putcs,
- revc: fbcon_cfb16_revc,
- clear_margins: fbcon_aty16_clear_margins,
- fontwidthmask: FONTWIDTH(4)|FONTWIDTH(8)|FONTWIDTH(12)|FONTWIDTH(16)
-};
-#endif
-#ifdef FBCON_HAS_CFB24
-static void fbcon_aty24_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb24_putc(conp, p, c, yy, xx);
-}
-
-
-static void fbcon_aty24_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb24_putcs(conp, p, s, count, yy, xx);
-}
-
-
-static void fbcon_aty24_clear_margins(struct vc_data *conp,
- struct display *p, int bottom_only)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb24_clear_margins(conp, p, bottom_only);
-}
-
-static struct display_switch fbcon_aty128_24 = {
- setup: fbcon_cfb24_setup,
- bmove: fbcon_aty128_bmove,
- clear: fbcon_cfb24_clear,
- putc: fbcon_aty24_putc,
- putcs: fbcon_aty24_putcs,
- revc: fbcon_cfb24_revc,
- clear_margins: fbcon_aty24_clear_margins,
- fontwidthmask: FONTWIDTH(4)|FONTWIDTH(8)|FONTWIDTH(12)|FONTWIDTH(16)
-};
-#endif
-#ifdef FBCON_HAS_CFB32
-static void fbcon_aty32_putc(struct vc_data *conp, struct display *p,
- int c, int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb32_putc(conp, p, c, yy, xx);
-}
-
-
-static void fbcon_aty32_putcs(struct vc_data *conp, struct display *p,
- const unsigned short *s, int count,
- int yy, int xx)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb32_putcs(conp, p, s, count, yy, xx);
-}
-
-
-static void fbcon_aty32_clear_margins(struct vc_data *conp,
- struct display *p, int bottom_only)
-{
- struct aty128fb_par *par = (struct aty128fb_par *) p->fb_info->par;
-
- if (par->blitter_may_be_busy)
- wait_for_idle(par);
-
- fbcon_cfb32_clear_margins(conp, p, bottom_only);
-}
-
-static struct display_switch fbcon_aty128_32 = {
- setup: fbcon_cfb32_setup,
- bmove: fbcon_aty128_bmove,
- clear: fbcon_cfb32_clear,
- putc: fbcon_aty32_putc,
- putcs: fbcon_aty32_putcs,
- revc: fbcon_cfb32_revc,
- clear_margins: fbcon_aty32_clear_margins,
- fontwidthmask: FONTWIDTH(4)|FONTWIDTH(8)|FONTWIDTH(12)|FONTWIDTH(16)
-};
-#endif
#ifdef MODULE
MODULE_AUTHOR("(c)1999-2000 Brad Douglas <br...@ne...>");
|
|
From: James S. <jsi...@us...> - 2001-11-20 23:25:51
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv9392
Modified Files:
aty128fb.c
Log Message:
Finally finished the transfer to using fbgen2.c. Now to finish it with using the new ruby fbdev api.
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- aty128fb.c 2001/11/20 14:58:19 1.13
+++ aty128fb.c 2001/11/20 23:25:48 1.14
@@ -270,29 +270,29 @@
#ifdef CONFIG_MTRR
struct { int vram; int vram_valid; } mtrr;
#endif
+ struct aty128_constants constants; /* PLL and others */
+ const struct aty128_meminfo *mem; /* onboard mem info */
struct aty128_ddafifo fifo_reg;
+ int blitter_may_be_busy;
struct aty128_crtc crtc;
struct aty128_pll pll;
#ifdef CONFIG_PCI
struct pci_dev *pdev;
[...1347 lines suppressed...]
+ while (list) {
+ info = list->fb_info;
+ list = list->next;
+ par = info->par;
+
+ unregister_framebuffer(&info);
#ifdef CONFIG_MTRR
if (par->mtrr.vram_valid)
- mtrr_del(par->mtrr.vram, info->fb_info.fix.smem_start,
- info->fb_info.fix.smem_len);
+ mtrr_del(par->mtrr.vram, info->fix.smem_start,
+ info->fix.smem_len);
#endif /* CONFIG_MTRR */
- iounmap(info->regbase);
- iounmap(info->fb_info.screen_base);
+ iounmap(par->regbase);
+ iounmap(info->screen_base);
release_mem_region(pci_resource_start(par->pdev, 0),
pci_resource_len(par->pdev, 0));
|
|
From: James S. <jsi...@us...> - 2001-11-20 14:58:23
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video
In directory usw-pr-cvs1:/tmp/cvs-serv9413
Modified Files:
aty128fb.c
Log Message:
More syncing. nearly done.
Index: aty128fb.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/aty128fb.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- aty128fb.c 2001/11/20 00:40:52 1.12
+++ aty128fb.c 2001/11/20 14:58:19 1.13
@@ -245,12 +245,12 @@
};
struct aty128_crtc {
- u32 gen_cntl;
- u32 ext_cntl;
u32 h_total, h_sync_strt_wid;
u32 v_total, v_sync_strt_wid;
- u32 pitch;
u32 offset, offset_cntl;
+ u32 gen_cntl;
+ u32 ext_cntl;
+ u32 pitch;
u32 bpp;
};
@@ -315,11 +315,8 @@
* Internal routines
*/
static void aty128_set_dispsw(struct display *disp,
- struct fb_info_aty128 *info, int bpp, int accel);
+ struct fb_info_aty128 *info, int accel);
static void do_install_cmap(int con, struct fb_info *info);
-static int aty128_decode_var(struct fb_var_screeninfo *var,
- struct aty128fb_par *par,
- struct fb_info_aty128 *info);
static int aty128_pci_register(struct pci_dev *pdev,
const struct aty128_chip_info *aci);
static struct fb_info_aty128 *aty128_board_list_add(struct fb_info_aty128
@@ -730,51 +727,26 @@
#endif
}
-
static int
aty128_var_to_crtc(const struct fb_var_screeninfo *var,
struct aty128_crtc *crtc,
const struct fb_info_aty128 *info)
{
- u32 bpp;
- u32 h_total, h_disp, h_sync_strt, h_sync_wid, h_sync_pol;
- u32 v_total, v_disp, v_sync_strt, v_sync_wid, v_sync_pol, c_sync;
- u32 depth, bytpp;
+ u32 h_total, h_disp, h_sync_strt, h_sync_wid, h_sync_pol, c_sync;
+ u32 v_total, v_disp, v_sync_strt, v_sync_wid, v_sync_pol;
u8 hsync_strt_pix[5] = { 0, 0x12, 9, 6, 5 };
u8 mode_bytpp[7] = { 0, 0, 1, 2, 2, 3, 4 };
-
- /* input */
- bpp = var->bits_per_pixel;
-
- /* convert bpp into ATI register depth */
- depth = bpp_to_depth(bpp);
-
- /* make sure we didn't get an invalid depth */
- if (depth == -EINVAL) {
- printk(KERN_ERR "aty128fb: Invalid depth\n");
- return -EINVAL;
- }
+ u32 depth, bytpp;
+ depth = bpp_to_depth(var->bits_per_pixel);
/* convert depth to bpp */
bytpp = mode_bytpp[depth];
- /* make sure there is enough video ram for the mode */
- if ((u32)(var->xres_virtual * var->yres_virtual * bytpp) > info->fb_info.fix.smem_len) {
- printk(KERN_ERR "aty128fb: Not enough memory for mode\n");
- return -EINVAL;
- }
-
- h_disp = (var->xres >> 3) - 1;
h_total = (((var->xres + var->right_margin + var->hsync_len + var->left_margin) >> 3) - 1) & 0xFFFFL;
-
- v_disp = var->yres - 1;
v_total = (var->yres + var->upper_margin + var->vsync_len + var->lower_margin - 1) & 0xFFFFL;
- /* check to make sure h_total and v_total are in range */
- if (((h_total >> 3) - 1) > 0x1ff || (v_total - 1) > 0x7FF) {
- printk(KERN_ERR "aty128fb: invalid width ranges\n");
- return -EINVAL;
- }
+ h_disp = (var->xres >> 3) - 1;
+ v_disp = var->yres - 1;
h_sync_wid = (var->hsync_len + 7) >> 3;
if (h_sync_wid == 0)
@@ -811,7 +783,7 @@
crtc->offset = 0;
crtc->offset_cntl = 0;
- crtc->bpp = bpp;
+ crtc->bpp = var->bits_per_pixel;
return 0;
}
@@ -856,7 +828,6 @@
aty_st_pll(PPLL_CNTL, aty_ld_pll(PPLL_CNTL) & ~PPLL_RESET);
}
-
static int
aty128_var_to_pll(u32 period_in_ps, struct aty128fb_par *par,
struct fb_info_aty128 *info)
@@ -971,6 +942,9 @@
static int
aty128fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
{
+ u8 mode_bytpp[7] = { 0, 0, 1, 2, 2, 3, 4 };
+ u32 depth, bytpp, h_total, v_total;
+
/* basic (in)sanity checks */
if (!var->xres)
var->xres = 1;
@@ -1046,6 +1020,33 @@
if (var->yres_virtual < var->yres + var->yoffset)
var->yres_virtual = var->yres + var->yoffset;
+ /* convert bpp into ATI register depth */
+ depth = bpp_to_depth(var->bits_per_pixel);
+
+ /* make sure we didn't get an invalid depth */
+ if (depth == -EINVAL) {
+ printk(KERN_ERR "aty128fb: Invalid depth\n");
+ return -EINVAL;
+ }
+
+ /* convert depth to bpp */
+ bytpp = mode_bytpp[depth];
+
+ /* make sure there is enough video ram for the mode */
+ if ((u32)(var->xres_virtual * var->yres_virtual * bytpp) > info->fix.smem_len) {
+ printk(KERN_ERR "aty128fb: Not enough memory for mode\n");
+ return -EINVAL;
+ }
+
+ h_total = (((var->xres + var->right_margin + var->hsync_len + var->left_margin) >> 3) - 1) & 0xFFFFL;
+ v_total = (var->yres + var->upper_margin + var->vsync_len + var->lower_margin - 1) & 0xFFFFL;
+
+ /* check to make sure h_total and v_total are in range */
+ if (((h_total >> 3) - 1) > 0x1ff || (v_total - 1) > 0x7FF) {
+ printk(KERN_ERR "aty128fb: invalid width ranges\n");
+ return -EINVAL;
+ }
+
var->red.msb_right = 0;
var->green.msb_right = 0;
var->blue.msb_right = 0;
@@ -1069,6 +1070,10 @@
{
u32 config;
+ aty128_var_to_crtc(&info->fb_info.var, &par->crtc, info);
+ aty128_var_to_pll(info->fb_info.var.pixclock, par, info);
+ aty128_ddafifo(par, info);
+
info->fb_info.par = par;
if (info->blitter_may_be_busy)
@@ -1109,6 +1114,9 @@
if (info->fb_info.var.accel_flags & FB_ACCELF_TEXT)
aty128_init_engine(par, info);
+ info->fb_info.fix.line_length = (info->fb_info.var.xres_virtual * par->crtc.bpp) >> 3;
+ info->fb_info.fix.visual = par->crtc.bpp <= 8 ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR;
+
#ifdef CONFIG_FB_COMPAT_XPMAC
if (!console_fb_info || console_fb_info == &info->fb_info) {
struct fb_var_screeninfo var;
@@ -1132,28 +1140,6 @@
}
/*
- * encode/decode the User Defined Part of the Display
- */
-
-static int
-aty128_decode_var(struct fb_var_screeninfo *var, struct aty128fb_par *par,
- struct fb_info_aty128 *info)
-{
- int err;
-
- if ((err = aty128_var_to_crtc(var, &par->crtc, info)))
- return err;
-
- if ((err = aty128_var_to_pll(var->pixclock, par, info)))
- return err;
-
- if ((err = aty128_ddafifo(par, info)))
- return err;
-
- return 0;
-}
-
- /*
* Set the User Defined Part of the Display
*/
@@ -1163,74 +1149,59 @@
struct fb_info_aty128 *info = (struct fb_info_aty128 *)fb;
struct aty128fb_par par;
struct display *display;
- int oldxres, oldyres, oldvxres, oldvyres, oldbpp, oldaccel;
- int accel, err;
+ int accel, oldbpp, err;
display = (con >= 0) ? &fb_display[con] : fb->disp;
- aty128fb_check_var(var, &info->fb_info);
+ if (memcmp(&info->fb_info.var, var, sizeof(var)) || con < 0) {
+ if ((err = aty128fb_check_var(var, &info->fb_info)))
+ return err;
- if ((err = aty128_decode_var(var, &par, info)))
- return err;
-
- if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_NOW)
- return 0;
-
- oldxres = display->var.xres;
- oldyres = display->var.yres;
- oldvxres = display->var.xres_virtual;
- oldvyres = display->var.yres_virtual;
- oldbpp = display->var.bits_per_pixel;
- oldaccel = display->var.accel_flags;
- display->var = info->fb_info.var = *var;
- if (oldxres != var->xres || oldyres != var->yres ||
- oldvxres != var->xres_virtual || oldvyres != var->yres_virtual ||
- oldbpp != var->bits_per_pixel || oldaccel != var->accel_flags) {
-
- info->fb_info.fix.line_length = (var->xres_virtual * par.crtc.bpp) >> 3;
- info->fb_info.fix.visual = par.crtc.bpp <= 8 ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR;
-
- display->screen_base = info->fb_info.screen_base;
- display->visual = info->fb_info.fix.visual;
- display->type = info->fb_info.fix.type;
- display->type_aux = info->fb_info.fix.type_aux;
- display->ypanstep = info->fb_info.fix.ypanstep;
- display->ywrapstep = info->fb_info.fix.ywrapstep;
- display->line_length = info->fb_info.fix.line_length;
- display->can_soft_blank = 1;
- display->inverse = 0;
-
- accel = var->accel_flags & FB_ACCELF_TEXT;
- aty128_set_dispsw(display, info, par.crtc.bpp, accel);
-
- if (accel)
- display->scrollmode = SCROLL_YNOMOVE;
- else
- display->scrollmode = SCROLL_YREDRAW;
+ if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) {
+ oldbpp = display->var.bits_per_pixel;
+
+ info->fb_info.var = *var;
+
+ aty128_set_par(&par, info);
- if (info->fb_info.changevar)
- (*info->fb_info.changevar)(con);
- info->fb_info.par = ∥
- }
+ display->screen_base = info->fb_info.screen_base;
+ display->var = *var;
+ display->visual = info->fb_info.fix.visual;
+ display->type = info->fb_info.fix.type;
+ display->type_aux = info->fb_info.fix.type_aux;
+ display->ypanstep = info->fb_info.fix.ypanstep;
+ display->ywrapstep = info->fb_info.fix.ywrapstep;
+ display->line_length = info->fb_info.fix.line_length;
+ display->can_soft_blank = 1;
+ display->inverse = 0;
- if (!info->fb_info.display_fg || info->fb_info.display_fg->vc_num == con)
- aty128_set_par(&par, info);
+ accel = var->accel_flags & FB_ACCELF_TEXT;
+ aty128_set_dispsw(display, info, accel);
- if (oldbpp != var->bits_per_pixel) {
- if ((err = fb_alloc_cmap(&display->cmap, 0, 0)))
- return err;
- do_install_cmap(con, &info->fb_info);
- }
+ if (accel)
+ display->scrollmode = SCROLL_YNOMOVE;
+ else
+ display->scrollmode = SCROLL_YREDRAW;
+ if (info->fb_info.changevar)
+ (*info->fb_info.changevar)(con);
+
+ if (oldbpp != var->bits_per_pixel) {
+ if ((err = fb_alloc_cmap(&display->cmap, 0, 0)))
+ return err;
+ do_install_cmap(con, &info->fb_info);
+ }
+ }
+ }
return 0;
}
static void
aty128_set_dispsw(struct display *disp,
- struct fb_info_aty128 *info, int bpp, int accel)
+ struct fb_info_aty128 *info, int accel)
{
- switch (bpp) {
+ switch (info->fb_info.var.bits_per_pixel) {
#ifdef FBCON_HAS_CFB8
case 8:
disp->dispsw = accel ? &fbcon_aty128_8 : &fbcon_cfb8;
@@ -1424,11 +1395,12 @@
else
var.accel_flags |= FB_ACCELF_TEXT;
- if (aty128_decode_var(&var, &default_par, info)) {
+ if (aty128fb_check_var(&var, &info->fb_info)) {
printk(KERN_ERR "aty128fb: Cannot set default mode.\n");
return 0;
}
+ info->fb_info.var = var;
info->fb_info.par = &default_par;
/* setup the DAC the way we like it */
|