From: John Stultz <john.stultz@linaro.org> To: lkml <linux-kernel@vger.kernel.org> Cc: Xu YiPing <xuyiping@hisilicon.com>, Xinliang Liu <z.liuxinliang@hisilicon.com>, Rongrong Zou <zourongrong@gmail.com>, Xinwei Kong <kong.kongxinwei@hisilicon.com>, Chen Feng <puck.chen@hisilicon.com>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, dri-devel <dri-devel@lists.freedesktop.org>, John Stultz <john.stultz@linaro.org> Subject: [PATCH 13/25] drm: kirin: Move ade crtc/plane help functions to driver_data Date: Tue, 23 Apr 2019 16:20:44 -0700 [thread overview] Message-ID: <1556061656-1733-14-git-send-email-john.stultz@linaro.org> (raw) In-Reply-To: <1556061656-1733-1-git-send-email-john.stultz@linaro.org> From: Xu YiPing <xuyiping@hisilicon.com> As part of refactoring the kirin driver to better support different hardware revisions, this patch moves the crtc and plane funcs/helper_funcs to the struct kirin_drm_data. This will make it easier to add support for new devices via a new kirin_drm_data structure. Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com> Cc: Chen Feng <puck.chen@hisilicon.com> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: dri-devel <dri-devel@lists.freedesktop.org> Signed-off-by: Xu YiPing <xuyiping@hisilicon.com> [jstultz: reworded commit message] Signed-off-by: John Stultz <john.stultz@linaro.org> --- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 15 ++++++++++----- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h | 5 +++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c index 221bfbb..6aa529f 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c @@ -602,13 +602,13 @@ static int ade_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, crtc->port = port; ret = drm_crtc_init_with_planes(dev, crtc, plane, NULL, - &ade_crtc_funcs, NULL); + ade_driver_data.crtc_funcs, NULL); if (ret) { DRM_ERROR("failed to init crtc.\n"); return ret; } - drm_crtc_helper_add(crtc, &ade_crtc_helper_funcs); + drm_crtc_helper_add(crtc, ade_driver_data.crtc_helper_funcs); return 0; } @@ -917,14 +917,15 @@ static int ade_plane_init(struct drm_device *dev, struct kirin_plane *kplane, if (ret) return ret; - ret = drm_universal_plane_init(dev, &kplane->base, 1, &ade_plane_funcs, - fmts, fmts_cnt, NULL, type, NULL); + ret = drm_universal_plane_init(dev, &kplane->base, 1, + ade_driver_data.plane_funcs, fmts, + fmts_cnt, NULL, type, NULL); if (ret) { DRM_ERROR("fail to init plane, ch=%d\n", kplane->ch); return ret; } - drm_plane_helper_add(&kplane->base, &ade_plane_helper_funcs); + drm_plane_helper_add(&kplane->base, ade_driver_data.plane_helper_funcs); return 0; } @@ -1056,6 +1057,10 @@ static void ade_drm_cleanup(struct platform_device *pdev) } struct kirin_drm_data ade_driver_data = { + .crtc_helper_funcs = &ade_crtc_helper_funcs, + .crtc_funcs = &ade_crtc_funcs, + .plane_helper_funcs = &ade_plane_helper_funcs, + .plane_funcs = &ade_plane_funcs, .init = ade_drm_init, .cleanup = ade_drm_cleanup }; diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h index 276b159..05161ff 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h @@ -39,6 +39,11 @@ struct kirin_plane { /* display controller init/cleanup ops */ struct kirin_drm_data { + const struct drm_crtc_helper_funcs *crtc_helper_funcs; + const struct drm_crtc_funcs *crtc_funcs; + const struct drm_plane_helper_funcs *plane_helper_funcs; + const struct drm_plane_funcs *plane_funcs; + int (*init)(struct platform_device *pdev); void (*cleanup)(struct platform_device *pdev); }; -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: John Stultz <john.stultz@linaro.org> To: lkml <linux-kernel@vger.kernel.org> Cc: Xu YiPing <xuyiping@hisilicon.com>, David Airlie <airlied@linux.ie>, Chen Feng <puck.chen@hisilicon.com>, dri-devel <dri-devel@lists.freedesktop.org>, Xinliang Liu <z.liuxinliang@hisilicon.com>, Xinwei Kong <kong.kongxinwei@hisilicon.com>, Rongrong Zou <zourongrong@gmail.com> Subject: [PATCH 13/25] drm: kirin: Move ade crtc/plane help functions to driver_data Date: Tue, 23 Apr 2019 16:20:44 -0700 [thread overview] Message-ID: <1556061656-1733-14-git-send-email-john.stultz@linaro.org> (raw) In-Reply-To: <1556061656-1733-1-git-send-email-john.stultz@linaro.org> From: Xu YiPing <xuyiping@hisilicon.com> As part of refactoring the kirin driver to better support different hardware revisions, this patch moves the crtc and plane funcs/helper_funcs to the struct kirin_drm_data. This will make it easier to add support for new devices via a new kirin_drm_data structure. Cc: Xinliang Liu <z.liuxinliang@hisilicon.com> Cc: Rongrong Zou <zourongrong@gmail.com> Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com> Cc: Chen Feng <puck.chen@hisilicon.com> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: dri-devel <dri-devel@lists.freedesktop.org> Signed-off-by: Xu YiPing <xuyiping@hisilicon.com> [jstultz: reworded commit message] Signed-off-by: John Stultz <john.stultz@linaro.org> --- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 15 ++++++++++----- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h | 5 +++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c index 221bfbb..6aa529f 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c @@ -602,13 +602,13 @@ static int ade_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, crtc->port = port; ret = drm_crtc_init_with_planes(dev, crtc, plane, NULL, - &ade_crtc_funcs, NULL); + ade_driver_data.crtc_funcs, NULL); if (ret) { DRM_ERROR("failed to init crtc.\n"); return ret; } - drm_crtc_helper_add(crtc, &ade_crtc_helper_funcs); + drm_crtc_helper_add(crtc, ade_driver_data.crtc_helper_funcs); return 0; } @@ -917,14 +917,15 @@ static int ade_plane_init(struct drm_device *dev, struct kirin_plane *kplane, if (ret) return ret; - ret = drm_universal_plane_init(dev, &kplane->base, 1, &ade_plane_funcs, - fmts, fmts_cnt, NULL, type, NULL); + ret = drm_universal_plane_init(dev, &kplane->base, 1, + ade_driver_data.plane_funcs, fmts, + fmts_cnt, NULL, type, NULL); if (ret) { DRM_ERROR("fail to init plane, ch=%d\n", kplane->ch); return ret; } - drm_plane_helper_add(&kplane->base, &ade_plane_helper_funcs); + drm_plane_helper_add(&kplane->base, ade_driver_data.plane_helper_funcs); return 0; } @@ -1056,6 +1057,10 @@ static void ade_drm_cleanup(struct platform_device *pdev) } struct kirin_drm_data ade_driver_data = { + .crtc_helper_funcs = &ade_crtc_helper_funcs, + .crtc_funcs = &ade_crtc_funcs, + .plane_helper_funcs = &ade_plane_helper_funcs, + .plane_funcs = &ade_plane_funcs, .init = ade_drm_init, .cleanup = ade_drm_cleanup }; diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h index 276b159..05161ff 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.h @@ -39,6 +39,11 @@ struct kirin_plane { /* display controller init/cleanup ops */ struct kirin_drm_data { + const struct drm_crtc_helper_funcs *crtc_helper_funcs; + const struct drm_crtc_funcs *crtc_funcs; + const struct drm_plane_helper_funcs *plane_helper_funcs; + const struct drm_plane_funcs *plane_funcs; + int (*init)(struct platform_device *pdev); void (*cleanup)(struct platform_device *pdev); }; -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-04-23 23:22 UTC|newest] Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-23 23:20 [PATCH 00/25] drm: Kirin driver cleanups to prep for Kirin960 support John Stultz 2019-04-23 23:20 ` [PATCH 01/25] drm: kirin: Fix for hikey620 display offset problem John Stultz 2019-04-24 16:35 ` Sam Ravnborg 2019-04-23 23:20 ` [PATCH 02/25] drm: kirin: Remove HISI_KIRIN_DW_DSI config option John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-24 16:39 ` Sam Ravnborg 2019-04-24 16:49 ` John Stultz 2019-04-24 16:56 ` Sam Ravnborg 2019-04-23 23:20 ` [PATCH 03/25] drm: kirin: Remove unreachable return John Stultz 2019-04-23 23:20 ` [PATCH 04/25] drm: kirin: Remove uncessary parameter indirection John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 05/25] drm: kirin: Remove out_format from ade_crtc John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 06/25] drm: kirin: Rename ade_plane to kirin_plane John Stultz 2019-04-23 23:20 ` [PATCH 07/25] drm: kirin: Rename ade_crtc to kirin_crtc John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 08/25] drm: kirin: Dynamically allocate the hw_ctx John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 09/25] drm: kirin: Move request irq handle in ade hw ctx alloc John Stultz 2019-04-23 23:20 ` [PATCH 10/25] drm: kirin: Move workqueue to ade_hw_ctx structure John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-24 16:46 ` Sam Ravnborg 2019-04-24 16:51 ` John Stultz 2019-04-23 23:20 ` [PATCH 11/25] drm: kirin: Move kirin_crtc, kirin_plane, kirin_format to kirin_drm_drv.h John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-24 16:50 ` Sam Ravnborg 2019-04-24 19:25 ` John Stultz 2019-04-24 19:25 ` John Stultz 2019-04-23 23:20 ` [PATCH 12/25] drm: kirin: Reanme dc_ops to kirin_drm_data John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-24 16:52 ` Sam Ravnborg 2019-04-24 16:57 ` Sam Ravnborg 2019-04-24 16:57 ` Sam Ravnborg 2019-04-23 23:20 ` John Stultz [this message] 2019-04-23 23:20 ` [PATCH 13/25] drm: kirin: Move ade crtc/plane help functions to driver_data John Stultz 2019-04-23 23:20 ` [PATCH 14/25] drm: kirin: Move channel formats to driver data John Stultz 2019-04-23 23:20 ` [PATCH 15/25] drm: kirin: Move mode config function to driver_data John Stultz 2019-04-23 23:20 ` [PATCH 16/25] drm: kirin: Move plane number and primay plane in driver data John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 17/25] drm: kirin: Move config max_width and max_height to " John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 18/25] drm: kirin: Move drm driver " John Stultz 2019-04-23 23:20 ` [PATCH 19/25] drm: kirin: Add register connect helper functions in drm init John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 20/25] drm: kirin: Rename plane_init and crtc_init John Stultz 2019-04-23 23:20 ` John Stultz 2019-04-23 23:20 ` [PATCH 21/25] drm: kirin: Fix dev->driver_data setting John Stultz 2019-04-23 23:20 ` [PATCH 22/25] drm: kirin: Make driver_data variable non-global John Stultz 2019-04-23 23:20 ` [PATCH 23/25] drm: kirin: Add alloc_hw_ctx/clean_hw_ctx ops in driver data John Stultz 2019-04-23 23:20 ` [PATCH 24/25] drm: kirin: Pass driver data to crtc init and plane init John Stultz 2019-04-24 17:09 ` Sam Ravnborg 2019-04-24 17:09 ` Sam Ravnborg 2019-04-24 19:32 ` John Stultz 2019-04-24 21:15 ` Sam Ravnborg 2019-04-24 21:24 ` John Stultz 2019-04-23 23:20 ` [PATCH 25/25] drm: kirin: Move ade drm init to kirin drm drv John Stultz 2019-04-24 17:13 ` [PATCH 00/25] drm: Kirin driver cleanups to prep for Kirin960 support Sam Ravnborg 2019-04-24 17:13 ` Sam Ravnborg 2019-04-24 19:40 ` John Stultz 2019-04-24 20:54 ` Sam Ravnborg 2019-04-24 21:02 ` John Stultz 2019-04-24 21:02 ` John Stultz
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=1556061656-1733-14-git-send-email-john.stultz@linaro.org \ --to=john.stultz@linaro.org \ --cc=airlied@linux.ie \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=kong.kongxinwei@hisilicon.com \ --cc=linux-kernel@vger.kernel.org \ --cc=puck.chen@hisilicon.com \ --cc=xuyiping@hisilicon.com \ --cc=z.liuxinliang@hisilicon.com \ --cc=zourongrong@gmail.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.