diff options
author | Dave Airlie <airlied@linux.ie> | 2007-05-08 01:19:23 -0400 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2007-05-08 01:19:23 -0400 |
commit | f2b04cd219e5c0f1214c0eeeec814ddd08a12c1b (patch) | |
tree | fa114ea7f96b5985e10c7f8696d635b074649bab /drivers/char/drm/radeon_state.c | |
parent | 5b94f675f57e4ff16c8fda09088d7480a84dcd91 (diff) |
drm/radeon: upgrade to 1.27 - make PCI GART more flexible
radeon: make PCI GART aperture size variable, but making table size variable
This is precursor to getting a TTM backend for this stuff, and also
allows the PCI table to be allocated at fb 0
radeon: add support for reverse engineered xpress200m
The IGPGART setup code was traced using mmio-trace on fglrx by myself
and Phillip Ezolt <phillipezolt@gmail.com> on dri-devel.
This code doesn't let the 3D driver work properly as the card has no
vertex shader support.
Thanks to Matthew Garrett + Ubuntu for providing me some hardware to do this
work on.
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/radeon_state.c')
-rw-r--r-- | drivers/char/drm/radeon_state.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/char/drm/radeon_state.c b/drivers/char/drm/radeon_state.c index 938eccb78cc0..d6041911c474 100644 --- a/drivers/char/drm/radeon_state.c +++ b/drivers/char/drm/radeon_state.c | |||
@@ -3145,10 +3145,16 @@ static int radeon_cp_setparam(DRM_IOCTL_ARGS) | |||
3145 | break; | 3145 | break; |
3146 | case RADEON_SETPARAM_PCIGART_LOCATION: | 3146 | case RADEON_SETPARAM_PCIGART_LOCATION: |
3147 | dev_priv->pcigart_offset = sp.value; | 3147 | dev_priv->pcigart_offset = sp.value; |
3148 | dev_priv->pcigart_offset_set = 1; | ||
3148 | break; | 3149 | break; |
3149 | case RADEON_SETPARAM_NEW_MEMMAP: | 3150 | case RADEON_SETPARAM_NEW_MEMMAP: |
3150 | dev_priv->new_memmap = sp.value; | 3151 | dev_priv->new_memmap = sp.value; |
3151 | break; | 3152 | break; |
3153 | case RADEON_SETPARAM_PCIGART_TABLE_SIZE: | ||
3154 | dev_priv->gart_info.table_size = sp.value; | ||
3155 | if (dev_priv->gart_info.table_size < RADEON_PCIGART_TABLE_SIZE) | ||
3156 | dev_priv->gart_info.table_size = RADEON_PCIGART_TABLE_SIZE; | ||
3157 | break; | ||
3152 | default: | 3158 | default: |
3153 | DRM_DEBUG("Invalid parameter %d\n", sp.param); | 3159 | DRM_DEBUG("Invalid parameter %d\n", sp.param); |
3154 | return DRM_ERR(EINVAL); | 3160 | return DRM_ERR(EINVAL); |