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
7079060f
Commit
7079060f
authored
Nov 07, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart
parents
3f00d3e8
0a1cc0b6
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
53 additions
and
42 deletions
+53
-42
drivers/char/agp/ali-agp.c
drivers/char/agp/ali-agp.c
+1
-0
drivers/char/agp/amd-k7-agp.c
drivers/char/agp/amd-k7-agp.c
+3
-5
drivers/char/agp/amd64-agp.c
drivers/char/agp/amd64-agp.c
+1
-0
drivers/char/agp/ati-agp.c
drivers/char/agp/ati-agp.c
+3
-5
drivers/char/agp/backend.c
drivers/char/agp/backend.c
+3
-3
drivers/char/agp/efficeon-agp.c
drivers/char/agp/efficeon-agp.c
+2
-1
drivers/char/agp/frontend.c
drivers/char/agp/frontend.c
+4
-11
drivers/char/agp/generic.c
drivers/char/agp/generic.c
+5
-5
drivers/char/agp/i460-agp.c
drivers/char/agp/i460-agp.c
+3
-4
drivers/char/agp/intel-agp.c
drivers/char/agp/intel-agp.c
+1
-0
drivers/char/agp/nvidia-agp.c
drivers/char/agp/nvidia-agp.c
+1
-0
drivers/char/agp/sgi-agp.c
drivers/char/agp/sgi-agp.c
+2
-0
drivers/char/agp/sis-agp.c
drivers/char/agp/sis-agp.c
+1
-0
drivers/char/agp/sworks-agp.c
drivers/char/agp/sworks-agp.c
+21
-8
drivers/char/agp/uninorth-agp.c
drivers/char/agp/uninorth-agp.c
+1
-0
drivers/char/agp/via-agp.c
drivers/char/agp/via-agp.c
+1
-0
No files found.
drivers/char/agp/ali-agp.c
View file @
7079060f
...
...
@@ -389,6 +389,7 @@ static struct pci_device_id agp_ali_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_ali_pci_table
);
static
struct
pci_driver
agp_ali_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-ali"
,
.
id_table
=
agp_ali_pci_table
,
.
probe
=
agp_ali_probe
,
...
...
drivers/char/agp/amd-k7-agp.c
View file @
7079060f
...
...
@@ -94,19 +94,16 @@ static int amd_create_gatt_pages(int nr_tables)
int
retval
=
0
;
int
i
;
tables
=
kmalloc
((
nr_tables
+
1
)
*
sizeof
(
struct
amd_page_map
*
),
GFP_KERNEL
);
tables
=
kzalloc
((
nr_tables
+
1
)
*
sizeof
(
struct
amd_page_map
*
),
GFP_KERNEL
);
if
(
tables
==
NULL
)
return
-
ENOMEM
;
memset
(
tables
,
0
,
sizeof
(
struct
amd_page_map
*
)
*
(
nr_tables
+
1
));
for
(
i
=
0
;
i
<
nr_tables
;
i
++
)
{
entry
=
k
m
alloc
(
sizeof
(
struct
amd_page_map
),
GFP_KERNEL
);
entry
=
k
z
alloc
(
sizeof
(
struct
amd_page_map
),
GFP_KERNEL
);
if
(
entry
==
NULL
)
{
retval
=
-
ENOMEM
;
break
;
}
memset
(
entry
,
0
,
sizeof
(
struct
amd_page_map
));
tables
[
i
]
=
entry
;
retval
=
amd_create_page_map
(
entry
);
if
(
retval
!=
0
)
...
...
@@ -518,6 +515,7 @@ static struct pci_device_id agp_amdk7_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_amdk7_pci_table
);
static
struct
pci_driver
agp_amdk7_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-amdk7"
,
.
id_table
=
agp_amdk7_pci_table
,
.
probe
=
agp_amdk7_probe
,
...
...
drivers/char/agp/amd64-agp.c
View file @
7079060f
...
...
@@ -703,6 +703,7 @@ static struct pci_device_id agp_amd64_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_amd64_pci_table
);
static
struct
pci_driver
agp_amd64_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-amd64"
,
.
id_table
=
agp_amd64_pci_table
,
.
probe
=
agp_amd64_probe
,
...
...
drivers/char/agp/ati-agp.c
View file @
7079060f
...
...
@@ -118,14 +118,12 @@ static int ati_create_gatt_pages(int nr_tables)
int
retval
=
0
;
int
i
;
tables
=
kmalloc
((
nr_tables
+
1
)
*
sizeof
(
ati_page_map
*
),
GFP_KERNEL
);
tables
=
kzalloc
((
nr_tables
+
1
)
*
sizeof
(
ati_page_map
*
),
GFP_KERNEL
);
if
(
tables
==
NULL
)
return
-
ENOMEM
;
memset
(
tables
,
0
,
sizeof
(
ati_page_map
*
)
*
(
nr_tables
+
1
));
for
(
i
=
0
;
i
<
nr_tables
;
i
++
)
{
entry
=
k
m
alloc
(
sizeof
(
ati_page_map
),
GFP_KERNEL
);
entry
=
k
z
alloc
(
sizeof
(
ati_page_map
),
GFP_KERNEL
);
if
(
entry
==
NULL
)
{
while
(
i
>
0
)
{
kfree
(
tables
[
i
-
1
]);
...
...
@@ -136,7 +134,6 @@ static int ati_create_gatt_pages(int nr_tables)
retval
=
-
ENOMEM
;
break
;
}
memset
(
entry
,
0
,
sizeof
(
ati_page_map
));
tables
[
i
]
=
entry
;
retval
=
ati_create_page_map
(
entry
);
if
(
retval
!=
0
)
break
;
...
...
@@ -524,6 +521,7 @@ static struct pci_device_id agp_ati_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_ati_pci_table
);
static
struct
pci_driver
agp_ati_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-ati"
,
.
id_table
=
agp_ati_pci_table
,
.
probe
=
agp_ati_probe
,
...
...
drivers/char/agp/backend.c
View file @
7079060f
...
...
@@ -222,12 +222,12 @@ static void agp_backend_cleanup(struct agp_bridge_data *bridge)
struct
agp_bridge_data
*
agp_alloc_bridge
(
void
)
{
struct
agp_bridge_data
*
bridge
=
kmalloc
(
sizeof
(
*
bridge
),
GFP_KERNEL
);
struct
agp_bridge_data
*
bridge
;
bridge
=
kzalloc
(
sizeof
(
*
bridge
),
GFP_KERNEL
);
if
(
!
bridge
)
return
NULL
;
memset
(
bridge
,
0
,
sizeof
(
*
bridge
));
atomic_set
(
&
bridge
->
agp_in_use
,
0
);
atomic_set
(
&
bridge
->
current_memory_agp
,
0
);
...
...
drivers/char/agp/efficeon-agp.c
View file @
7079060f
...
...
@@ -219,7 +219,7 @@ static int efficeon_create_gatt_table(struct agp_bridge_data *bridge)
efficeon_private
.
l1_table
[
index
]
=
page
;
value
=
virt_to_gart
(
page
)
|
pati
|
present
|
index
;
value
=
virt_to_gart
(
(
unsigned
long
*
)
page
)
|
pati
|
present
|
index
;
pci_write_config_dword
(
agp_bridge
->
dev
,
EFFICEON_ATTPAGE
,
value
);
...
...
@@ -429,6 +429,7 @@ static struct pci_device_id agp_efficeon_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_efficeon_pci_table
);
static
struct
pci_driver
agp_efficeon_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-efficeon"
,
.
id_table
=
agp_efficeon_pci_table
,
.
probe
=
agp_efficeon_probe
,
...
...
drivers/char/agp/frontend.c
View file @
7079060f
...
...
@@ -189,13 +189,12 @@ static int agp_create_segment(struct agp_client *client, struct agp_region *regi
struct
agp_segment
*
user_seg
;
size_t
i
;
seg
=
k
m
alloc
((
sizeof
(
struct
agp_segment_priv
)
*
region
->
seg_count
),
GFP_KERNEL
);
seg
=
k
z
alloc
((
sizeof
(
struct
agp_segment_priv
)
*
region
->
seg_count
),
GFP_KERNEL
);
if
(
seg
==
NULL
)
{
kfree
(
region
->
seg_list
);
region
->
seg_list
=
NULL
;
return
-
ENOMEM
;
}
memset
(
seg
,
0
,
(
sizeof
(
struct
agp_segment_priv
)
*
region
->
seg_count
));
user_seg
=
region
->
seg_list
;
for
(
i
=
0
;
i
<
region
->
seg_count
;
i
++
)
{
...
...
@@ -332,14 +331,11 @@ static struct agp_controller *agp_create_controller(pid_t id)
{
struct
agp_controller
*
controller
;
controller
=
kmalloc
(
sizeof
(
struct
agp_controller
),
GFP_KERNEL
);
controller
=
kzalloc
(
sizeof
(
struct
agp_controller
),
GFP_KERNEL
);
if
(
controller
==
NULL
)
return
NULL
;
memset
(
controller
,
0
,
sizeof
(
struct
agp_controller
));
controller
->
pid
=
id
;
return
controller
;
}
...
...
@@ -540,12 +536,10 @@ static struct agp_client *agp_create_client(pid_t id)
{
struct
agp_client
*
new_client
;
new_client
=
kmalloc
(
sizeof
(
struct
agp_client
),
GFP_KERNEL
);
new_client
=
kzalloc
(
sizeof
(
struct
agp_client
),
GFP_KERNEL
);
if
(
new_client
==
NULL
)
return
NULL
;
memset
(
new_client
,
0
,
sizeof
(
struct
agp_client
));
new_client
->
pid
=
id
;
agp_insert_client
(
new_client
);
return
new_client
;
...
...
@@ -709,11 +703,10 @@ static int agp_open(struct inode *inode, struct file *file)
if
(
minor
!=
AGPGART_MINOR
)
goto
err_out
;
priv
=
k
m
alloc
(
sizeof
(
struct
agp_file_private
),
GFP_KERNEL
);
priv
=
k
z
alloc
(
sizeof
(
struct
agp_file_private
),
GFP_KERNEL
);
if
(
priv
==
NULL
)
goto
err_out_nomem
;
memset
(
priv
,
0
,
sizeof
(
struct
agp_file_private
));
set_bit
(
AGP_FF_ALLOW_CLIENT
,
&
priv
->
access_flags
);
priv
->
my_pid
=
current
->
pid
;
...
...
drivers/char/agp/generic.c
View file @
7079060f
...
...
@@ -105,12 +105,10 @@ struct agp_memory *agp_create_memory(int scratch_pages)
{
struct
agp_memory
*
new
;
new
=
kmalloc
(
sizeof
(
struct
agp_memory
),
GFP_KERNEL
);
new
=
kzalloc
(
sizeof
(
struct
agp_memory
),
GFP_KERNEL
);
if
(
new
==
NULL
)
return
NULL
;
memset
(
new
,
0
,
sizeof
(
struct
agp_memory
));
new
->
key
=
agp_get_key
();
if
(
new
->
key
<
0
)
{
...
...
@@ -414,7 +412,8 @@ static void agp_v2_parse_one(u32 *requested_mode, u32 *bridge_agpstat, u32 *vga_
u32
tmp
;
if
(
*
requested_mode
&
AGP2_RESERVED_MASK
)
{
printk
(
KERN_INFO
PFX
"reserved bits set in mode 0x%x. Fixed.
\n
"
,
*
requested_mode
);
printk
(
KERN_INFO
PFX
"reserved bits set (%x) in mode 0x%x. Fixed.
\n
"
,
*
requested_mode
&
AGP2_RESERVED_MASK
,
*
requested_mode
);
*
requested_mode
&=
~
AGP2_RESERVED_MASK
;
}
...
...
@@ -492,7 +491,8 @@ static void agp_v3_parse_one(u32 *requested_mode, u32 *bridge_agpstat, u32 *vga_
u32
tmp
;
if
(
*
requested_mode
&
AGP3_RESERVED_MASK
)
{
printk
(
KERN_INFO
PFX
"reserved bits set in mode 0x%x. Fixed.
\n
"
,
*
requested_mode
);
printk
(
KERN_INFO
PFX
"reserved bits set (%x) in mode 0x%x. Fixed.
\n
"
,
*
requested_mode
&
AGP3_RESERVED_MASK
,
*
requested_mode
);
*
requested_mode
&=
~
AGP3_RESERVED_MASK
;
}
...
...
drivers/char/agp/i460-agp.c
View file @
7079060f
...
...
@@ -227,10 +227,9 @@ static int i460_configure (void)
*/
if
(
I460_IO_PAGE_SHIFT
>
PAGE_SHIFT
)
{
size
=
current_size
->
num_entries
*
sizeof
(
i460
.
lp_desc
[
0
]);
i460
.
lp_desc
=
k
m
alloc
(
size
,
GFP_KERNEL
);
i460
.
lp_desc
=
k
z
alloc
(
size
,
GFP_KERNEL
);
if
(
!
i460
.
lp_desc
)
return
-
ENOMEM
;
memset
(
i460
.
lp_desc
,
0
,
size
);
}
return
0
;
}
...
...
@@ -366,13 +365,12 @@ static int i460_alloc_large_page (struct lp_desc *lp)
}
map_size
=
((
I460_KPAGES_PER_IOPAGE
+
BITS_PER_LONG
-
1
)
&
-
BITS_PER_LONG
)
/
8
;
lp
->
alloced_map
=
k
m
alloc
(
map_size
,
GFP_KERNEL
);
lp
->
alloced_map
=
k
z
alloc
(
map_size
,
GFP_KERNEL
);
if
(
!
lp
->
alloced_map
)
{
free_pages
((
unsigned
long
)
lpage
,
order
);
printk
(
KERN_ERR
PFX
"Out of memory, we're in trouble...
\n
"
);
return
-
ENOMEM
;
}
memset
(
lp
->
alloced_map
,
0
,
map_size
);
lp
->
paddr
=
virt_to_gart
(
lpage
);
lp
->
refcount
=
0
;
...
...
@@ -619,6 +617,7 @@ static struct pci_device_id agp_intel_i460_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_intel_i460_pci_table
);
static
struct
pci_driver
agp_intel_i460_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-intel-i460"
,
.
id_table
=
agp_intel_i460_pci_table
,
.
probe
=
agp_intel_i460_probe
,
...
...
drivers/char/agp/intel-agp.c
View file @
7079060f
...
...
@@ -1824,6 +1824,7 @@ static struct pci_device_id agp_intel_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_intel_pci_table
);
static
struct
pci_driver
agp_intel_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-intel"
,
.
id_table
=
agp_intel_pci_table
,
.
probe
=
agp_intel_probe
,
...
...
drivers/char/agp/nvidia-agp.c
View file @
7079060f
...
...
@@ -398,6 +398,7 @@ static struct pci_device_id agp_nvidia_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_nvidia_pci_table
);
static
struct
pci_driver
agp_nvidia_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-nvidia"
,
.
id_table
=
agp_nvidia_pci_table
,
.
probe
=
agp_nvidia_probe
,
...
...
drivers/char/agp/sgi-agp.c
View file @
7079060f
...
...
@@ -289,6 +289,8 @@ static int __devinit agp_sgi_init(void)
j
=
0
;
list_for_each_entry
(
info
,
&
tioca_list
,
ca_list
)
{
struct
list_head
*
tmp
;
if
(
list_empty
(
info
->
ca_devices
))
continue
;
list_for_each
(
tmp
,
info
->
ca_devices
)
{
u8
cap_ptr
;
pdev
=
pci_dev_b
(
tmp
);
...
...
drivers/char/agp/sis-agp.c
View file @
7079060f
...
...
@@ -332,6 +332,7 @@ static struct pci_device_id agp_sis_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_sis_pci_table
);
static
struct
pci_driver
agp_sis_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-sis"
,
.
id_table
=
agp_sis_pci_table
,
.
probe
=
agp_sis_probe
,
...
...
drivers/char/agp/sworks-agp.c
View file @
7079060f
...
...
@@ -102,19 +102,17 @@ static int serverworks_create_gatt_pages(int nr_tables)
int
retval
=
0
;
int
i
;
tables
=
k
m
alloc
((
nr_tables
+
1
)
*
sizeof
(
struct
serverworks_page_map
*
),
tables
=
k
z
alloc
((
nr_tables
+
1
)
*
sizeof
(
struct
serverworks_page_map
*
),
GFP_KERNEL
);
if
(
tables
==
NULL
)
{
if
(
tables
==
NULL
)
return
-
ENOMEM
;
}
memset
(
tables
,
0
,
sizeof
(
struct
serverworks_page_map
*
)
*
(
nr_tables
+
1
));
for
(
i
=
0
;
i
<
nr_tables
;
i
++
)
{
entry
=
k
m
alloc
(
sizeof
(
struct
serverworks_page_map
),
GFP_KERNEL
);
entry
=
k
z
alloc
(
sizeof
(
struct
serverworks_page_map
),
GFP_KERNEL
);
if
(
entry
==
NULL
)
{
retval
=
-
ENOMEM
;
break
;
}
memset
(
entry
,
0
,
sizeof
(
struct
serverworks_page_map
));
tables
[
i
]
=
entry
;
retval
=
serverworks_create_page_map
(
entry
);
if
(
retval
!=
0
)
break
;
...
...
@@ -244,13 +242,27 @@ static int serverworks_fetch_size(void)
*/
static
void
serverworks_tlbflush
(
struct
agp_memory
*
temp
)
{
unsigned
long
timeout
;
writeb
(
1
,
serverworks_private
.
registers
+
SVWRKS_POSTFLUSH
);
while
(
readb
(
serverworks_private
.
registers
+
SVWRKS_POSTFLUSH
)
==
1
)
timeout
=
jiffies
+
3
*
HZ
;
while
(
readb
(
serverworks_private
.
registers
+
SVWRKS_POSTFLUSH
)
==
1
)
{
cpu_relax
();
if
(
time_after
(
jiffies
,
timeout
))
{
printk
(
KERN_ERR
PFX
"TLB post flush took more than 3 seconds
\n
"
);
break
;
}
}
writel
(
1
,
serverworks_private
.
registers
+
SVWRKS_DIRFLUSH
);
while
(
readl
(
serverworks_private
.
registers
+
SVWRKS_DIRFLUSH
)
==
1
)
timeout
=
jiffies
+
3
*
HZ
;
while
(
readl
(
serverworks_private
.
registers
+
SVWRKS_DIRFLUSH
)
==
1
)
{
cpu_relax
();
if
(
time_after
(
jiffies
,
timeout
))
{
printk
(
KERN_ERR
PFX
"TLB Dir flush took more than 3 seconds
\n
"
);
break
;
}
}
}
static
int
serverworks_configure
(
void
)
...
...
@@ -533,6 +545,7 @@ static struct pci_device_id agp_serverworks_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_serverworks_pci_table
);
static
struct
pci_driver
agp_serverworks_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-serverworks"
,
.
id_table
=
agp_serverworks_pci_table
,
.
probe
=
agp_serverworks_probe
,
...
...
drivers/char/agp/uninorth-agp.c
View file @
7079060f
...
...
@@ -658,6 +658,7 @@ static struct pci_device_id agp_uninorth_pci_table[] = {
MODULE_DEVICE_TABLE
(
pci
,
agp_uninorth_pci_table
);
static
struct
pci_driver
agp_uninorth_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-uninorth"
,
.
id_table
=
agp_uninorth_pci_table
,
.
probe
=
agp_uninorth_probe
,
...
...
drivers/char/agp/via-agp.c
View file @
7079060f
...
...
@@ -518,6 +518,7 @@ MODULE_DEVICE_TABLE(pci, agp_via_pci_table);
static
struct
pci_driver
agp_via_pci_driver
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"agpgart-via"
,
.
id_table
=
agp_via_pci_table
,
.
probe
=
agp_via_probe
,
...
...
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