Commit a5f76823 authored by Steven Price's avatar Steven Price Committed by Rob Herring

drm/panfrost: Remove core stack power management

Explicit management of the GPU's core stacks is only necessary in the
case of a broken integration with the PDC. Since there are no known
platforms which have such a broken integration let's remove the explicit
control from the driver since this apparently causes problems on other
platforms and will have a small performance penality.

The out of tree mali_kbase driver contains this text regarding
controlling the core stack (CONFIGMALI_CORESTACK):

  Enabling this feature on supported GPUs will let the driver powering
  on/off the GPU core stack independently without involving the Power
  Domain Controller. This should only be enabled on platforms which
  integration of the PDC to the Mali GPU is known to be problematic.
  This feature is currently only supported on t-Six and t-HEx GPUs.

  If unsure, say N.
Signed-off-by: default avatarSteven Price <steven.price@arm.com>
Acked-by: default avatarAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: default avatarNicolas Boichat <drinkcat@chromium.org>
Tested-by: default avatarNicolas Boichat <drinkcat@chromium.org>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200109133104.11661-1-steven.price@arm.com
parent 77d1a6db
...@@ -309,10 +309,6 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev) ...@@ -309,10 +309,6 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev)
ret = readl_relaxed_poll_timeout(pfdev->iomem + L2_READY_LO, ret = readl_relaxed_poll_timeout(pfdev->iomem + L2_READY_LO,
val, val == pfdev->features.l2_present, 100, 1000); val, val == pfdev->features.l2_present, 100, 1000);
gpu_write(pfdev, STACK_PWRON_LO, pfdev->features.stack_present);
ret |= readl_relaxed_poll_timeout(pfdev->iomem + STACK_READY_LO,
val, val == pfdev->features.stack_present, 100, 1000);
gpu_write(pfdev, SHADER_PWRON_LO, pfdev->features.shader_present); gpu_write(pfdev, SHADER_PWRON_LO, pfdev->features.shader_present);
ret |= readl_relaxed_poll_timeout(pfdev->iomem + SHADER_READY_LO, ret |= readl_relaxed_poll_timeout(pfdev->iomem + SHADER_READY_LO,
val, val == pfdev->features.shader_present, 100, 1000); val, val == pfdev->features.shader_present, 100, 1000);
...@@ -329,7 +325,6 @@ void panfrost_gpu_power_off(struct panfrost_device *pfdev) ...@@ -329,7 +325,6 @@ void panfrost_gpu_power_off(struct panfrost_device *pfdev)
{ {
gpu_write(pfdev, TILER_PWROFF_LO, 0); gpu_write(pfdev, TILER_PWROFF_LO, 0);
gpu_write(pfdev, SHADER_PWROFF_LO, 0); gpu_write(pfdev, SHADER_PWROFF_LO, 0);
gpu_write(pfdev, STACK_PWROFF_LO, 0);
gpu_write(pfdev, L2_PWROFF_LO, 0); gpu_write(pfdev, L2_PWROFF_LO, 0);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment