mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-01 18:24:23 +08:00
drm/radeon: add UVD tiling addr config v2
v2: set UVD tiling config for rv730 Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jerome Glisse <jglisse@redhat.com>
This commit is contained in:
parent
ec5891fbe1
commit
9a21059dc4
@ -2269,6 +2269,9 @@ static void evergreen_gpu_init(struct radeon_device *rdev)
|
||||
WREG32(DMIF_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(HDP_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(DMA_TILING_CONFIG, gb_addr_config);
|
||||
WREG32(UVD_UDEC_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(UVD_UDEC_DB_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(UVD_UDEC_DBW_ADDR_CONFIG, gb_addr_config);
|
||||
|
||||
if ((rdev->config.evergreen.max_backends == 1) &&
|
||||
(rdev->flags & RADEON_IS_IGP)) {
|
||||
|
@ -1033,6 +1033,9 @@
|
||||
/*
|
||||
* UVD
|
||||
*/
|
||||
#define UVD_UDEC_ADDR_CONFIG 0xef4c
|
||||
#define UVD_UDEC_DB_ADDR_CONFIG 0xef50
|
||||
#define UVD_UDEC_DBW_ADDR_CONFIG 0xef54
|
||||
#define UVD_RBC_RB_RPTR 0xf690
|
||||
#define UVD_RBC_RB_WPTR 0xf694
|
||||
|
||||
|
@ -626,6 +626,9 @@ static void cayman_gpu_init(struct radeon_device *rdev)
|
||||
WREG32(HDP_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(DMA_TILING_CONFIG + DMA0_REGISTER_OFFSET, gb_addr_config);
|
||||
WREG32(DMA_TILING_CONFIG + DMA1_REGISTER_OFFSET, gb_addr_config);
|
||||
WREG32(UVD_UDEC_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(UVD_UDEC_DB_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(UVD_UDEC_DBW_ADDR_CONFIG, gb_addr_config);
|
||||
|
||||
if ((rdev->config.cayman.max_backends_per_se == 1) &&
|
||||
(rdev->flags & RADEON_IS_IGP)) {
|
||||
|
@ -495,6 +495,9 @@
|
||||
#define UVD_SEMA_ADDR_LOW 0xEF00
|
||||
#define UVD_SEMA_ADDR_HIGH 0xEF04
|
||||
#define UVD_SEMA_CMD 0xEF08
|
||||
#define UVD_UDEC_ADDR_CONFIG 0xEF4C
|
||||
#define UVD_UDEC_DB_ADDR_CONFIG 0xEF50
|
||||
#define UVD_UDEC_DBW_ADDR_CONFIG 0xEF54
|
||||
#define UVD_RBC_RB_RPTR 0xF690
|
||||
#define UVD_RBC_RB_WPTR 0xF694
|
||||
|
||||
|
@ -866,6 +866,11 @@ static void rv770_gpu_init(struct radeon_device *rdev)
|
||||
WREG32(HDP_TILING_CONFIG, (gb_tiling_config & 0xffff));
|
||||
WREG32(DMA_TILING_CONFIG, (gb_tiling_config & 0xffff));
|
||||
WREG32(DMA_TILING_CONFIG2, (gb_tiling_config & 0xffff));
|
||||
if (rdev->family == CHIP_RV730) {
|
||||
WREG32(UVD_UDEC_DB_TILING_CONFIG, (gb_tiling_config & 0xffff));
|
||||
WREG32(UVD_UDEC_DBW_TILING_CONFIG, (gb_tiling_config & 0xffff));
|
||||
WREG32(UVD_UDEC_TILING_CONFIG, (gb_tiling_config & 0xffff));
|
||||
}
|
||||
|
||||
WREG32(CGTS_SYS_TCC_DISABLE, 0);
|
||||
WREG32(CGTS_TCC_DISABLE, 0);
|
||||
|
@ -136,6 +136,11 @@
|
||||
#define DMA_TILING_CONFIG 0x3ec8
|
||||
#define DMA_TILING_CONFIG2 0xd0b8
|
||||
|
||||
/* RV730 only */
|
||||
#define UVD_UDEC_TILING_CONFIG 0xef40
|
||||
#define UVD_UDEC_DB_TILING_CONFIG 0xef44
|
||||
#define UVD_UDEC_DBW_TILING_CONFIG 0xef48
|
||||
|
||||
#define GC_USER_SHADER_PIPE_CONFIG 0x8954
|
||||
#define INACTIVE_QD_PIPES(x) ((x) << 8)
|
||||
#define INACTIVE_QD_PIPES_MASK 0x0000FF00
|
||||
|
@ -1769,6 +1769,9 @@ static void si_gpu_init(struct radeon_device *rdev)
|
||||
WREG32(HDP_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(DMA_TILING_CONFIG + DMA0_REGISTER_OFFSET, gb_addr_config);
|
||||
WREG32(DMA_TILING_CONFIG + DMA1_REGISTER_OFFSET, gb_addr_config);
|
||||
WREG32(UVD_UDEC_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(UVD_UDEC_DB_ADDR_CONFIG, gb_addr_config);
|
||||
WREG32(UVD_UDEC_DBW_ADDR_CONFIG, gb_addr_config);
|
||||
|
||||
si_tiling_mode_table_init(rdev);
|
||||
|
||||
|
@ -831,6 +831,9 @@
|
||||
/*
|
||||
* UVD
|
||||
*/
|
||||
#define UVD_UDEC_ADDR_CONFIG 0xEF4C
|
||||
#define UVD_UDEC_DB_ADDR_CONFIG 0xEF50
|
||||
#define UVD_UDEC_DBW_ADDR_CONFIG 0xEF54
|
||||
#define UVD_RBC_RB_RPTR 0xF690
|
||||
#define UVD_RBC_RB_WPTR 0xF694
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user