On Mon, Jan 9, 2017 at 6:25 AM, Shawn Guo wrote:
> From: Shawn Guo
>
> Use drm_crtc_from_index() to find drm_crtc for given index, so that we
> do not need to maintain a pointer array in struct exynos_drm_private.
>
> Signed-off-by: Shawn Guo
Applied to drm-misc-next
Thanks!
Sean
> Cc: Inki Dae
> ---
> drivers/gpu/drm/exynos/exynos_drm_crtc.c | 6 --
> drivers/gpu/drm/exynos/exynos_drm_drv.h | 10 ++
> 2 files changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
> b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
> index 2530bf57716a..309c8ee52524 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
> @@ -109,9 +109,6 @@ static void exynos_crtc_atomic_flush(struct drm_crtc
> *crtc,
> static void exynos_drm_crtc_destroy(struct drm_crtc *crtc)
> {
> struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
> - struct exynos_drm_private *private = crtc->dev->dev_private;
> -
> - private->crtc[exynos_crtc->pipe] = NULL;
>
> drm_crtc_cleanup(crtc);
> kfree(exynos_crtc);
> @@ -134,7 +131,6 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct
> drm_device *drm_dev,
> void *ctx)
> {
> struct exynos_drm_crtc *exynos_crtc;
> - struct exynos_drm_private *private = drm_dev->dev_private;
> struct drm_crtc *crtc;
> int ret;
>
> @@ -149,8 +145,6 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct
> drm_device *drm_dev,
>
> crtc = _crtc->base;
>
> - private->crtc[pipe] = crtc;
> -
> ret = drm_crtc_init_with_planes(drm_dev, crtc, plane, NULL,
> _crtc_funcs, NULL);
> if (ret < 0)
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h
> b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> index 80c4d5b81689..cf6e08cb35a7 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> @@ -211,12 +211,6 @@ struct drm_exynos_file_private {
> struct exynos_drm_private {
> struct drm_fb_helper *fb_helper;
>
> - /*
> -* created crtc object would be contained at this array and
> -* this array is used to be aware of which crtc did it request vblank.
> -*/
> - struct drm_crtc *crtc[MAX_CRTC];
> -
> struct device *dma_dev;
> void *mapping;
>
> @@ -231,9 +225,9 @@ struct exynos_drm_private {
> static inline struct exynos_drm_crtc *
> exynos_drm_crtc_from_pipe(struct drm_device *dev, int pipe)
> {
> - struct exynos_drm_private *private = dev->dev_private;
> + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe);
>
> - return to_exynos_crtc(private->crtc[pipe]);
> + return to_exynos_crtc(crtc);
> }
>
> static inline struct device *to_dma_dev(struct drm_device *dev)
> --
> 1.9.1
>
--
Sean Paul, Software Engineer, Google / Chromium OS
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel