Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e55b9422 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie
Browse files

drm/radeon/kms: add info query for backend map



The 3D driver need to get the pipe to backend
map to certain things.  Add a query to get the
info.

Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 28a4a163
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2047,6 +2047,7 @@ static void evergreen_gpu_init(struct radeon_device *rdev)
	rdev->config.evergreen.tile_config |=
		((gb_addr_config & 0x30000000) >> 28) << 12;

	rdev->config.evergreen.backend_map = gb_backend_map;
	WREG32(GB_BACKEND_MAP, gb_backend_map);
	WREG32(GB_ADDR_CONFIG, gb_addr_config);
	WREG32(DMIF_ADDR_CONFIG, gb_addr_config);
+1 −0
Original line number Diff line number Diff line
@@ -833,6 +833,7 @@ static void cayman_gpu_init(struct radeon_device *rdev)
	rdev->config.cayman.tile_config |=
		((gb_addr_config & ROW_SIZE_MASK) >> ROW_SIZE_SHIFT) << 12;

	rdev->config.cayman.backend_map = gb_backend_map;
	WREG32(GB_BACKEND_MAP, gb_backend_map);
	WREG32(GB_ADDR_CONFIG, gb_addr_config);
	WREG32(DMIF_ADDR_CONFIG, gb_addr_config);
+1 −0
Original line number Diff line number Diff line
@@ -1662,6 +1662,7 @@ void r600_gpu_init(struct radeon_device *rdev)
									       R6XX_MAX_BACKENDS_MASK) >> 16)),
							(cc_rb_backend_disable >> 16));
	rdev->config.r600.tile_config = tiling_config;
	rdev->config.r600.backend_map = backend_map;
	tiling_config |= BACKEND_MAP(backend_map);
	WREG32(GB_TILING_CONFIG, tiling_config);
	WREG32(DCP_TILING_CONFIG, tiling_config & 0xffff);
+3 −0
Original line number Diff line number Diff line
@@ -1003,6 +1003,7 @@ struct r600_asic {
	unsigned		tiling_npipes;
	unsigned		tiling_group_size;
	unsigned		tile_config;
	unsigned		backend_map;
	struct r100_gpu_lockup	lockup;
};

@@ -1028,6 +1029,7 @@ struct rv770_asic {
	unsigned		tiling_npipes;
	unsigned		tiling_group_size;
	unsigned		tile_config;
	unsigned		backend_map;
	struct r100_gpu_lockup	lockup;
};

@@ -1054,6 +1056,7 @@ struct evergreen_asic {
	unsigned tiling_npipes;
	unsigned tiling_group_size;
	unsigned tile_config;
	unsigned backend_map;
	struct r100_gpu_lockup	lockup;
};

+2 −1
Original line number Diff line number Diff line
@@ -51,9 +51,10 @@
 *   2.8.0 - pageflip support, r500 US_FORMAT regs. r500 ARGB2101010 colorbuf, r300->r500 CMASK, clock crystal query
 *   2.9.0 - r600 tiling (s3tc,rgtc) working, SET_PREDICATION packet 3 on r600 + eg, backend query
 *   2.10.0 - fusion 2D tiling, initial compute support for the CS checker
 *   2.11.0 - backend map
 */
#define KMS_DRIVER_MAJOR	2
#define KMS_DRIVER_MINOR	10
#define KMS_DRIVER_MINOR	11
#define KMS_DRIVER_PATCHLEVEL	0
int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags);
int radeon_driver_unload_kms(struct drm_device *dev);
Loading