Commit 52efe364d196 ("drm/vc4: hvs: Don't write gamma luts on 2711")
added a return path to vc4_hvs_lut_load that had called
drm_dev_enter, but not drm_dev_exit.
Ensure we call drm_dev_exit.
Fixes: 52efe364d196 ("drm/vc4: hvs: Don't write gamma luts on 2711")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Closes: https://lore.kernel.org/dri-devel/37051126-3921-4afe-a936-5f828bff5752@samsung.com/
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
drivers/gpu/drm/vc4/vc4_hvs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c
index 2a366a607fcc..546ee11016b2 100644
--- a/drivers/gpu/drm/vc4/vc4_hvs.c
+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
@@ -225,7 +225,7 @@ static void vc4_hvs_lut_load(struct vc4_hvs *hvs,
return;
if (hvs->vc4->gen == VC4_GEN_4)
- return;
+ goto exit;
/* The LUT memory is laid out with each HVS channel in order,
* each of which takes 256 writes for R, 256 for G, then 256
@@ -242,6 +242,7 @@ static void vc4_hvs_lut_load(struct vc4_hvs *hvs,
for (i = 0; i < crtc->gamma_size; i++)
HVS_WRITE(SCALER_GAMDATA, vc4_crtc->lut_b[i]);
+exit:
drm_dev_exit(idx);
}
--
2.34.1
On 08.10.2024 18:44, Dave Stevenson wrote: > Commit 52efe364d196 ("drm/vc4: hvs: Don't write gamma luts on 2711") > added a return path to vc4_hvs_lut_load that had called > drm_dev_enter, but not drm_dev_exit. > > Ensure we call drm_dev_exit. > > Fixes: 52efe364d196 ("drm/vc4: hvs: Don't write gamma luts on 2711") > Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> > Closes: https://lore.kernel.org/dri-devel/37051126-3921-4afe-a936-5f828bff5752@samsung.com/ > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> > --- > drivers/gpu/drm/vc4/vc4_hvs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c > index 2a366a607fcc..546ee11016b2 100644 > --- a/drivers/gpu/drm/vc4/vc4_hvs.c > +++ b/drivers/gpu/drm/vc4/vc4_hvs.c > @@ -225,7 +225,7 @@ static void vc4_hvs_lut_load(struct vc4_hvs *hvs, > return; > > if (hvs->vc4->gen == VC4_GEN_4) > - return; > + goto exit; > > /* The LUT memory is laid out with each HVS channel in order, > * each of which takes 256 writes for R, 256 for G, then 256 > @@ -242,6 +242,7 @@ static void vc4_hvs_lut_load(struct vc4_hvs *hvs, > for (i = 0; i < crtc->gamma_size; i++) > HVS_WRITE(SCALER_GAMDATA, vc4_crtc->lut_b[i]); > > +exit: > drm_dev_exit(idx); > } > > Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland
Hi Dave, On 10/8/24 13:44, Dave Stevenson wrote: > Commit 52efe364d196 ("drm/vc4: hvs: Don't write gamma luts on 2711") > added a return path to vc4_hvs_lut_load that had called > drm_dev_enter, but not drm_dev_exit. > > Ensure we call drm_dev_exit. > > Fixes: 52efe364d196 ("drm/vc4: hvs: Don't write gamma luts on 2711") > Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> > Closes: https://lore.kernel.org/dri-devel/37051126-3921-4afe-a936-5f828bff5752@samsung.com/ > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > --- > drivers/gpu/drm/vc4/vc4_hvs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c > index 2a366a607fcc..546ee11016b2 100644 > --- a/drivers/gpu/drm/vc4/vc4_hvs.c > +++ b/drivers/gpu/drm/vc4/vc4_hvs.c > @@ -225,7 +225,7 @@ static void vc4_hvs_lut_load(struct vc4_hvs *hvs, > return; > > if (hvs->vc4->gen == VC4_GEN_4) > - return; > + goto exit; As exit only has one function, I'd probably switch `return;` to `return drm_dev_exit(idx);` as `drm_dev_exit()` returns void. But this isn't critical, so: Reviewed-by: Maíra Canal <mcanal@igalia.com> Best Regards, - Maíra > > /* The LUT memory is laid out with each HVS channel in order, > * each of which takes 256 writes for R, 256 for G, then 256 > @@ -242,6 +242,7 @@ static void vc4_hvs_lut_load(struct vc4_hvs *hvs, > for (i = 0; i < crtc->gamma_size; i++) > HVS_WRITE(SCALER_GAMDATA, vc4_crtc->lut_b[i]); > > +exit: > drm_dev_exit(idx); > } > >
© 2016 - 2024 Red Hat, Inc.