drm/msm/dpu: add DSPP blocks teardown
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 21 Jan 2022 21:06:14 +0000 (00:06 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:33 +0000 (14:23 +0200)
[ Upstream commit d5c5e78f217172e87d8fb2c3418dd8b58b4adfcb ]

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.baryshkov@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Link: https://lore.kernel.org/r/20220121210618.3482550-3-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c

index f9c83d6e427adebbb6d36badaf4e57d6e5de1509..24fbaf562d418120ea15f1a120b375ea4dc1fb6f 100644 (file)
@@ -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;