drm: radeon: Use surface for PCI GART table.
authorDavid Miller <davem@davemloft.net>
Sat, 14 Feb 2009 09:51:07 +0000 (01:51 -0800)
committerDave Airlie <airlied@redhat.com>
Fri, 13 Mar 2009 04:24:02 +0000 (14:24 +1000)
commit6abf6bb0ff90bb77f9429bd0d90fc841c358daf3
treebb291ce9a51dc8f8df33db5774d089ee8907ad33
parente8a894372b4ea05dc266ba7d7a7634315b6230e8
drm: radeon: Use surface for PCI GART table.

This allocates a physical surface for the PCI GART table, this way no
matter what other surface configurations exist the GART table will
always be seen by the hardware properly.

We encode the file pointer of the virtual surface allocate using a
special cookie value, called PCIGART_FILE_PRIV.  On the last close, we
release that surface.

Just to be doubly safe, we run the pcigart table setup with the main
surface control register clear.

Based upon ideas from David Airlie and Ben Benjamin Herrenschmidt.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
drivers/gpu/drm/radeon/radeon_cp.c
drivers/gpu/drm/radeon/radeon_drv.h
drivers/gpu/drm/radeon/radeon_state.c