@@ -612,7 +612,6 @@ static int a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
612
612
return PTR_ERR (gpu -> common_ubwc_cfg );
613
613
614
614
gpu -> ubwc_config .rgb565_predicator = 0 ;
615
- gpu -> ubwc_config .uavflagprd_inv = 0 ;
616
615
gpu -> ubwc_config .min_acc_len = 0 ;
617
616
gpu -> ubwc_config .ubwc_swizzle = 0x6 ;
618
617
gpu -> ubwc_config .macrotile_mode = 0 ;
@@ -634,15 +633,12 @@ static int a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
634
633
if (adreno_is_a619_holi (gpu ))
635
634
gpu -> ubwc_config .highest_bank_bit = 13 ;
636
635
637
- if (adreno_is_a621 (gpu )) {
636
+ if (adreno_is_a621 (gpu ))
638
637
gpu -> ubwc_config .highest_bank_bit = 13 ;
639
- gpu -> ubwc_config .uavflagprd_inv = 2 ;
640
- }
641
638
642
639
if (adreno_is_a623 (gpu )) {
643
640
gpu -> ubwc_config .highest_bank_bit = 16 ;
644
641
gpu -> ubwc_config .rgb565_predicator = 1 ;
645
- gpu -> ubwc_config .uavflagprd_inv = 2 ;
646
642
gpu -> ubwc_config .macrotile_mode = 1 ;
647
643
}
648
644
@@ -657,21 +653,18 @@ static int a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
657
653
/* TODO: get ddr type from bootloader and use 2 for LPDDR4 */
658
654
gpu -> ubwc_config .highest_bank_bit = 16 ;
659
655
gpu -> ubwc_config .rgb565_predicator = 1 ;
660
- gpu -> ubwc_config .uavflagprd_inv = 2 ;
661
656
gpu -> ubwc_config .macrotile_mode = 1 ;
662
657
}
663
658
664
659
if (adreno_is_a663 (gpu )) {
665
660
gpu -> ubwc_config .highest_bank_bit = 13 ;
666
661
gpu -> ubwc_config .rgb565_predicator = 1 ;
667
- gpu -> ubwc_config .uavflagprd_inv = 2 ;
668
662
gpu -> ubwc_config .macrotile_mode = 1 ;
669
663
gpu -> ubwc_config .ubwc_swizzle = 0x4 ;
670
664
}
671
665
672
666
if (adreno_is_7c3 (gpu )) {
673
667
gpu -> ubwc_config .highest_bank_bit = 14 ;
674
- gpu -> ubwc_config .uavflagprd_inv = 2 ;
675
668
gpu -> ubwc_config .macrotile_mode = 1 ;
676
669
}
677
670
@@ -695,11 +688,15 @@ static void a6xx_set_ubwc_config(struct msm_gpu *gpu)
695
688
BUG_ON (adreno_gpu -> ubwc_config .highest_bank_bit < 13 );
696
689
u32 hbb = adreno_gpu -> ubwc_config .highest_bank_bit - 13 ;
697
690
bool amsbc = cfg -> ubwc_enc_version >= UBWC_3_0 ;
691
+ u8 uavflagprd_inv = 0 ;
698
692
u32 hbb_hi = hbb >> 2 ;
699
693
u32 hbb_lo = hbb & 3 ;
700
694
u32 ubwc_mode = adreno_gpu -> ubwc_config .ubwc_swizzle & 1 ;
701
695
u32 level2_swizzling_dis = !(adreno_gpu -> ubwc_config .ubwc_swizzle & 2 );
702
696
697
+ if (adreno_is_a650_family (adreno_gpu ) || adreno_is_a7xx (adreno_gpu ))
698
+ uavflagprd_inv = 2 ;
699
+
703
700
gpu_write (gpu , REG_A6XX_RB_NC_MODE_CNTL ,
704
701
level2_swizzling_dis << 12 |
705
702
adreno_gpu -> ubwc_config .rgb565_predicator << 11 |
@@ -714,7 +711,7 @@ static void a6xx_set_ubwc_config(struct msm_gpu *gpu)
714
711
715
712
gpu_write (gpu , REG_A6XX_SP_NC_MODE_CNTL ,
716
713
level2_swizzling_dis << 12 | hbb_hi << 10 |
717
- adreno_gpu -> ubwc_config . uavflagprd_inv << 4 |
714
+ uavflagprd_inv << 4 |
718
715
adreno_gpu -> ubwc_config .min_acc_len << 3 |
719
716
hbb_lo << 1 | ubwc_mode );
720
717
0 commit comments