Skip to content

Commit d50a836

Browse files
konradybciorobclark
authored andcommitted
drm/msm/a6xx: Store correct gmu_cgc_mode in struct a6xx_info
Store the correct values that we happen to have for some A7xx SKUs in the GPU info struct and fill out the missing information for A6xx GPUs based on downstream kernel information. Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/611094/ [add missing entry to a615 catalog to resolve conflict] Signed-off-by: Rob Clark <robdclark@chromium.org>
1 parent 2bbb5fe commit d50a836

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

drivers/gpu/drm/msm/adreno/a6xx_catalog.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,7 @@ static const struct adreno_info a6xx_gpus[] = {
636636
.a6xx = &(const struct a6xx_info) {
637637
.hwcg = a612_hwcg,
638638
.protect = &a630_protect,
639+
.gmu_cgc_mode = 0x00020202,
639640
.prim_fifo_threshold = 0x00080000,
640641
},
641642
/*
@@ -667,6 +668,7 @@ static const struct adreno_info a6xx_gpus[] = {
667668
.a6xx = &(const struct a6xx_info) {
668669
.hwcg = a615_hwcg,
669670
.protect = &a630_protect,
671+
.gmu_cgc_mode = 0x00000222,
670672
.prim_fifo_threshold = 0x0018000,
671673
},
672674
.speedbins = ADRENO_SPEEDBINS(
@@ -696,6 +698,7 @@ static const struct adreno_info a6xx_gpus[] = {
696698
.a6xx = &(const struct a6xx_info) {
697699
.hwcg = a615_hwcg,
698700
.protect = &a630_protect,
701+
.gmu_cgc_mode = 0x00000222,
699702
.prim_fifo_threshold = 0x00180000,
700703
},
701704
.speedbins = ADRENO_SPEEDBINS(
@@ -719,6 +722,7 @@ static const struct adreno_info a6xx_gpus[] = {
719722
.init = a6xx_gpu_init,
720723
.a6xx = &(const struct a6xx_info) {
721724
.protect = &a630_protect,
725+
.gmu_cgc_mode = 0x00000222,
722726
.prim_fifo_threshold = 0x00180000,
723727
},
724728
.speedbins = ADRENO_SPEEDBINS(
@@ -742,6 +746,7 @@ static const struct adreno_info a6xx_gpus[] = {
742746
.a6xx = &(const struct a6xx_info) {
743747
.hwcg = a615_hwcg,
744748
.protect = &a630_protect,
749+
.gmu_cgc_mode = 0x00000222,
745750
.prim_fifo_threshold = 0x00018000,
746751
},
747752
.speedbins = ADRENO_SPEEDBINS(
@@ -765,6 +770,7 @@ static const struct adreno_info a6xx_gpus[] = {
765770
.a6xx = &(const struct a6xx_info) {
766771
.hwcg = a615_hwcg,
767772
.protect = &a630_protect,
773+
.gmu_cgc_mode = 0x00000222,
768774
.prim_fifo_threshold = 0x00018000,
769775
},
770776
.speedbins = ADRENO_SPEEDBINS(
@@ -788,6 +794,7 @@ static const struct adreno_info a6xx_gpus[] = {
788794
.a6xx = &(const struct a6xx_info) {
789795
.hwcg = a615_hwcg,
790796
.protect = &a630_protect,
797+
.gmu_cgc_mode = 0x00000222,
791798
.prim_fifo_threshold = 0x00018000,
792799
},
793800
.speedbins = ADRENO_SPEEDBINS(
@@ -816,6 +823,7 @@ static const struct adreno_info a6xx_gpus[] = {
816823
.a6xx = &(const struct a6xx_info) {
817824
.hwcg = a630_hwcg,
818825
.protect = &a630_protect,
826+
.gmu_cgc_mode = 0x00020202,
819827
.prim_fifo_threshold = 0x00180000,
820828
},
821829
}, {
@@ -834,6 +842,7 @@ static const struct adreno_info a6xx_gpus[] = {
834842
.a6xx = &(const struct a6xx_info) {
835843
.hwcg = a640_hwcg,
836844
.protect = &a630_protect,
845+
.gmu_cgc_mode = 0x00020202,
837846
.prim_fifo_threshold = 0x00180000,
838847
},
839848
.speedbins = ADRENO_SPEEDBINS(
@@ -857,6 +866,7 @@ static const struct adreno_info a6xx_gpus[] = {
857866
.a6xx = &(const struct a6xx_info) {
858867
.hwcg = a650_hwcg,
859868
.protect = &a650_protect,
869+
.gmu_cgc_mode = 0x00020202,
860870
.prim_fifo_threshold = 0x00300200,
861871
},
862872
.address_space_size = SZ_16G,
@@ -883,6 +893,7 @@ static const struct adreno_info a6xx_gpus[] = {
883893
.a6xx = &(const struct a6xx_info) {
884894
.hwcg = a660_hwcg,
885895
.protect = &a660_protect,
896+
.gmu_cgc_mode = 0x00020000,
886897
.prim_fifo_threshold = 0x00300200,
887898
},
888899
.address_space_size = SZ_16G,
@@ -902,6 +913,7 @@ static const struct adreno_info a6xx_gpus[] = {
902913
.a6xx = &(const struct a6xx_info) {
903914
.hwcg = a660_hwcg,
904915
.protect = &a660_protect,
916+
.gmu_cgc_mode = 0x00020202,
905917
.prim_fifo_threshold = 0x00200200,
906918
},
907919
.address_space_size = SZ_16G,
@@ -928,6 +940,7 @@ static const struct adreno_info a6xx_gpus[] = {
928940
.a6xx = &(const struct a6xx_info) {
929941
.hwcg = a640_hwcg,
930942
.protect = &a630_protect,
943+
.gmu_cgc_mode = 0x00020202,
931944
.prim_fifo_threshold = 0x00200200,
932945
},
933946
}, {
@@ -946,6 +959,7 @@ static const struct adreno_info a6xx_gpus[] = {
946959
.a6xx = &(const struct a6xx_info) {
947960
.hwcg = a690_hwcg,
948961
.protect = &a690_protect,
962+
.gmu_cgc_mode = 0x00020200,
949963
.prim_fifo_threshold = 0x00800200,
950964
},
951965
.address_space_size = SZ_16G,
@@ -1207,6 +1221,7 @@ static const struct adreno_info a7xx_gpus[] = {
12071221
.a6xx = &(const struct a6xx_info) {
12081222
.hwcg = a702_hwcg,
12091223
.protect = &a650_protect,
1224+
.gmu_cgc_mode = 0x00020202,
12101225
.prim_fifo_threshold = 0x0000c000,
12111226
},
12121227
.speedbins = ADRENO_SPEEDBINS(
@@ -1231,6 +1246,7 @@ static const struct adreno_info a7xx_gpus[] = {
12311246
.a6xx = &(const struct a6xx_info) {
12321247
.hwcg = a730_hwcg,
12331248
.protect = &a730_protect,
1249+
.gmu_cgc_mode = 0x00020000,
12341250
},
12351251
.address_space_size = SZ_16G,
12361252
}, {
@@ -1250,6 +1266,7 @@ static const struct adreno_info a7xx_gpus[] = {
12501266
.hwcg = a740_hwcg,
12511267
.protect = &a730_protect,
12521268
.gmu_chipid = 0x7020100,
1269+
.gmu_cgc_mode = 0x00020202,
12531270
},
12541271
.address_space_size = SZ_16G,
12551272
}, {
@@ -1268,6 +1285,7 @@ static const struct adreno_info a7xx_gpus[] = {
12681285
.hwcg = a740_hwcg,
12691286
.protect = &a730_protect,
12701287
.gmu_chipid = 0x7050001,
1288+
.gmu_cgc_mode = 0x00020202,
12711289
},
12721290
.address_space_size = SZ_256G,
12731291
}, {
@@ -1286,6 +1304,7 @@ static const struct adreno_info a7xx_gpus[] = {
12861304
.a6xx = &(const struct a6xx_info) {
12871305
.protect = &a730_protect,
12881306
.gmu_chipid = 0x7090100,
1307+
.gmu_cgc_mode = 0x00020202,
12891308
},
12901309
.address_space_size = SZ_16G,
12911310
}

drivers/gpu/drm/msm/adreno/a6xx_gpu.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ struct a6xx_info {
2222
const struct adreno_reglist *hwcg;
2323
const struct adreno_protect *protect;
2424
u32 gmu_chipid;
25+
u32 gmu_cgc_mode;
2526
u32 prim_fifo_threshold;
2627
};
2728

0 commit comments

Comments
 (0)