• Paul Mackerras's avatar
    [PATCH] AGP 3.0 bogosities · 89e54606
    Paul Mackerras authored
    There are other bogosities in drivers/char/agp/generic.c.  I can't
    believe Dave ever tested that code with an AGP 3.0 device.  If you pass
    in a mode that has the AGP 3.0 bit set, agp_v3_parse_one() will first
    clear that bit (and print a message), and then complain because you
    haven't got that bit set in the mode, with a message that the caller is
    broken.  Furthermore, if the mode passed in has both the 4x and 8x bits
    set, the new code will give you 4x where the old code would give you 8x
    (which is what the caller wanted).
    
    The patch below fixes this.  It will work in the 99.99% of cases where
    we have one AGP bridge and one AGP video card.  We should eventually
    cope with multiple AGP bridges, but doing the matching of bridges to
    video cards is a hard problem because the video card is not necessarily
    a child or sibling of the PCI device that we use for controlling the AGP
    bridge.  I think we need to see an actual example of a system with
    multiple AGP bridges first.
    
    Oh, and by the way, I have 3D working relatively well on my G5 with a
    64-bit kernel (and 32-bit X server and clients), which is why I care
    about AGP 3.0 support.  :)
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    89e54606
agp.h 9.67 KB