X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fchar%2Fagp%2Falpha-agp.c;h=2b5838e64751a3bc3cb0ba005deba67b88cbfdc9;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=edca77d1df7cf8eeeb6457c210e2b056ebde1576;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/char/agp/alpha-agp.c b/drivers/char/agp/alpha-agp.c index edca77d1d..2b5838e64 100644 --- a/drivers/char/agp/alpha-agp.c +++ b/drivers/char/agp/alpha-agp.c @@ -23,8 +23,9 @@ static struct page *alpha_core_agp_vm_nopage(struct vm_area_struct *vma, dma_addr = address - vma->vm_start + agp->aperture.bus_base; pa = agp->ops->translate(agp, dma_addr); - if (pa == (unsigned long)-EINVAL) return NULL; /* no translation */ - + if (pa == (unsigned long)-EINVAL) + return NULL; /* no translation */ + /* * Get the page, inc the use count, and return it */ @@ -76,11 +77,12 @@ static void alpha_core_agp_tlbflush(struct agp_memory *mem) alpha_mv.mv_pci_tbi(agp->hose, 0, -1); } -static void alpha_core_agp_enable(u32 mode) +static void alpha_core_agp_enable(struct agp_bridge_data *bridge, u32 mode) { - alpha_agp_info *agp = agp_bridge->dev_private_data; + alpha_agp_info *agp = bridge->dev_private_data; - agp->mode.lw = agp_collect_device_status(mode, agp->capability.lw); + agp->mode.lw = agp_collect_device_status(bridge, mode, + agp->capability.lw); agp->mode.bits.enable = 1; agp->ops->configure(agp); @@ -88,7 +90,7 @@ static void alpha_core_agp_enable(u32 mode) agp_device_command(agp->mode.lw, 0); } -static int alpha_core_agp_insert_memory(struct agp_memory *mem, off_t pg_start, +static int alpha_core_agp_insert_memory(struct agp_memory *mem, off_t pg_start, int type) { alpha_agp_info *agp = agp_bridge->dev_private_data; @@ -97,7 +99,8 @@ static int alpha_core_agp_insert_memory(struct agp_memory *mem, off_t pg_start, temp = agp_bridge->current_size; num_entries = A_SIZE_FIX(temp)->num_entries; - if ((pg_start + mem->page_count) > num_entries) return -EINVAL; + if ((pg_start + mem->page_count) > num_entries) + return -EINVAL; status = agp->ops->bind(agp, pg_start, mem); mb(); @@ -106,7 +109,7 @@ static int alpha_core_agp_insert_memory(struct agp_memory *mem, off_t pg_start, return status; } -static int alpha_core_agp_remove_memory(struct agp_memory *mem, off_t pg_start, +static int alpha_core_agp_remove_memory(struct agp_memory *mem, off_t pg_start, int type) { alpha_agp_info *agp = agp_bridge->dev_private_data; @@ -124,7 +127,7 @@ struct agp_bridge_driver alpha_core_agp_driver = { .size_type = FIXED_APER_SIZE, .cant_use_aperture = 1, .masks = NULL, - + .fetch_size = alpha_core_agp_fetch_size, .configure = alpha_core_agp_configure, .agp_enable = alpha_core_agp_enable, @@ -195,6 +198,8 @@ alpha_core_agp_setup(void) static int __init agp_alpha_core_init(void) { + if (agp_off) + return -EINVAL; if (alpha_mv.agp_info) return alpha_core_agp_setup(); return -ENODEV;