Patch "drm/panfrost: devfreq: set opp to the recommended one to configure regulator" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/panfrost: devfreq: set opp to the recommended one to configure regulator

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-panfrost-devfreq-set-opp-to-the-recommended-one-.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 2d9b89a5a3bc2c99427213c084fe477a381fcb49
Author: Clément Péron <peron.clem@xxxxxxxxx>
Date:   Tue Sep 6 17:30:33 2022 +0200

    drm/panfrost: devfreq: set opp to the recommended one to configure regulator
    
    [ Upstream commit d76034a427a2660b080bc155e4fd8f6393eefb48 ]
    
    Enabling panfrost GPU OPP with dynamic regulator will make OPP
    responsible to enable and configure it.
    
    Unfortunately OPP configure and enable the regulator when an OPP
    is asked to be set, which is not the case during
    panfrost_devfreq_init().
    
    This leave the regulator unconfigured and if no GPU load is
    triggered, no OPP is asked to be set which make the regulator framework
    switching it off during regulator_late_cleanup() without
    noticing and therefore make the board hang as any access to GPU
    memory space make bus locks up.
    
    Call dev_pm_opp_set_opp() with the recommend OPP in
    panfrost_devfreq_init() to enable the regulator, this will properly
    configure and enable the regulator and will avoid any switch off
    by regulator_late_cleanup().
    
    Suggested-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
    Signed-off-by: Clément Péron <peron.clem@xxxxxxxxx>
    Reviewed-by: Steven Price <steven.price@xxxxxxx>
    Signed-off-by: Steven Price <steven.price@xxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220906153034.153321-5-peron.clem@xxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
index 194af7f607a6..be36dd060a2b 100644
--- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c
+++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
@@ -132,6 +132,17 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev)
 		return PTR_ERR(opp);
 
 	panfrost_devfreq_profile.initial_freq = cur_freq;
+
+	/*
+	 * Set the recommend OPP this will enable and configure the regulator
+	 * if any and will avoid a switch off by regulator_late_cleanup()
+	 */
+	ret = dev_pm_opp_set_opp(dev, opp);
+	if (ret) {
+		DRM_DEV_ERROR(dev, "Couldn't set recommended OPP\n");
+		return ret;
+	}
+
 	dev_pm_opp_put(opp);
 
 	/*



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux