diff options
author | Sidath Senanayake <sidaths@google.com> | 2019-08-23 15:40:27 +0200 |
---|---|---|
committer | Sidath Senanayake <sidaths@google.com> | 2019-08-23 15:40:27 +0200 |
commit | 869660680efaed77cec0414161640a6f1a85d5b2 (patch) | |
tree | d36678f523da5f9148c465c3b5d5ef058401a409 /mali_kbase/ipa | |
parent | 228451ed83f4840e863beff27b33ca9a460f820b (diff) | |
download | gpu-869660680efaed77cec0414161640a6f1a85d5b2.tar.gz |
Mali Valhall DDK r20p0 KMD
Provenance:
f3deff212 (collaborate/EAC/v_r20p0)
VX504X08X-BU-00000-r20p0-01rel0 - Android DDK
Signed-off-by: Sidath Senanayake <sidaths@google.com>
Change-Id: If3c1611d83966bcb25a85ad27638612c121cb545
Diffstat (limited to 'mali_kbase/ipa')
-rw-r--r-- | mali_kbase/ipa/mali_kbase_ipa.c | 52 | ||||
-rw-r--r-- | mali_kbase/ipa/mali_kbase_ipa.h | 2 | ||||
-rw-r--r-- | mali_kbase/ipa/mali_kbase_ipa_vinstr_g7x.c | 36 |
3 files changed, 65 insertions, 25 deletions
diff --git a/mali_kbase/ipa/mali_kbase_ipa.c b/mali_kbase/ipa/mali_kbase_ipa.c index 65b4edf..9b75f0d 100644 --- a/mali_kbase/ipa/mali_kbase_ipa.c +++ b/mali_kbase/ipa/mali_kbase_ipa.c @@ -47,7 +47,9 @@ static const struct kbase_ipa_model_ops *kbase_ipa_all_model_ops[] = { &kbase_g52_ipa_model_ops, &kbase_g52_r1_ipa_model_ops, &kbase_g51_ipa_model_ops, - &kbase_g77_ipa_model_ops + &kbase_g77_ipa_model_ops, + &kbase_tnax_ipa_model_ops, + &kbase_tbex_ipa_model_ops }; int kbase_ipa_model_recalculate(struct kbase_ipa_model *model) @@ -91,31 +93,31 @@ const char *kbase_ipa_model_name_from_id(u32 gpu_id) const u32 prod_id = (gpu_id & GPU_ID_VERSION_PRODUCT_ID) >> GPU_ID_VERSION_PRODUCT_ID_SHIFT; - if (GPU_ID_IS_NEW_FORMAT(prod_id)) { - switch (GPU_ID2_MODEL_MATCH_VALUE(prod_id)) { - case GPU_ID2_PRODUCT_TMIX: - return "mali-g71-power-model"; - case GPU_ID2_PRODUCT_THEX: - return "mali-g72-power-model"; - case GPU_ID2_PRODUCT_TNOX: - return "mali-g76-power-model"; - case GPU_ID2_PRODUCT_TSIX: - return "mali-g51-power-model"; - case GPU_ID2_PRODUCT_TGOX: - if ((gpu_id & GPU_ID2_VERSION_MAJOR) == - (0 << GPU_ID2_VERSION_MAJOR_SHIFT)) - /* g52 aliased to g76 power-model's ops */ - return "mali-g52-power-model"; - else - return "mali-g52_r1-power-model"; - case GPU_ID2_PRODUCT_TTRX: - return "mali-g77-power-model"; - default: - return KBASE_IPA_FALLBACK_MODEL_NAME; - } + switch (GPU_ID2_MODEL_MATCH_VALUE(prod_id)) { + case GPU_ID2_PRODUCT_TMIX: + return "mali-g71-power-model"; + case GPU_ID2_PRODUCT_THEX: + return "mali-g72-power-model"; + case GPU_ID2_PRODUCT_TNOX: + return "mali-g76-power-model"; + case GPU_ID2_PRODUCT_TSIX: + return "mali-g51-power-model"; + case GPU_ID2_PRODUCT_TGOX: + if ((gpu_id & GPU_ID2_VERSION_MAJOR) == + (0 << GPU_ID2_VERSION_MAJOR_SHIFT)) + /* g52 aliased to g76 power-model's ops */ + return "mali-g52-power-model"; + else + return "mali-g52_r1-power-model"; + case GPU_ID2_PRODUCT_TNAX: + return "mali-tnax-power-model"; + case GPU_ID2_PRODUCT_TTRX: + return "mali-g77-power-model"; + case GPU_ID2_PRODUCT_TBEX: + return "mali-tbex-power-model"; + default: + return KBASE_IPA_FALLBACK_MODEL_NAME; } - - return KBASE_IPA_FALLBACK_MODEL_NAME; } KBASE_EXPORT_TEST_API(kbase_ipa_model_name_from_id); diff --git a/mali_kbase/ipa/mali_kbase_ipa.h b/mali_kbase/ipa/mali_kbase_ipa.h index 81cafc8..92aace9 100644 --- a/mali_kbase/ipa/mali_kbase_ipa.h +++ b/mali_kbase/ipa/mali_kbase_ipa.h @@ -209,6 +209,8 @@ extern const struct kbase_ipa_model_ops kbase_g52_ipa_model_ops; extern const struct kbase_ipa_model_ops kbase_g52_r1_ipa_model_ops; extern const struct kbase_ipa_model_ops kbase_g51_ipa_model_ops; extern const struct kbase_ipa_model_ops kbase_g77_ipa_model_ops; +extern const struct kbase_ipa_model_ops kbase_tnax_ipa_model_ops; +extern const struct kbase_ipa_model_ops kbase_tbex_ipa_model_ops; /** * kbase_get_real_power() - get the real power consumption of the GPU diff --git a/mali_kbase/ipa/mali_kbase_ipa_vinstr_g7x.c b/mali_kbase/ipa/mali_kbase_ipa_vinstr_g7x.c index a3d1fae..270b75e 100644 --- a/mali_kbase/ipa/mali_kbase_ipa_vinstr_g7x.c +++ b/mali_kbase/ipa/mali_kbase_ipa_vinstr_g7x.c @@ -382,6 +382,39 @@ static const struct kbase_ipa_group ipa_groups_def_g77[] = { }, }; +static const struct kbase_ipa_group ipa_groups_def_tbex[] = { + { + .name = "l2_access", + .default_value = 599800, + .op = kbase_g7x_sum_all_memsys_blocks, + .counter_block_offset = MEMSYS_L2_ANY_LOOKUP, + }, + { + .name = "exec_instr_msg", + .default_value = 1830200, + .op = kbase_g7x_sum_all_shader_cores, + .counter_block_offset = SC_EXEC_INSTR_MSG, + }, + { + .name = "exec_instr_fma", + .default_value = 407300, + .op = kbase_g7x_sum_all_shader_cores, + .counter_block_offset = SC_EXEC_INSTR_FMA, + }, + { + .name = "tex_filt_num_operations", + .default_value = 224500, + .op = kbase_g7x_sum_all_shader_cores, + .counter_block_offset = SC_TEX_FILT_NUM_OPERATIONS, + }, + { + .name = "gpu_active", + .default_value = 153800, + .op = kbase_g7x_jm_single_counter, + .counter_block_offset = JM_GPU_ACTIVE, + }, +}; + #define IPA_POWER_MODEL_OPS(gpu, init_token) \ const struct kbase_ipa_model_ops kbase_ ## gpu ## _ipa_model_ops = { \ @@ -415,6 +448,9 @@ STANDARD_POWER_MODEL(g76, 800); STANDARD_POWER_MODEL(g52_r1, 1000); STANDARD_POWER_MODEL(g51, 1000); STANDARD_POWER_MODEL(g77, 1000); +STANDARD_POWER_MODEL(tbex, 1000); /* g52 is an alias of g76 (TNOX) for IPA */ ALIAS_POWER_MODEL(g52, g76); +/* tnax is an alias of g77 (TTRX) for IPA */ +ALIAS_POWER_MODEL(tnax, g77); |