The following code in agpgart_be.c looks bogus to me:

static agp_memory *intel_i810_alloc_by_type(size_t pg_count, int type)
        ...
        if(type == AGP_PHYS_MEMORY) {
                ...
               new->memory[0] = agp_bridge.agp_alloc_page();
                ...
               new->memory[0] =
                    agp_bridge.mask_memory(
                                   virt_to_phys((void *) new->memory[0]),
                                                  type);
                ...
                new->physical = virt_to_phys((void *) new->memory[0]);

I don't have an i810, so I can't verify anything, but it looks like it 
puts garbage in new->physical.  At least, it's calling virt_to_phys() on 
something that is definitely NOT a virtual address!

Any i810 gurus care to comment?
-- 
Bjorn Helgaas - [EMAIL PROTECTED]
Linux Systems Operation R&D
Hewlett-Packard

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to