Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
7d22476d
Commit
7d22476d
authored
Aug 23, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://linux-dj.bkbits.net/agpgart
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
96560f76
dbcf91f2
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
57 additions
and
55 deletions
+57
-55
drivers/char/agp/Kconfig
drivers/char/agp/Kconfig
+1
-1
drivers/char/agp/amd64-agp.c
drivers/char/agp/amd64-agp.c
+1
-1
drivers/char/agp/intel-agp.c
drivers/char/agp/intel-agp.c
+49
-51
drivers/char/agp/intel-mch-agp.c
drivers/char/agp/intel-mch-agp.c
+1
-1
drivers/char/agp/sis-agp.c
drivers/char/agp/sis-agp.c
+4
-0
drivers/char/agp/via-agp.c
drivers/char/agp/via-agp.c
+1
-1
No files found.
drivers/char/agp/Kconfig
View file @
7d22476d
...
...
@@ -130,7 +130,7 @@ config AGP_VIA
depends on AGP && X86 && !X86_64
help
This option gives you AGP support for the GLX component of
XFree86 4.x on VIA M
PV
3/Apollo Pro chipsets.
XFree86 4.x on VIA M
VP
3/Apollo Pro chipsets.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
...
...
drivers/char/agp/amd64-agp.c
View file @
7d22476d
...
...
@@ -675,4 +675,4 @@ module_exit(agp_amd64_cleanup);
MODULE_AUTHOR
(
"Dave Jones <davej@codemonkey.org.uk>, Andi Kleen"
);
MODULE_PARM
(
agp_try_unsupported
,
"1i"
);
MODULE_LICENSE
(
"GPL
and additional rights
"
);
MODULE_LICENSE
(
"GPL"
);
drivers/char/agp/intel-agp.c
View file @
7d22476d
...
...
@@ -162,11 +162,11 @@ static void *i8xx_alloc_pages(void)
page
=
alloc_pages
(
GFP_KERNEL
,
2
);
if
(
page
==
NULL
)
{
return
0
;
return
NULL
;
}
if
(
change_page_attr
(
page
,
4
,
PAGE_KERNEL_NOCACHE
)
<
0
)
{
__free_page
(
page
);
return
0
;
__free_page
(
page
);
return
NULL
;
}
get_page
(
page
);
SetPageLocked
(
page
);
...
...
@@ -180,7 +180,7 @@ static void i8xx_destroy_pages(void *addr)
if
(
addr
==
NULL
)
return
;
page
=
virt_to_page
(
addr
);
change_page_attr
(
page
,
4
,
PAGE_KERNEL
);
put_page
(
page
);
...
...
@@ -330,7 +330,7 @@ static void intel_i810_free_by_type(struct agp_memory *curr)
if
(
curr
->
page_count
==
4
)
i8xx_destroy_pages
(
phys_to_virt
(
curr
->
memory
[
0
]));
else
agp_bridge
->
driver
->
agp_destroy_page
(
agp_bridge
->
driver
->
agp_destroy_page
(
phys_to_virt
(
curr
->
memory
[
0
]));
vfree
(
curr
->
memory
);
}
...
...
@@ -371,7 +371,7 @@ static void intel_i830_init_gtt_entries(void)
/* We obtain the size of the GTT, which is also stored (for some
* reason) at the top of stolen memory. Then we add 4KB to that
* for the video BIOS popup, which is also stored in there. */
* for the video BIOS popup, which is also stored in there. */
size
=
agp_bridge
->
driver
->
fetch_size
()
+
4
;
if
(
agp_bridge
->
dev
->
device
==
PCI_DEVICE_ID_INTEL_82830_HB
||
...
...
@@ -746,13 +746,13 @@ static int intel_i915_create_gatt_table(void)
size
=
agp_bridge
->
current_size
;
page_order
=
size
->
page_order
;
num_entries
=
size
->
num_entries
;
agp_bridge
->
gatt_table_real
=
0
;
agp_bridge
->
gatt_table_real
=
NULL
;
pci_read_config_dword
(
intel_i830_private
.
i830_dev
,
I915_MMADDR
,
&
temp
);
pci_read_config_dword
(
intel_i830_private
.
i830_dev
,
I915_PTEADDR
,
&
temp2
);
intel_i830_private
.
gtt
=
(
volatile
u32
*
)
ioremap
(
temp2
,
256
*
1024
);
if
(
!
intel_i830_private
.
gtt
)
if
(
!
intel_i830_private
.
gtt
)
return
(
-
ENOMEM
);
temp
&=
0xfff80000
;
...
...
@@ -921,7 +921,7 @@ static int intel_815_configure(void)
/* aperture size */
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
current_size
->
size_value
);
/* address to map to */
pci_read_config_dword
(
agp_bridge
->
dev
,
AGP_APBASE
,
&
temp
);
...
...
@@ -933,7 +933,7 @@ static int intel_815_configure(void)
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
addr
);
/* agpctrl */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
/* apcont */
pci_read_config_byte
(
agp_bridge
->
dev
,
INTEL_815_APCONT
,
&
temp2
);
...
...
@@ -956,7 +956,7 @@ static void intel_820_cleanup(void)
previous_size
=
A_SIZE_8
(
agp_bridge
->
previous_size
);
pci_read_config_byte
(
agp_bridge
->
dev
,
INTEL_I820_RDCR
,
&
temp
);
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_I820_RDCR
,
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_I820_RDCR
,
temp
&
~
(
1
<<
1
));
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
previous_size
->
size_value
);
...
...
@@ -966,23 +966,23 @@ static void intel_820_cleanup(void)
static
int
intel_820_configure
(
void
)
{
u32
temp
;
u8
temp2
;
u8
temp2
;
struct
aper_size_info_8
*
current_size
;
current_size
=
A_SIZE_8
(
agp_bridge
->
current_size
);
/* aperture size */
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
/* address to map to */
pci_read_config_dword
(
agp_bridge
->
dev
,
AGP_APBASE
,
&
temp
);
agp_bridge
->
gart_bus_addr
=
(
temp
&
PCI_BASE_ADDRESS_MEM_MASK
);
/* attbase - aperture base */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
/* agpctrl */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
/* global enable aperture access */
/* This flag is not accessed through MCHCFG register as in */
...
...
@@ -990,7 +990,7 @@ static int intel_820_configure(void)
pci_read_config_byte
(
agp_bridge
->
dev
,
INTEL_I820_RDCR
,
&
temp2
);
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_I820_RDCR
,
temp2
|
(
1
<<
1
));
/* clear any possible AGP-related error conditions */
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I820_ERRSTS
,
0x001c
);
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I820_ERRSTS
,
0x001c
);
return
0
;
}
...
...
@@ -1003,23 +1003,23 @@ static int intel_840_configure(void)
current_size
=
A_SIZE_8
(
agp_bridge
->
current_size
);
/* aperture size */
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
/* address to map to */
pci_read_config_dword
(
agp_bridge
->
dev
,
AGP_APBASE
,
&
temp
);
agp_bridge
->
gart_bus_addr
=
(
temp
&
PCI_BASE_ADDRESS_MEM_MASK
);
/* attbase - aperture base */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
/* agpctrl */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
/* mcgcfg */
pci_read_config_word
(
agp_bridge
->
dev
,
INTEL_I840_MCHCFG
,
&
temp2
);
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I840_MCHCFG
,
temp2
|
(
1
<<
9
));
/* clear any possible error conditions */
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I840_ERRSTS
,
0xc000
);
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I840_ERRSTS
,
0xc000
);
return
0
;
}
...
...
@@ -1032,23 +1032,23 @@ static int intel_845_configure(void)
current_size
=
A_SIZE_8
(
agp_bridge
->
current_size
);
/* aperture size */
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
/* address to map to */
pci_read_config_dword
(
agp_bridge
->
dev
,
AGP_APBASE
,
&
temp
);
agp_bridge
->
gart_bus_addr
=
(
temp
&
PCI_BASE_ADDRESS_MEM_MASK
);
/* attbase - aperture base */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
/* agpctrl */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
/* agpm */
pci_read_config_byte
(
agp_bridge
->
dev
,
INTEL_I845_AGPM
,
&
temp2
);
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_I845_AGPM
,
temp2
|
(
1
<<
1
));
/* clear any possible error conditions */
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I845_ERRSTS
,
0x001c
);
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I845_ERRSTS
,
0x001c
);
return
0
;
}
...
...
@@ -1061,23 +1061,23 @@ static int intel_850_configure(void)
current_size
=
A_SIZE_8
(
agp_bridge
->
current_size
);
/* aperture size */
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
pci_write_config_byte
(
agp_bridge
->
dev
,
INTEL_APSIZE
,
current_size
->
size_value
);
/* address to map to */
pci_read_config_dword
(
agp_bridge
->
dev
,
AGP_APBASE
,
&
temp
);
agp_bridge
->
gart_bus_addr
=
(
temp
&
PCI_BASE_ADDRESS_MEM_MASK
);
/* attbase - aperture base */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_ATTBASE
,
agp_bridge
->
gatt_bus_addr
);
/* agpctrl */
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
pci_write_config_dword
(
agp_bridge
->
dev
,
INTEL_AGPCTRL
,
0x0000
);
/* mcgcfg */
pci_read_config_word
(
agp_bridge
->
dev
,
INTEL_I850_MCHCFG
,
&
temp2
);
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I850_MCHCFG
,
temp2
|
(
1
<<
9
));
/* clear any possible AGP-related error conditions */
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I850_ERRSTS
,
0x001c
);
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I850_ERRSTS
,
0x001c
);
return
0
;
}
...
...
@@ -1163,7 +1163,7 @@ static int intel_7505_configure(void)
/* mchcfg */
pci_read_config_word
(
agp_bridge
->
dev
,
INTEL_I7505_MCHCFG
,
&
temp2
);
pci_write_config_word
(
agp_bridge
->
dev
,
INTEL_I7505_MCHCFG
,
temp2
|
(
1
<<
9
));
return
0
;
}
...
...
@@ -1178,7 +1178,7 @@ static struct aper_size_info_8 intel_815_sizes[2] =
{
64
,
16384
,
4
,
0
},
{
32
,
8192
,
3
,
8
},
};
static
struct
aper_size_info_8
intel_8xx_sizes
[
7
]
=
{
{
256
,
65536
,
6
,
0
},
...
...
@@ -1201,7 +1201,7 @@ static struct aper_size_info_16 intel_generic_sizes[7] =
{
4
,
1024
,
0
,
63
}
};
static
struct
aper_size_info_8
intel_830mp_sizes
[
4
]
=
static
struct
aper_size_info_8
intel_830mp_sizes
[
4
]
=
{
{
256
,
65536
,
6
,
0
},
{
128
,
32768
,
5
,
32
},
...
...
@@ -1283,7 +1283,7 @@ static struct agp_bridge_driver intel_830_driver = {
.
owner
=
THIS_MODULE
,
.
aperture_sizes
=
intel_i830_sizes
,
.
size_type
=
FIXED_APER_SIZE
,
.
num_aperture_sizes
=
3
,
.
num_aperture_sizes
=
3
,
.
needs_scratch_page
=
TRUE
,
.
configure
=
intel_i830_configure
,
.
fetch_size
=
intel_i830_fetch_size
,
...
...
@@ -1445,7 +1445,7 @@ static struct agp_bridge_driver intel_915_driver = {
.
owner
=
THIS_MODULE
,
.
aperture_sizes
=
intel_i830_sizes
,
.
size_type
=
FIXED_APER_SIZE
,
.
num_aperture_sizes
=
3
,
.
num_aperture_sizes
=
3
,
.
needs_scratch_page
=
TRUE
,
.
configure
=
intel_i915_configure
,
.
fetch_size
=
intel_i915_fetch_size
,
...
...
@@ -1489,18 +1489,13 @@ static struct agp_bridge_driver intel_7505_driver = {
.
agp_destroy_page
=
agp_generic_destroy_page
,
};
static
int
find_i810
(
u16
device
,
const
char
*
name
)
static
int
find_i810
(
u16
device
)
{
struct
pci_dev
*
i810_dev
;
i810_dev
=
pci_find_device
(
PCI_VENDOR_ID_INTEL
,
device
,
NULL
);
if
(
!
i810_dev
)
{
printk
(
KERN_ERR
PFX
"Detected an Intel %s Chipset, "
"but could not find the secondary device.
\n
"
,
name
);
if
(
!
i810_dev
)
return
0
;
}
intel_i810_private
.
i810_dev
=
i810_dev
;
return
1
;
}
...
...
@@ -1550,29 +1545,29 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
name
=
"440GX"
;
break
;
case
PCI_DEVICE_ID_INTEL_82810_MC1
:
if
(
!
find_i810
(
PCI_DEVICE_ID_INTEL_82810_IG1
,
"i810"
))
name
=
"i810"
;
if
(
!
find_i810
(
PCI_DEVICE_ID_INTEL_82810_IG1
))
goto
fail
;
bridge
->
driver
=
&
intel_810_driver
;
name
=
"i810"
;
break
;
case
PCI_DEVICE_ID_INTEL_82810_MC3
:
if
(
!
find_i810
(
PCI_DEVICE_ID_INTEL_82810_IG3
,
"i810 DC100"
))
name
=
"i810 DC100"
;
if
(
!
find_i810
(
PCI_DEVICE_ID_INTEL_82810_IG3
))
goto
fail
;
bridge
->
driver
=
&
intel_810_driver
;
name
=
"i810 DC100"
;
break
;
case
PCI_DEVICE_ID_INTEL_82810E_MC
:
if
(
!
find_i810
(
PCI_DEVICE_ID_INTEL_82810E_IG
,
"i810 E"
))
name
=
"i810 E"
;
if
(
!
find_i810
(
PCI_DEVICE_ID_INTEL_82810E_IG
))
goto
fail
;
bridge
->
driver
=
&
intel_810_driver
;
name
=
"i810 E"
;
break
;
case
PCI_DEVICE_ID_INTEL_82815_MC
:
/*
* The i815 can operate either as an i810 style
* integrated device, or as an AGP4X motherboard.
*/
if
(
find_i810
(
PCI_DEVICE_ID_INTEL_82815_CGC
,
"i815"
))
if
(
find_i810
(
PCI_DEVICE_ID_INTEL_82815_CGC
))
bridge
->
driver
=
&
intel_810_driver
;
else
bridge
->
driver
=
&
intel_815_driver
;
...
...
@@ -1708,7 +1703,10 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
pci_set_drvdata
(
pdev
,
bridge
);
return
agp_add_bridge
(
bridge
);
fail:
fail:
printk
(
KERN_ERR
PFX
"Detected an Intel %s chipset, "
"but could not find the secondary device.
\n
"
,
name
);
agp_put_bridge
(
bridge
);
return
-
ENODEV
;
}
...
...
@@ -1724,7 +1722,7 @@ static void __devexit agp_intel_remove(struct pci_dev *pdev)
static
int
agp_intel_resume
(
struct
pci_dev
*
pdev
)
{
struct
agp_bridge_data
*
bridge
=
pci_get_drvdata
(
pdev
);
pci_restore_state
(
pdev
,
pdev
->
saved_config_space
);
if
(
bridge
->
driver
==
&
intel_generic_driver
)
...
...
@@ -1741,7 +1739,7 @@ static int agp_intel_resume(struct pci_dev *pdev)
static
struct
pci_device_id
agp_intel_pci_table
[]
=
{
#define ID(x) \
{
\
{ \
.class = (PCI_CLASS_BRIDGE_HOST << 8), \
.class_mask = ~0, \
.vendor = PCI_VENDOR_ID_INTEL, \
...
...
@@ -1769,7 +1767,7 @@ static struct pci_device_id agp_intel_pci_table[] = {
ID
(
PCI_DEVICE_ID_INTEL_82865_HB
),
ID
(
PCI_DEVICE_ID_INTEL_82875_HB
),
ID
(
PCI_DEVICE_ID_INTEL_7505_0
),
ID
(
PCI_DEVICE_ID_INTEL_7205_0
),
ID
(
PCI_DEVICE_ID_INTEL_7205_0
),
{
}
};
...
...
drivers/char/agp/intel-mch-agp.c
View file @
7d22476d
...
...
@@ -633,5 +633,5 @@ module_init(agp_intelmch_init);
module_exit
(
agp_intelmch_cleanup
);
MODULE_AUTHOR
(
"Dave Jones <davej@codemonkey.org.uk>"
);
MODULE_LICENSE
(
"GPL
and additional rights
"
);
MODULE_LICENSE
(
"GPL"
);
drivers/char/agp/sis-agp.c
View file @
7d22476d
...
...
@@ -168,6 +168,10 @@ static struct agp_device_ids sis_agp_device_ids[] __devinitdata =
.
device_id
=
PCI_DEVICE_ID_SI_630
,
.
chipset_name
=
"630"
,
},
{
.
device_id
=
PCI_DEVICE_ID_SI_635
,
.
chipset_name
=
"635"
,
},
{
.
device_id
=
PCI_DEVICE_ID_SI_645
,
.
chipset_name
=
"645"
,
...
...
drivers/char/agp/via-agp.c
View file @
7d22476d
...
...
@@ -503,5 +503,5 @@ static void __exit agp_via_cleanup(void)
module_init
(
agp_via_init
);
module_exit
(
agp_via_cleanup
);
MODULE_LICENSE
(
"GPL
and additional rights
"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_AUTHOR
(
"Dave Jones <davej@codemonkey.org.uk>"
);
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