Add missing calls to dpu_hw_dspp_destroy() to free resources allocated
for DSPP hardware blocks.

Fixes: e47616df008b ("drm/msm/dpu: add support for color processing blocks in 
dpu driver")
Signed-off-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
Reviewed-by: Stephen Boyd <swb...@chromium.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
index b5b1ea1e4de6..63ed0d7df848 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c
@@ -35,6 +35,14 @@ int dpu_rm_destroy(struct dpu_rm *rm)
 {
        int i;
 
+       for (i = 0; i < ARRAY_SIZE(rm->dspp_blks); i++) {
+               struct dpu_hw_dspp *hw;
+
+               if (rm->dspp_blks[i]) {
+                       hw = to_dpu_hw_dspp(rm->dspp_blks[i]);
+                       dpu_hw_dspp_destroy(hw);
+               }
+       }
        for (i = 0; i < ARRAY_SIZE(rm->pingpong_blks); i++) {
                struct dpu_hw_pingpong *hw;
 
-- 
2.34.1

Reply via email to