From 68c4487930fc09e6456b3036717bb9ff05043355 Mon Sep 17 00:00:00 2001 From: Zhen Chen Date: Tue, 28 Feb 2023 17:23:14 +0800 Subject: [PATCH] MALI: bifrost: not to call kbase_ipa_init() if rockchip simple-power-model is used To avoid warning logs: [ 4.268726] mali fb000000.gpu: Couldn't find power_model DT node matching 'arm,mali-simple-power-model' [ 4.268737] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.static-coefficient = 1*[0] [ 4.268899] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.dynamic-coefficient = 1*[0] [ 4.269057] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.ts = 4*[0] [ 4.269222] mali fb000000.gpu: Error -22, no DT entry: mali-simple-power-model.thermal-zone = '' Change-Id: I4f7248c0847b0f161ad2fb04b4ce5a7c6777a770 Signed-off-by: Zhen Chen --- .../bifrost/backend/gpu/mali_kbase_devfreq.c | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_devfreq.c b/drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_devfreq.c index 9ca764488e9d..7fa134310f7d 100644 --- a/drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_devfreq.c +++ b/drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_devfreq.c @@ -729,15 +729,6 @@ int kbase_devfreq_init(struct kbase_device *kbdev) kbdev->gpu_props.props.core_props.gpu_freq_khz_max = dp->freq_table[0] / 1000; }; - -#if IS_ENABLED(CONFIG_DEVFREQ_THERMAL) - err = kbase_ipa_init(kbdev); - if (err) { - dev_err(kbdev->dev, "IPA initialization failed"); - goto ipa_init_failed; - } -#endif - err = kbase_devfreq_init_core_mask_table(kbdev); if (err) goto init_core_mask_table_failed; @@ -824,6 +815,12 @@ int kbase_devfreq_init(struct kbase_device *kbdev) goto ipa_init_failed; } } else { + err = kbase_ipa_init(kbdev); + if (err) { + dev_err(kbdev->dev, "IPA initialization failed\n"); + goto ipa_init_failed; + } + kbdev->devfreq_cooling = of_devfreq_cooling_register_power( kbdev->dev->of_node, kbdev->devfreq, @@ -842,6 +839,8 @@ int kbase_devfreq_init(struct kbase_device *kbdev) #if IS_ENABLED(CONFIG_DEVFREQ_THERMAL) cooling_reg_failed: + kbase_ipa_term(kbdev); +ipa_init_failed: devfreq_unregister_opp_notifier(kbdev->dev, kbdev->devfreq); #endif /* CONFIG_DEVFREQ_THERMAL */ @@ -858,10 +857,6 @@ devfreq_add_dev_failed: kbase_devfreq_term_core_mask_table(kbdev); init_core_mask_table_failed: -#if IS_ENABLED(CONFIG_DEVFREQ_THERMAL) - kbase_ipa_term(kbdev); -ipa_init_failed: -#endif if (free_devfreq_freq_table) kbase_devfreq_term_freq_table(kbdev);