Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
d2b96a94
Commit
d2b96a94
authored
Nov 16, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
ad54da3a
c4a60f0e
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
67 additions
and
45 deletions
+67
-45
arch/sparc/kernel/process.c
arch/sparc/kernel/process.c
+2
-2
arch/sparc64/defconfig
arch/sparc64/defconfig
+17
-6
arch/sparc64/kernel/pci.c
arch/sparc64/kernel/pci.c
+1
-1
arch/sparc64/mm/fault.c
arch/sparc64/mm/fault.c
+16
-6
arch/sparc64/mm/generic.c
arch/sparc64/mm/generic.c
+2
-13
drivers/serial/sunzilog.c
drivers/serial/sunzilog.c
+2
-0
drivers/video/aty/atyfb_base.c
drivers/video/aty/atyfb_base.c
+1
-3
drivers/video/cg14.c
drivers/video/cg14.c
+20
-7
drivers/video/cg3.c
drivers/video/cg3.c
+4
-4
drivers/video/fbmem.c
drivers/video/fbmem.c
+1
-2
drivers/video/sbuslib.c
drivers/video/sbuslib.c
+1
-1
No files found.
arch/sparc/kernel/process.c
View file @
d2b96a94
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
/*
/*
* Power management idle function
* Power management idle function
* Set in pm platform drivers
* Set in pm platform drivers
(apc.c and pmc.c)
*/
*/
void
(
*
pm_idle
)(
void
);
void
(
*
pm_idle
)(
void
);
...
@@ -122,7 +122,7 @@ int cpu_idle(void)
...
@@ -122,7 +122,7 @@ int cpu_idle(void)
}
}
while
((
!
need_resched
())
&&
pm_idle
)
{
while
((
!
need_resched
())
&&
pm_idle
)
{
(
*
pm_idle
)();
/* XXX Huh? On sparc?! */
(
*
pm_idle
)();
}
}
schedule
();
schedule
();
...
...
arch/sparc64/defconfig
View file @
d2b96a94
#
#
# Automatically generated make config: don't edit
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc
1
# Linux kernel version: 2.6.10-rc
2
#
Sun Oct 31 13:19:19
2004
#
Tue Nov 16 11:09:23
2004
#
#
CONFIG_64BIT=y
CONFIG_64BIT=y
CONFIG_MMU=y
CONFIG_MMU=y
...
@@ -65,9 +65,7 @@ CONFIG_SMP=y
...
@@ -65,9 +65,7 @@ CONFIG_SMP=y
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT is not set
CONFIG_NR_CPUS=4
CONFIG_NR_CPUS=4
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_US3_FREQ=m
CONFIG_US2E_FREQ=m
CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
...
@@ -76,6 +74,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=m
...
@@ -76,6 +74,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
# CONFIG_CPU_FREQ_24_API is not set
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_TABLE=y
CONFIG_US3_FREQ=m
CONFIG_US2E_FREQ=m
CONFIG_SPARC64=y
CONFIG_SPARC64=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_HUGETLB_PAGE_SIZE_4MB=y
CONFIG_HUGETLB_PAGE_SIZE_4MB=y
...
@@ -429,6 +430,7 @@ CONFIG_MD_RAID10=m
...
@@ -429,6 +430,7 @@ CONFIG_MD_RAID10=m
CONFIG_MD_RAID5=m
CONFIG_MD_RAID5=m
CONFIG_MD_RAID6=m
CONFIG_MD_RAID6=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_MULTIPATH=m
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_SNAPSHOT=m
...
@@ -503,6 +505,8 @@ CONFIG_INET_AH=y
...
@@ -503,6 +505,8 @@ CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_IP_TCPDIAG=y
# CONFIG_IP_TCPDIAG_IPV6 is not set
#
#
# IP: Virtual Server Configuration
# IP: Virtual Server Configuration
...
@@ -745,6 +749,7 @@ CONFIG_NET_ACT_POLICE=m
...
@@ -745,6 +749,7 @@ CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_PEDIT=m
#
#
...
@@ -1148,6 +1153,7 @@ CONFIG_I2C_ALI1535=m
...
@@ -1148,6 +1153,7 @@ CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756=m
# CONFIG_I2C_AMD756_S4882 is not set
CONFIG_I2C_AMD8111=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_I810=m
...
@@ -1179,6 +1185,7 @@ CONFIG_SENSORS_DS1621=m
...
@@ -1179,6 +1185,7 @@ CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM78=m
...
@@ -1188,6 +1195,7 @@ CONFIG_SENSORS_LM85=m
...
@@ -1188,6 +1195,7 @@ CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83781D=m
...
@@ -1677,7 +1685,7 @@ CONFIG_USB_SN9C102=m
...
@@ -1677,7 +1685,7 @@ CONFIG_USB_SN9C102=m
CONFIG_USB_W9968CF=m
CONFIG_USB_W9968CF=m
#
#
# USB Network
adapto
rs
# USB Network
Adapte
rs
#
#
CONFIG_USB_CATC=m
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_KAWETH=m
...
@@ -1694,6 +1702,7 @@ CONFIG_USB_BELKIN=y
...
@@ -1694,6 +1702,7 @@ CONFIG_USB_BELKIN=y
CONFIG_USB_GENESYS=y
CONFIG_USB_GENESYS=y
CONFIG_USB_NET1080=y
CONFIG_USB_NET1080=y
CONFIG_USB_PL2301=y
CONFIG_USB_PL2301=y
CONFIG_USB_KC2190=y
#
#
# Intelligent USB Devices/Gadgets
# Intelligent USB Devices/Gadgets
...
@@ -1720,6 +1729,7 @@ CONFIG_USB_SERIAL=m
...
@@ -1720,6 +1729,7 @@ CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_FTDI_SIO=m
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_VISOR is not set
...
@@ -1858,6 +1868,7 @@ CONFIG_CRYPTO_CAST6=m
...
@@ -1858,6 +1868,7 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C=m
...
...
arch/sparc64/kernel/pci.c
View file @
d2b96a94
...
@@ -725,7 +725,7 @@ static int __pci_mmap_make_offset(struct pci_dev *dev, struct vm_area_struct *vm
...
@@ -725,7 +725,7 @@ static int __pci_mmap_make_offset(struct pci_dev *dev, struct vm_area_struct *vm
static
void
__pci_mmap_set_flags
(
struct
pci_dev
*
dev
,
struct
vm_area_struct
*
vma
,
static
void
__pci_mmap_set_flags
(
struct
pci_dev
*
dev
,
struct
vm_area_struct
*
vma
,
enum
pci_mmap_state
mmap_state
)
enum
pci_mmap_state
mmap_state
)
{
{
vma
->
vm_flags
|=
(
VM_
SHM
|
VM_LOCK
ED
);
vma
->
vm_flags
|=
(
VM_
IO
|
VM_RESERV
ED
);
}
}
/* Set vm_page_prot of VMA, as appropriate for this architecture, for a pci
/* Set vm_page_prot of VMA, as appropriate for this architecture, for a pci
...
...
arch/sparc64/mm/fault.c
View file @
d2b96a94
...
@@ -352,7 +352,7 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs)
...
@@ -352,7 +352,7 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs)
* If we're in an interrupt or have no user
* If we're in an interrupt or have no user
* context, we must not take the fault..
* context, we must not take the fault..
*/
*/
if
(
in_
interrupt
()
||
!
mm
)
if
(
in_
atomic
()
||
!
mm
)
goto
intr_or_no_mm
;
goto
intr_or_no_mm
;
if
(
test_thread_flag
(
TIF_32BIT
))
{
if
(
test_thread_flag
(
TIF_32BIT
))
{
...
@@ -361,7 +361,15 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs)
...
@@ -361,7 +361,15 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs)
address
&=
0xffffffff
;
address
&=
0xffffffff
;
}
}
down_read
(
&
mm
->
mmap_sem
);
if
(
!
down_read_trylock
(
&
mm
->
mmap_sem
))
{
if
((
regs
->
tstate
&
TSTATE_PRIV
)
&&
!
search_exception_tables
(
regs
->
tpc
))
{
insn
=
get_fault_insn
(
regs
,
insn
);
goto
handle_kernel_fault
;
}
down_read
(
&
mm
->
mmap_sem
);
}
vma
=
find_vma
(
mm
,
address
);
vma
=
find_vma
(
mm
,
address
);
if
(
!
vma
)
if
(
!
vma
)
goto
bad_area
;
goto
bad_area
;
...
@@ -446,16 +454,18 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs)
...
@@ -446,16 +454,18 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs)
}
}
switch
(
handle_mm_fault
(
mm
,
vma
,
address
,
(
fault_code
&
FAULT_CODE_WRITE
)))
{
switch
(
handle_mm_fault
(
mm
,
vma
,
address
,
(
fault_code
&
FAULT_CODE_WRITE
)))
{
case
1
:
case
VM_FAULT_MINOR
:
current
->
min_flt
++
;
current
->
min_flt
++
;
break
;
break
;
case
2
:
case
VM_FAULT_MAJOR
:
current
->
maj_flt
++
;
current
->
maj_flt
++
;
break
;
break
;
case
0
:
case
VM_FAULT_SIGBUS
:
goto
do_sigbus
;
goto
do_sigbus
;
default
:
case
VM_FAULT_OOM
:
goto
out_of_memory
;
goto
out_of_memory
;
default:
BUG
();
}
}
up_read
(
&
mm
->
mmap_sem
);
up_read
(
&
mm
->
mmap_sem
);
...
...
arch/sparc64/mm/generic.c
View file @
d2b96a94
...
@@ -15,14 +15,6 @@
...
@@ -15,14 +15,6 @@
#include <asm/page.h>
#include <asm/page.h>
#include <asm/tlbflush.h>
#include <asm/tlbflush.h>
static
inline
void
forget_pte
(
pte_t
page
)
{
if
(
!
pte_none
(
page
))
{
printk
(
"forget_pte: old mapping existed!
\n
"
);
BUG
();
}
}
/* Remap IO memory, the same way as remap_pfn_range(), but use
/* Remap IO memory, the same way as remap_pfn_range(), but use
* the obio memory space.
* the obio memory space.
*
*
...
@@ -43,7 +35,6 @@ static inline void io_remap_pte_range(pte_t * pte, unsigned long address, unsign
...
@@ -43,7 +35,6 @@ static inline void io_remap_pte_range(pte_t * pte, unsigned long address, unsign
if
(
end
>
PMD_SIZE
)
if
(
end
>
PMD_SIZE
)
end
=
PMD_SIZE
;
end
=
PMD_SIZE
;
do
{
do
{
pte_t
oldpage
;
pte_t
entry
;
pte_t
entry
;
unsigned
long
curend
=
address
+
PAGE_SIZE
;
unsigned
long
curend
=
address
+
PAGE_SIZE
;
...
@@ -75,10 +66,8 @@ static inline void io_remap_pte_range(pte_t * pte, unsigned long address, unsign
...
@@ -75,10 +66,8 @@ static inline void io_remap_pte_range(pte_t * pte, unsigned long address, unsign
if
(
offset
&
0x1UL
)
if
(
offset
&
0x1UL
)
pte_val
(
entry
)
&=
~
(
_PAGE_E
);
pte_val
(
entry
)
&=
~
(
_PAGE_E
);
do
{
do
{
oldpage
=
*
pte
;
BUG_ON
(
!
pte_none
(
*
pte
));
pte_clear
(
pte
);
set_pte
(
pte
,
entry
);
set_pte
(
pte
,
entry
);
forget_pte
(
oldpage
);
address
+=
PAGE_SIZE
;
address
+=
PAGE_SIZE
;
pte
++
;
pte
++
;
}
while
(
address
<
curend
);
}
while
(
address
<
curend
);
...
@@ -132,8 +121,8 @@ int io_remap_page_range(struct vm_area_struct *vma, unsigned long from, unsigned
...
@@ -132,8 +121,8 @@ int io_remap_page_range(struct vm_area_struct *vma, unsigned long from, unsigned
from
=
(
from
+
PGDIR_SIZE
)
&
PGDIR_MASK
;
from
=
(
from
+
PGDIR_SIZE
)
&
PGDIR_MASK
;
dir
++
;
dir
++
;
}
}
flush_tlb_range
(
vma
,
beg
,
end
);
spin_unlock
(
&
mm
->
page_table_lock
);
spin_unlock
(
&
mm
->
page_table_lock
);
flush_tlb_range
(
vma
,
beg
,
end
);
return
error
;
return
error
;
}
}
drivers/serial/sunzilog.c
View file @
d2b96a94
...
@@ -974,6 +974,8 @@ sunzilog_set_termios(struct uart_port *port, struct termios *termios,
...
@@ -974,6 +974,8 @@ sunzilog_set_termios(struct uart_port *port, struct termios *termios,
sunzilog_maybe_update_regs
(
up
,
ZILOG_CHANNEL_FROM_PORT
(
port
));
sunzilog_maybe_update_regs
(
up
,
ZILOG_CHANNEL_FROM_PORT
(
port
));
uart_update_timeout
(
port
,
termios
->
c_cflag
,
baud
);
spin_unlock_irqrestore
(
&
up
->
port
.
lock
,
flags
);
spin_unlock_irqrestore
(
&
up
->
port
.
lock
,
flags
);
}
}
...
...
drivers/video/aty/atyfb_base.c
View file @
d2b96a94
...
@@ -1844,7 +1844,7 @@ static int atyfb_mmap(struct fb_info *info, struct file *file, struct vm_area_st
...
@@ -1844,7 +1844,7 @@ static int atyfb_mmap(struct fb_info *info, struct file *file, struct vm_area_st
size
=
vma
->
vm_end
-
vma
->
vm_start
;
size
=
vma
->
vm_end
-
vma
->
vm_start
;
/* To stop the swapper from even considering these pages. */
/* To stop the swapper from even considering these pages. */
vma
->
vm_flags
|=
(
VM_
SHM
|
VM_LOCK
ED
);
vma
->
vm_flags
|=
(
VM_
IO
|
VM_RESERV
ED
);
if
(((
vma
->
vm_pgoff
==
0
)
&&
(
size
==
info
->
fix
.
smem_len
))
||
if
(((
vma
->
vm_pgoff
==
0
)
&&
(
size
==
info
->
fix
.
smem_len
))
||
((
off
==
info
->
fix
.
smem_len
)
&&
(
size
==
PAGE_SIZE
)))
((
off
==
info
->
fix
.
smem_len
)
&&
(
size
==
PAGE_SIZE
)))
...
@@ -1891,8 +1891,6 @@ static int atyfb_mmap(struct fb_info *info, struct file *file, struct vm_area_st
...
@@ -1891,8 +1891,6 @@ static int atyfb_mmap(struct fb_info *info, struct file *file, struct vm_area_st
if
(
!
map_size
)
if
(
!
map_size
)
return
-
EINVAL
;
return
-
EINVAL
;
vma
->
vm_flags
|=
VM_IO
;
if
(
!
par
->
mmaped
)
if
(
!
par
->
mmaped
)
par
->
mmaped
=
1
;
par
->
mmaped
=
1
;
return
0
;
return
0
;
...
...
drivers/video/cg14.c
View file @
d2b96a94
...
@@ -255,6 +255,9 @@ static int cg14_setcolreg(unsigned regno,
...
@@ -255,6 +255,9 @@ static int cg14_setcolreg(unsigned regno,
if
(
regno
>=
256
)
if
(
regno
>=
256
)
return
1
;
return
1
;
red
>>=
8
;
green
>>=
8
;
blue
>>=
8
;
val
=
(
red
|
(
green
<<
8
)
|
(
blue
<<
16
));
val
=
(
red
|
(
green
<<
8
)
|
(
blue
<<
16
));
spin_lock_irqsave
(
&
par
->
lock
,
flags
);
spin_lock_irqsave
(
&
par
->
lock
,
flags
);
...
@@ -322,7 +325,8 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
...
@@ -322,7 +325,8 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
break
;
break
;
case
MDI_16_PIX
:
case
MDI_16_PIX
:
cur_mode
|=
0x20
;
cur_mode
|=
(
CG14_MCR_PIXMODE_16
<<
CG14_MCR_PIXMODE_SHIFT
);
break
;
break
;
case
MDI_8_PIX
:
case
MDI_8_PIX
:
...
@@ -341,7 +345,7 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
...
@@ -341,7 +345,7 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
default:
default:
ret
=
sbusfb_ioctl_helper
(
cmd
,
arg
,
info
,
ret
=
sbusfb_ioctl_helper
(
cmd
,
arg
,
info
,
FBTYPE_MDICOLOR
,
24
,
par
->
fbsize
);
FBTYPE_MDICOLOR
,
8
,
par
->
fbsize
);
break
;
break
;
};
};
...
@@ -355,11 +359,16 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
...
@@ -355,11 +359,16 @@ static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
static
void
cg14_init_fix
(
struct
fb_info
*
info
,
int
linebytes
)
static
void
cg14_init_fix
(
struct
fb_info
*
info
,
int
linebytes
)
{
{
struct
cg14_par
*
par
=
(
struct
cg14_par
*
)
info
->
par
;
struct
cg14_par
*
par
=
(
struct
cg14_par
*
)
info
->
par
;
const
char
*
name
;
name
=
"cgfourteen"
;
if
(
par
->
sdev
)
name
=
par
->
sdev
->
prom_name
;
strlcpy
(
info
->
fix
.
id
,
par
->
sdev
->
prom_
name
,
sizeof
(
info
->
fix
.
id
));
strlcpy
(
info
->
fix
.
id
,
name
,
sizeof
(
info
->
fix
.
id
));
info
->
fix
.
type
=
FB_TYPE_PACKED_PIXELS
;
info
->
fix
.
type
=
FB_TYPE_PACKED_PIXELS
;
info
->
fix
.
visual
=
FB_VISUAL_
TRUE
COLOR
;
info
->
fix
.
visual
=
FB_VISUAL_
PSEUDO
COLOR
;
info
->
fix
.
line_length
=
linebytes
;
info
->
fix
.
line_length
=
linebytes
;
...
@@ -484,8 +493,11 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
...
@@ -484,8 +493,11 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
spin_lock_init
(
&
all
->
par
.
lock
);
spin_lock_init
(
&
all
->
par
.
lock
);
sbusfb_fill_var
(
&
all
->
info
.
var
,
node
,
8
);
sbusfb_fill_var
(
&
all
->
info
.
var
,
node
,
8
);
all
->
info
.
var
.
red
.
length
=
8
;
all
->
info
.
var
.
green
.
length
=
8
;
all
->
info
.
var
.
blue
.
length
=
8
;
linebytes
=
prom_getintdefault
(
sdev
->
prom_
node
,
"linebytes"
,
linebytes
=
prom_getintdefault
(
node
,
"linebytes"
,
all
->
info
.
var
.
xres
);
all
->
info
.
var
.
xres
);
all
->
par
.
fbsize
=
PAGE_ALIGN
(
linebytes
*
all
->
info
.
var
.
yres
);
all
->
par
.
fbsize
=
PAGE_ALIGN
(
linebytes
*
all
->
info
.
var
.
yres
);
...
@@ -561,6 +573,7 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
...
@@ -561,6 +573,7 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
kfree
(
all
);
kfree
(
all
);
return
;
return
;
}
}
fb_set_cmap
(
&
all
->
info
.
cmap
,
&
all
->
info
);
cg14_init_fix
(
&
all
->
info
,
linebytes
);
cg14_init_fix
(
&
all
->
info
,
linebytes
);
...
@@ -573,8 +586,8 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
...
@@ -573,8 +586,8 @@ static void cg14_init_one(struct sbus_dev *sdev, int node, int parent_node)
list_add
(
&
all
->
list
,
&
cg14_list
);
list_add
(
&
all
->
list
,
&
cg14_list
);
printk
(
"cg14: cgfourteen at %lx:%lx
\n
"
,
printk
(
"cg14: cgfourteen at %lx:%lx
, %dMB
\n
"
,
all
->
par
.
physbase
,
all
->
par
.
iospace
);
all
->
par
.
iospace
,
all
->
par
.
physbase
,
all
->
par
.
ramsize
>>
20
);
}
}
...
...
drivers/video/cg3.c
View file @
d2b96a94
...
@@ -198,9 +198,9 @@ cg3_blank(int blank, struct fb_info *info)
...
@@ -198,9 +198,9 @@ cg3_blank(int blank, struct fb_info *info)
switch
(
blank
)
{
switch
(
blank
)
{
case
FB_BLANK_UNBLANK
:
/* Unblanking */
case
FB_BLANK_UNBLANK
:
/* Unblanking */
val
=
sbus_read
l
(
&
regs
->
control
);
val
=
sbus_read
b
(
&
regs
->
control
);
val
|=
CG3_CR_ENABLE_VIDEO
;
val
|=
CG3_CR_ENABLE_VIDEO
;
sbus_write
l
(
val
,
&
regs
->
control
);
sbus_write
b
(
val
,
&
regs
->
control
);
par
->
flags
&=
~
CG3_FLAG_BLANKED
;
par
->
flags
&=
~
CG3_FLAG_BLANKED
;
break
;
break
;
...
@@ -208,9 +208,9 @@ cg3_blank(int blank, struct fb_info *info)
...
@@ -208,9 +208,9 @@ cg3_blank(int blank, struct fb_info *info)
case
FB_BLANK_VSYNC_SUSPEND
:
/* VESA blank (vsync off) */
case
FB_BLANK_VSYNC_SUSPEND
:
/* VESA blank (vsync off) */
case
FB_BLANK_HSYNC_SUSPEND
:
/* VESA blank (hsync off) */
case
FB_BLANK_HSYNC_SUSPEND
:
/* VESA blank (hsync off) */
case
FB_BLANK_POWERDOWN
:
/* Poweroff */
case
FB_BLANK_POWERDOWN
:
/* Poweroff */
val
=
sbus_read
l
(
&
regs
->
control
);
val
=
sbus_read
b
(
&
regs
->
control
);
val
|=
CG3_CR_ENABLE_VIDEO
;
val
|=
CG3_CR_ENABLE_VIDEO
;
sbus_write
l
(
val
,
&
regs
->
control
);
sbus_write
b
(
val
,
&
regs
->
control
);
par
->
flags
|=
CG3_FLAG_BLANKED
;
par
->
flags
|=
CG3_FLAG_BLANKED
;
break
;
break
;
}
}
...
...
drivers/video/fbmem.c
View file @
d2b96a94
...
@@ -906,9 +906,8 @@ fb_mmap(struct file *file, struct vm_area_struct * vma)
...
@@ -906,9 +906,8 @@ fb_mmap(struct file *file, struct vm_area_struct * vma)
off
+=
start
;
off
+=
start
;
vma
->
vm_pgoff
=
off
>>
PAGE_SHIFT
;
vma
->
vm_pgoff
=
off
>>
PAGE_SHIFT
;
/* This is an IO map - tell maydump to skip this VMA */
/* This is an IO map - tell maydump to skip this VMA */
vma
->
vm_flags
|=
VM_IO
;
vma
->
vm_flags
|=
VM_IO
|
VM_RESERVED
;
#if defined(__sparc_v9__)
#if defined(__sparc_v9__)
vma
->
vm_flags
|=
(
VM_SHM
|
VM_LOCKED
);
if
(
io_remap_page_range
(
vma
,
vma
->
vm_start
,
off
,
if
(
io_remap_page_range
(
vma
,
vma
->
vm_start
,
off
,
vma
->
vm_end
-
vma
->
vm_start
,
vma
->
vm_page_prot
,
0
))
vma
->
vm_end
-
vma
->
vm_start
,
vma
->
vm_page_prot
,
0
))
return
-
EAGAIN
;
return
-
EAGAIN
;
...
...
drivers/video/sbuslib.c
View file @
d2b96a94
...
@@ -52,7 +52,7 @@ int sbusfb_mmap_helper(struct sbus_mmap_map *map,
...
@@ -52,7 +52,7 @@ int sbusfb_mmap_helper(struct sbus_mmap_map *map,
off
=
vma
->
vm_pgoff
<<
PAGE_SHIFT
;
off
=
vma
->
vm_pgoff
<<
PAGE_SHIFT
;
/* To stop the swapper from even considering these pages */
/* To stop the swapper from even considering these pages */
vma
->
vm_flags
|=
(
VM_
SHM
|
VM_IO
|
VM_LOCK
ED
);
vma
->
vm_flags
|=
(
VM_
IO
|
VM_RESERV
ED
);
/* Each page, see which map applies */
/* Each page, see which map applies */
for
(
page
=
0
;
page
<
size
;
){
for
(
page
=
0
;
page
<
size
;
){
...
...
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