From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Marijn Suijten <marijn.suijten@somainline.org>
Cc: Stephen Boyd <swboyd@chromium.org>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
Bjorn Andersson <andersson@kernel.org>,
linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
freedreno@lists.freedesktop.org
Subject: [PATCH 02/17] drm/msm/mdp5: use devres-managed allocation for configuration data
Date: Sat, 8 Jul 2023 04:03:52 +0300 [thread overview]
Message-ID: <20230708010407.3871346-3-dmitry.baryshkov@linaro.org> (raw)
In-Reply-To: <20230708010407.3871346-1-dmitry.baryshkov@linaro.org>
Use devm_kzalloc to create configuration data structure. This allows us
to remove corresponding kfree and drop mdp5_cfg_destroy() function.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c | 24 +++++-------------------
drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h | 1 -
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 2 --
3 files changed, 5 insertions(+), 22 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
index 694d54341337..c5179e4c393c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
@@ -1350,23 +1350,17 @@ int mdp5_cfg_get_hw_rev(struct mdp5_cfg_handler *cfg_handler)
return cfg_handler->revision;
}
-void mdp5_cfg_destroy(struct mdp5_cfg_handler *cfg_handler)
-{
- kfree(cfg_handler);
-}
-
struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
uint32_t major, uint32_t minor)
{
struct drm_device *dev = mdp5_kms->dev;
struct mdp5_cfg_handler *cfg_handler;
const struct mdp5_cfg_handler *cfg_handlers;
- int i, ret = 0, num_handlers;
+ int i, num_handlers;
- cfg_handler = kzalloc(sizeof(*cfg_handler), GFP_KERNEL);
+ cfg_handler = devm_kzalloc(dev->dev, sizeof(*cfg_handler), GFP_KERNEL);
if (unlikely(!cfg_handler)) {
- ret = -ENOMEM;
- goto fail;
+ return ERR_PTR(-ENOMEM);
}
switch (major) {
@@ -1381,8 +1375,7 @@ struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
default:
DRM_DEV_ERROR(dev->dev, "unexpected MDP major version: v%d.%d\n",
major, minor);
- ret = -ENXIO;
- goto fail;
+ return ERR_PTR(-ENXIO);
}
/* only after mdp5_cfg global pointer's init can we access the hw */
@@ -1396,8 +1389,7 @@ struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
if (unlikely(!mdp5_cfg)) {
DRM_DEV_ERROR(dev->dev, "unexpected MDP minor revision: v%d.%d\n",
major, minor);
- ret = -ENXIO;
- goto fail;
+ return ERR_PTR(-ENXIO);
}
cfg_handler->revision = minor;
@@ -1406,10 +1398,4 @@ struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
DBG("MDP5: %s hw config selected", mdp5_cfg->name);
return cfg_handler;
-
-fail:
- if (cfg_handler)
- mdp5_cfg_destroy(cfg_handler);
-
- return ERR_PTR(ret);
}
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h
index c2502cc33864..26c5d8b4ab46 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h
@@ -121,6 +121,5 @@ int mdp5_cfg_get_hw_rev(struct mdp5_cfg_handler *cfg_hnd);
struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
uint32_t major, uint32_t minor);
-void mdp5_cfg_destroy(struct mdp5_cfg_handler *cfg_hnd);
#endif /* __MDP5_CFG_H__ */
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
index 52f176e08690..828634206185 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
@@ -629,8 +629,6 @@ static void mdp5_destroy(struct mdp5_kms *mdp5_kms)
mdp5_ctlm_destroy(mdp5_kms->ctlm);
if (mdp5_kms->smp)
mdp5_smp_destroy(mdp5_kms->smp);
- if (mdp5_kms->cfg)
- mdp5_cfg_destroy(mdp5_kms->cfg);
for (i = 0; i < mdp5_kms->num_intfs; i++)
kfree(mdp5_kms->intfs[i]);
--
2.39.2
next prev parent reply other threads:[~2023-07-08 1:04 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-08 1:03 [PATCH 00/17] drm/msm/mdp[45]: use managed memory allocations Dmitry Baryshkov
2023-07-08 1:03 ` [PATCH 01/17] drm/msm: add arrays listing formats supported by MDP4/MDP5 hardware Dmitry Baryshkov
2023-12-02 1:36 ` Abhinav Kumar
2023-12-02 11:12 ` Dmitry Baryshkov
2023-07-08 1:03 ` Dmitry Baryshkov [this message]
2023-12-01 22:12 ` [Freedreno] [PATCH 02/17] drm/msm/mdp5: use devres-managed allocation for configuration data Abhinav Kumar
2023-07-08 1:03 ` [PATCH 03/17] drm/msm/mdp5: use devres-managed allocation for CTL manager data Dmitry Baryshkov
2023-12-01 22:15 ` Abhinav Kumar
2023-12-01 22:16 ` Abhinav Kumar
2023-07-08 1:03 ` [PATCH 04/17] drm/msm/mdp5: use devres-managed allocation for mixer data Dmitry Baryshkov
2023-12-01 22:19 ` Abhinav Kumar
2023-07-08 1:03 ` [PATCH 05/17] drm/msm/mdp5: use devres-managed allocation for pipe data Dmitry Baryshkov
2023-12-01 22:21 ` Abhinav Kumar
2023-07-08 1:03 ` [PATCH 06/17] drm/msm/mdp5: use devres-managed allocation for SMP data Dmitry Baryshkov
2023-12-01 22:23 ` Abhinav Kumar
2023-07-08 1:03 ` [PATCH 07/17] drm/msm/mdp5: use devres-managed allocation for INTF data Dmitry Baryshkov
2023-12-01 23:04 ` Abhinav Kumar
2023-07-08 1:03 ` [PATCH 08/17] drm/msm/mdp5: use drmm-managed allocation for mdp5_crtc Dmitry Baryshkov
2023-12-01 23:12 ` Abhinav Kumar
2023-07-08 1:03 ` [PATCH 09/17] drm/msm/mdp5: use drmm-managed allocation for mdp5_encoder Dmitry Baryshkov
2023-12-01 23:15 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 10/17] drm/msm/mdp5: use drmm-managed allocation for mdp5_plane Dmitry Baryshkov
2023-12-01 23:24 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 11/17] drm/msm/mdp4: use bulk regulators API for LCDC encoder Dmitry Baryshkov
2023-12-01 23:27 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 12/17] drm/msm/mdp4: use drmm-managed allocation for mdp4_crtc Dmitry Baryshkov
2023-12-02 0:49 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 13/17] drm/msm/mdp4: use drmm-managed allocation for mdp4_dsi_encoder Dmitry Baryshkov
2023-12-02 1:16 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 14/17] drm/msm/mdp4: use drmm-managed allocation for mdp4_dtv_encoder Dmitry Baryshkov
2023-12-02 1:17 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 15/17] drm/msm/mdp4: use drmm-managed allocation for mdp4_lcdc_encoder Dmitry Baryshkov
2023-12-02 1:22 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 16/17] drm/msm/mdp4: use drmm-managed allocation for mdp4_plane Dmitry Baryshkov
2023-12-02 1:24 ` Abhinav Kumar
2023-07-08 1:04 ` [PATCH 17/17] drm/msm: drop mdp_get_formats() Dmitry Baryshkov
2023-12-02 1:25 ` Abhinav Kumar
2023-12-02 1:33 ` Abhinav Kumar
2023-12-03 11:26 ` [PATCH 00/17] drm/msm/mdp[45]: use managed memory allocations Dmitry Baryshkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230708010407.3871346-3-dmitry.baryshkov@linaro.org \
--to=dmitry.baryshkov@linaro.org \
--cc=airlied@gmail.com \
--cc=andersson@kernel.org \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=quic_abhinavk@quicinc.com \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
--cc=swboyd@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox