mirror of https://gitee.com/openkylin/linux.git
drm/radeon/rv740: fix backend setup
This patch fixes occlusion queries and rendering errors on rv740 boards. Hardcoding the backend map is not an optimal solution, but a better fix is being worked on. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
8e36113082
commit
6271901d82
|
@ -1439,9 +1439,12 @@ static void r700_gfx_init(struct drm_device *dev,
|
|||
|
||||
gb_tiling_config |= R600_BANK_SWAPS(1);
|
||||
|
||||
backend_map = r700_get_tile_pipe_to_backend_map(dev_priv->r600_max_tile_pipes,
|
||||
dev_priv->r600_max_backends,
|
||||
(0xff << dev_priv->r600_max_backends) & 0xff);
|
||||
if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV740)
|
||||
backend_map = 0x28;
|
||||
else
|
||||
backend_map = r700_get_tile_pipe_to_backend_map(dev_priv->r600_max_tile_pipes,
|
||||
dev_priv->r600_max_backends,
|
||||
(0xff << dev_priv->r600_max_backends) & 0xff);
|
||||
gb_tiling_config |= R600_BACKEND_MAP(backend_map);
|
||||
|
||||
cc_gc_shader_pipe_config =
|
||||
|
|
|
@ -556,9 +556,12 @@ static void rv770_gpu_init(struct radeon_device *rdev)
|
|||
|
||||
gb_tiling_config |= BANK_SWAPS(1);
|
||||
|
||||
backend_map = r700_get_tile_pipe_to_backend_map(rdev->config.rv770.max_tile_pipes,
|
||||
rdev->config.rv770.max_backends,
|
||||
(0xff << rdev->config.rv770.max_backends) & 0xff);
|
||||
if (rdev->family == CHIP_RV740)
|
||||
backend_map = 0x28;
|
||||
else
|
||||
backend_map = r700_get_tile_pipe_to_backend_map(rdev->config.rv770.max_tile_pipes,
|
||||
rdev->config.rv770.max_backends,
|
||||
(0xff << rdev->config.rv770.max_backends) & 0xff);
|
||||
gb_tiling_config |= BACKEND_MAP(backend_map);
|
||||
|
||||
cc_gc_shader_pipe_config =
|
||||
|
|
Loading…
Reference in New Issue