diff options
author | Vamsidhar reddy Gaddam <gvamsi@google.com> | 2024-02-06 11:45:42 +0000 |
---|---|---|
committer | Vamsidhar reddy Gaddam <gvamsi@google.com> | 2024-02-07 17:24:10 +0000 |
commit | 0781d08e1eb2fce0dc82582a41ecd183d75fad71 (patch) | |
tree | ba227cefdd74ebdb680ec0a81e94fdb5d5f7cdb4 /mali_kbase/backend | |
parent | 88eb15d9c46c4992d178ce83216f97b8fb939cfe (diff) | |
download | gpu-0781d08e1eb2fce0dc82582a41ecd183d75fad71.tar.gz |
Remove IFPO from KMD
IFPO feature has been unusued and only creates overhead for smooth
driver updates.
Bug: 324019470
Change-Id: Iab65e95b9ba21d74cc158557e3fa78d4478c9a71
Signed-off-by: Vamsidhar reddy Gaddam <gvamsi@google.com>
Diffstat (limited to 'mali_kbase/backend')
-rw-r--r-- | mali_kbase/backend/gpu/mali_kbase_pm_backend.c | 10 | ||||
-rw-r--r-- | mali_kbase/backend/gpu/mali_kbase_pm_defs.h | 13 | ||||
-rw-r--r-- | mali_kbase/backend/gpu/mali_kbase_pm_driver.c | 49 |
3 files changed, 0 insertions, 72 deletions
diff --git a/mali_kbase/backend/gpu/mali_kbase_pm_backend.c b/mali_kbase/backend/gpu/mali_kbase_pm_backend.c index 0cb205b..d8d55f3 100644 --- a/mali_kbase/backend/gpu/mali_kbase_pm_backend.c +++ b/mali_kbase/backend/gpu/mali_kbase_pm_backend.c @@ -75,12 +75,6 @@ int kbase_pm_runtime_init(struct kbase_device *kbdev) callbacks->power_runtime_gpu_idle_callback; kbdev->pm.backend.callback_power_runtime_gpu_active = callbacks->power_runtime_gpu_active_callback; -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - kbdev->pm.backend.callback_power_on_sc_rails = - callbacks->power_on_sc_rails_callback; - kbdev->pm.backend.callback_power_off_sc_rails = - callbacks->power_off_sc_rails_callback; -#endif if (callbacks->power_runtime_init_callback) return callbacks->power_runtime_init_callback(kbdev); @@ -101,10 +95,6 @@ int kbase_pm_runtime_init(struct kbase_device *kbdev) kbdev->pm.backend.callback_hardware_reset = NULL; kbdev->pm.backend.callback_power_runtime_gpu_idle = NULL; kbdev->pm.backend.callback_power_runtime_gpu_active = NULL; -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - kbdev->pm.backend.callback_power_on_sc_rails = NULL; - kbdev->pm.backend.callback_power_off_sc_rails = NULL; -#endif return 0; } diff --git a/mali_kbase/backend/gpu/mali_kbase_pm_defs.h b/mali_kbase/backend/gpu/mali_kbase_pm_defs.h index 9b17092..edec761 100644 --- a/mali_kbase/backend/gpu/mali_kbase_pm_defs.h +++ b/mali_kbase/backend/gpu/mali_kbase_pm_defs.h @@ -361,10 +361,6 @@ struct kbase_pm_event_log { * @callback_power_runtime_gpu_idle was * called previously. * See &struct kbase_pm_callback_conf. - * @callback_power_on_sc_rails: Callback invoked to turn on the shader core - * power rails. See &struct kbase_pm_callback_conf. - * @callback_power_off_sc_rails: Callback invoked to turn off the shader core - * power rails. See &struct kbase_pm_callback_conf. * @ca_cores_enabled: Cores that are currently available * @apply_hw_issue_TITANHW_2938_wa: Indicates if the workaround for BASE_HW_ISSUE_TITANHW_2938 * needs to be applied when unmapping memory from GPU. @@ -536,10 +532,6 @@ struct kbase_pm_backend_data { void (*callback_hardware_reset)(struct kbase_device *kbdev); void (*callback_power_runtime_gpu_idle)(struct kbase_device *kbdev); void (*callback_power_runtime_gpu_active)(struct kbase_device *kbdev); -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - void (*callback_power_on_sc_rails)(struct kbase_device *kbdev); - void (*callback_power_off_sc_rails)(struct kbase_device *kbdev); -#endif u64 ca_cores_enabled; @@ -558,11 +550,6 @@ struct kbase_pm_backend_data { struct mutex policy_change_lock; struct workqueue_struct *core_idle_wq; struct work_struct core_idle_work; -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - struct work_struct sc_rails_on_work; - bool sc_power_rails_off; - bool sc_pwroff_safe; -#endif #ifdef KBASE_PM_RUNTIME bool gpu_sleep_supported; diff --git a/mali_kbase/backend/gpu/mali_kbase_pm_driver.c b/mali_kbase/backend/gpu/mali_kbase_pm_driver.c index 142f819..4637861 100644 --- a/mali_kbase/backend/gpu/mali_kbase_pm_driver.c +++ b/mali_kbase/backend/gpu/mali_kbase_pm_driver.c @@ -802,10 +802,6 @@ static void kbasep_pm_toggle_power_interrupt(struct kbase_device *kbdev, bool en irq_mask = kbase_reg_read32(kbdev, GPU_CONTROL_ENUM(GPU_IRQ_MASK)); -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - /* For IFPO, we require the POWER_CHANGED_ALL interrupt to be always on */ - enable = true; -#endif if (enable) { irq_mask |= POWER_CHANGED_ALL; kbase_reg_write32(kbdev, GPU_CONTROL_ENUM(GPU_IRQ_CLEAR), POWER_CHANGED_ALL); @@ -938,14 +934,6 @@ static int kbase_pm_mcu_update_state(struct kbase_device *kbdev) backend->shaders_avail = backend->shaders_desired_mask; backend->pm_shaders_core_mask = 0; if (kbdev->csf.firmware_hctl_core_pwr) { -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - /* On rail up, this state machine will be re-invoked */ - if (backend->sc_power_rails_off) { - /* The work should already be queued or executing */ - WARN_ON(!work_busy(&backend->sc_rails_on_work)); - break; - } -#endif kbase_pm_invoke(kbdev, KBASE_PM_CORE_SHADER, backend->shaders_avail, ACTION_PWRON); backend->mcu_state = KBASE_MCU_HCTL_SHADERS_PEND_ON; @@ -1311,31 +1299,6 @@ static void core_idle_worker(struct work_struct *work) } #endif -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS -static void sc_rails_on_worker(struct work_struct *work) -{ - struct kbase_device *kbdev = - container_of(work, struct kbase_device, pm.backend.sc_rails_on_work); - unsigned long flags; - - /* - * Intentionally not synchronized using the scheduler.lock, as the scheduler may be waiting - * on the SC rail to power up - */ - kbase_pm_lock(kbdev); - - kbase_pm_turn_on_sc_power_rails_locked(kbdev); - - spin_lock_irqsave(&kbdev->hwaccess_lock, flags); - /* Push the state machine forward in case it was waiting on SC rail power up */ - kbase_pm_update_state(kbdev); - spin_unlock_irqrestore(&kbdev->hwaccess_lock, flags); - - kbase_pm_unlock(kbdev); -} -#endif /* CONFIG_MALI_HOST_CONTROLS_SC_RAILS */ - - static const char *kbase_l2_core_state_to_string(enum kbase_l2_core_state state) { const char *const strings[] = { @@ -2475,9 +2438,6 @@ int kbase_pm_state_machine_init(struct kbase_device *kbdev) } INIT_WORK(&kbdev->pm.backend.core_idle_work, core_idle_worker); -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - INIT_WORK(&kbdev->pm.backend.sc_rails_on_work, sc_rails_on_worker); -#endif #endif return 0; @@ -2591,10 +2551,6 @@ void kbase_gpu_timeout_debug_message(struct kbase_device *kbdev, const char *tim kbase_pm_is_l2_desired(kbdev), kbdev->pm.backend.policy_change_clamp_state_to_off); dev_err(kbdev->dev, "\tL2 sw state = %d\n", kbdev->pm.backend.l2_state); -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - dev_err(kbdev->dev, "\tbackend.sc_power_rails_off = %d\n", - kbdev->pm.backend.sc_power_rails_off); -#endif spin_unlock_irqrestore(&kbdev->hwaccess_lock, flags); #endif dev_err(kbdev->dev, "Current state :\n"); @@ -3642,11 +3598,6 @@ int kbase_pm_init_hw(struct kbase_device *kbdev, unsigned int flags) kbdev->pm.backend.gpu_powered = true; } -#ifdef CONFIG_MALI_HOST_CONTROLS_SC_RAILS - /* Ensure the SC rail is up otherwise the FW will get stuck during reset */ - kbase_pm_turn_on_sc_power_rails_locked(kbdev); -#endif - /* Ensure interrupts are off to begin with, this also clears any * outstanding interrupts |