Commit 61877c40 authored by Dave Jones's avatar Dave Jones Committed by Dave Jones

[AGPGART] Only enable isochronous transfers on AGP3.5 chipsets.

The standard says that 3.0 chipsets don't support these extensions.
Move the isoch stuff out into isoch.c leaving behind a shell for basic
AGP3.0 enabling (to be written).
parent eb405449
agpgart-y := backend.o frontend.o generic.o generic-3.0.o
agpgart-y := backend.o frontend.o generic.o generic-3.0.o isoch.o
obj-$(CONFIG_AGP) += agpgart.o
obj-$(CONFIG_AGP_ALI) += ali-agp.o
......
......@@ -390,7 +390,8 @@ void agp_free_key(int key);
int agp_num_entries(void);
u32 agp_collect_device_status(u32 mode, u32 command);
void agp_device_command(u32 command, int agp_v3);
int agp_3_0_node_enable(struct agp_bridge_data *bridge, u32 mode);
int agp_3_0_enable(struct agp_bridge_data *bridge, u32 mode);
int agp_3_5_enable(struct agp_bridge_data *bridge, u32 mode);
void global_cache_flush(void);
void get_agp_version(struct agp_bridge_data *bridge);
......
This diff is collapsed.
......@@ -476,7 +476,10 @@ void agp_generic_enable(u32 mode)
pci_read_config_dword(agp_bridge->dev, agp_bridge->capndx + 0x4, &agp_3_0);
/* Check to see if we are operating in 3.0 mode */
if((agp_3_0 >> 3) & 0x1) {
agp_3_0_node_enable(agp_bridge, mode);
if (agp_bridge->minor_version >= 5)
agp_3_5_enable(agp_bridge, mode);
else
agp_3_5_enable(agp_bridge, mode);
return;
} else {
printk (KERN_INFO PFX "not in AGP 3.0 mode, falling back to 2.x\n");
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment