Both patches are Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@xxxxxxxxxxxxx> On Thu, Jun 11, 2020 at 10:58:43AM +0200, Tomeu Vizoso wrote: > Bifrost devices do support the flush reduction feature, so on first job > submit we were trying to read the register while still powered off. > > If the GPU is powered off, the feature doesn't bring any benefit, so > don't try to read. > > Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/panfrost/panfrost_gpu.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c > index f2c1ddc41a9b..e0f190e43813 100644 > --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c > +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c > @@ -10,6 +10,7 @@ > #include <linux/io.h> > #include <linux/iopoll.h> > #include <linux/platform_device.h> > +#include <linux/pm_runtime.h> > > #include "panfrost_device.h" > #include "panfrost_features.h" > @@ -368,7 +369,16 @@ void panfrost_gpu_fini(struct panfrost_device *pfdev) > > u32 panfrost_gpu_get_latest_flush_id(struct panfrost_device *pfdev) > { > - if (panfrost_has_hw_feature(pfdev, HW_FEATURE_FLUSH_REDUCTION)) > - return gpu_read(pfdev, GPU_LATEST_FLUSH_ID); > + u32 flush_id; > + > + if (panfrost_has_hw_feature(pfdev, HW_FEATURE_FLUSH_REDUCTION)) { > + /* Flush reduction only makes sense when the GPU is kept powered on between jobs */ > + if (pm_runtime_get_if_in_use(pfdev->dev)) { > + flush_id = gpu_read(pfdev, GPU_LATEST_FLUSH_ID); > + pm_runtime_put(pfdev->dev); > + return flush_id; > + } > + } > + > return 0; > } > -- > 2.21.0 >
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel