From: Jessica Zhang <quic_jesszhan@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
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: Re: [PATCH v3 05/13] drm/msm/dpu: use devres-managed allocation for MDP TOP
Date: Tue, 15 Aug 2023 13:17:07 -0700 [thread overview]
Message-ID: <4212982a-e5fc-c7f2-1b4f-96f2e1848a74@quicinc.com> (raw)
In-Reply-To: <20230730011920.354575-6-dmitry.baryshkov@linaro.org>
On 7/29/2023 6:19 PM, Dmitry Baryshkov wrote:
> Use devm_kzalloc to create MDP TOP structure. This allows us to remove
> corresponding kfree and drop dpu_hw_mdp_destroy() function.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 17 +++++++----------
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h | 8 +++++---
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 5 ++---
> 3 files changed, 14 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c
> index cff48763ce25..481b373d9ccb 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c
> @@ -2,6 +2,8 @@
> /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
> */
>
> +#include <drm/drm_managed.h>
Hi Dmitry,
Is it possible to put this #include in a common header? Since it seems
that this is a common change for a lot of patches in this series.
Thanks,
Jessica Zhang
> +
> #include "dpu_hwio.h"
> #include "dpu_hw_catalog.h"
> #include "dpu_hw_top.h"
> @@ -268,16 +270,17 @@ static void _setup_mdp_ops(struct dpu_hw_mdp_ops *ops,
> ops->intf_audio_select = dpu_hw_intf_audio_select;
> }
>
> -struct dpu_hw_mdp *dpu_hw_mdptop_init(const struct dpu_mdp_cfg *cfg,
> - void __iomem *addr,
> - const struct dpu_mdss_cfg *m)
> +struct dpu_hw_mdp *dpu_hw_mdptop_init(struct drm_device *dev,
> + const struct dpu_mdp_cfg *cfg,
> + void __iomem *addr,
> + const struct dpu_mdss_cfg *m)
> {
> struct dpu_hw_mdp *mdp;
>
> if (!addr)
> return ERR_PTR(-EINVAL);
>
> - mdp = kzalloc(sizeof(*mdp), GFP_KERNEL);
> + mdp = drmm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
> if (!mdp)
> return ERR_PTR(-ENOMEM);
>
> @@ -292,9 +295,3 @@ struct dpu_hw_mdp *dpu_hw_mdptop_init(const struct dpu_mdp_cfg *cfg,
>
> return mdp;
> }
> -
> -void dpu_hw_mdp_destroy(struct dpu_hw_mdp *mdp)
> -{
> - kfree(mdp);
> -}
> -
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h
> index 8b1463d2b2f0..6f3dc98087df 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h
> @@ -145,13 +145,15 @@ struct dpu_hw_mdp {
>
> /**
> * dpu_hw_mdptop_init - initializes the top driver for the passed config
> + * @dev: Corresponding device for devres management
> * @cfg: MDP TOP configuration from catalog
> * @addr: Mapped register io address of MDP
> * @m: Pointer to mdss catalog data
> */
> -struct dpu_hw_mdp *dpu_hw_mdptop_init(const struct dpu_mdp_cfg *cfg,
> - void __iomem *addr,
> - const struct dpu_mdss_cfg *m);
> +struct dpu_hw_mdp *dpu_hw_mdptop_init(struct drm_device *dev,
> + const struct dpu_mdp_cfg *cfg,
> + void __iomem *addr,
> + const struct dpu_mdss_cfg *m);
>
> void dpu_hw_mdp_destroy(struct dpu_hw_mdp *mdp);
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> index 6e0643ea4868..d4f4cb402663 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> @@ -820,8 +820,6 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
>
> dpu_kms->catalog = NULL;
>
> - if (dpu_kms->hw_mdp)
> - dpu_hw_mdp_destroy(dpu_kms->hw_mdp);
> dpu_kms->hw_mdp = NULL;
> }
>
> @@ -1091,7 +1089,8 @@ static int dpu_kms_hw_init(struct msm_kms *kms)
>
> dpu_kms->rm_init = true;
>
> - dpu_kms->hw_mdp = dpu_hw_mdptop_init(dpu_kms->catalog->mdp,
> + dpu_kms->hw_mdp = dpu_hw_mdptop_init(dev,
> + dpu_kms->catalog->mdp,
> dpu_kms->mmio,
> dpu_kms->catalog);
> if (IS_ERR(dpu_kms->hw_mdp)) {
> --
> 2.39.2
>
next prev parent reply other threads:[~2023-08-15 20:18 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-30 1:19 [PATCH v3 00/13] drm/msm/dpu: use managed memory allocations Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 01/13] drm/msm/dpu: cleanup dpu_kms_hw_init error path Dmitry Baryshkov
2023-12-01 19:12 ` [Freedreno] " Jessica Zhang
2023-07-30 1:19 ` [PATCH v3 02/13] drm/msm/dpu: remove IS_ERR_OR_NULL for dpu_hw_intr_init() error handling Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 03/13] drm/msm/dpu: use devres-managed allocation for interrupts data Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 04/13] drm/msm/dpu: use devres-managed allocation for VBIF data Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 05/13] drm/msm/dpu: use devres-managed allocation for MDP TOP Dmitry Baryshkov
2023-08-15 20:17 ` Jessica Zhang [this message]
2023-08-16 7:27 ` Dmitry Baryshkov
2023-12-01 18:57 ` Jessica Zhang
2023-07-30 1:19 ` [PATCH v3 06/13] drm/msm/dpu: use devres-managed allocation for HW blocks Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 07/13] drm/msm/dpu: drop unused dpu_plane::lock Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 08/13] drm/msm/dpu: remove QoS teardown on plane destruction Dmitry Baryshkov
2023-12-01 19:49 ` Jessica Zhang
2023-07-30 1:19 ` [PATCH v3 09/13] drm/msm/dpu: use drmm-managed allocation for dpu_plane Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 10/13] drm/msm/dpu: use drmm-managed allocation for dpu_crtc Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 11/13] drm/msm/dpu: use drmm-managed allocation for dpu_encoder_phys Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 12/13] drm/msm/dpu: drop dpu_encoder_phys_ops::destroy Dmitry Baryshkov
2023-07-30 1:19 ` [PATCH v3 13/13] drm/msm/dpu: use drmm-managed allocation for dpu_encoder_virt Dmitry Baryshkov
2023-12-01 19:29 ` Jessica Zhang
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=4212982a-e5fc-c7f2-1b4f-96f2e1848a74@quicinc.com \
--to=quic_jesszhan@quicinc.com \
--cc=airlied@gmail.com \
--cc=andersson@kernel.org \
--cc=daniel@ffwll.ch \
--cc=dmitry.baryshkov@linaro.org \
--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