drm/panfrost: Select devfreq
Currently, there is some logic for the driver to work without devfreq. However, the driver actually fails to probe if !CONFIG_PM_DEVFREQ. Fix this by selecting devfreq, and drop the additional checks for devfreq. Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190517150042.776-1-ezequiel@collabora.com
This commit is contained in:
parent
7c42063686
commit
f3617b449d
|
@ -9,6 +9,7 @@ config DRM_PANFROST
|
||||||
select IOMMU_SUPPORT
|
select IOMMU_SUPPORT
|
||||||
select IOMMU_IO_PGTABLE_LPAE
|
select IOMMU_IO_PGTABLE_LPAE
|
||||||
select DRM_GEM_SHMEM_HELPER
|
select DRM_GEM_SHMEM_HELPER
|
||||||
|
select PM_DEVFREQ
|
||||||
help
|
help
|
||||||
DRM driver for ARM Mali Midgard (T6xx, T7xx, T8xx) and
|
DRM driver for ARM Mali Midgard (T6xx, T7xx, T8xx) and
|
||||||
Bifrost (G3x, G5x, G7x) GPUs.
|
Bifrost (G3x, G5x, G7x) GPUs.
|
||||||
|
|
|
@ -140,8 +140,8 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ret = dev_pm_opp_of_add_table(&pfdev->pdev->dev);
|
ret = dev_pm_opp_of_add_table(&pfdev->pdev->dev);
|
||||||
if (ret == -ENODEV) /* Optional, continue without devfreq */
|
if (ret)
|
||||||
return 0;
|
return ret;
|
||||||
|
|
||||||
panfrost_devfreq_reset(pfdev);
|
panfrost_devfreq_reset(pfdev);
|
||||||
|
|
||||||
|
@ -170,9 +170,6 @@ void panfrost_devfreq_resume(struct panfrost_device *pfdev)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!pfdev->devfreq.devfreq)
|
|
||||||
return;
|
|
||||||
|
|
||||||
panfrost_devfreq_reset(pfdev);
|
panfrost_devfreq_reset(pfdev);
|
||||||
for (i = 0; i < NUM_JOB_SLOTS; i++)
|
for (i = 0; i < NUM_JOB_SLOTS; i++)
|
||||||
pfdev->devfreq.slot[i].busy = false;
|
pfdev->devfreq.slot[i].busy = false;
|
||||||
|
@ -182,9 +179,6 @@ void panfrost_devfreq_resume(struct panfrost_device *pfdev)
|
||||||
|
|
||||||
void panfrost_devfreq_suspend(struct panfrost_device *pfdev)
|
void panfrost_devfreq_suspend(struct panfrost_device *pfdev)
|
||||||
{
|
{
|
||||||
if (!pfdev->devfreq.devfreq)
|
|
||||||
return;
|
|
||||||
|
|
||||||
devfreq_suspend_device(pfdev->devfreq.devfreq);
|
devfreq_suspend_device(pfdev->devfreq.devfreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -194,9 +188,6 @@ static void panfrost_devfreq_update_utilization(struct panfrost_device *pfdev, i
|
||||||
ktime_t now;
|
ktime_t now;
|
||||||
ktime_t last;
|
ktime_t last;
|
||||||
|
|
||||||
if (!pfdev->devfreq.devfreq)
|
|
||||||
return;
|
|
||||||
|
|
||||||
now = ktime_get();
|
now = ktime_get();
|
||||||
last = pfdev->devfreq.slot[slot].time_last_update;
|
last = pfdev->devfreq.slot[slot].time_last_update;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue