forked from luck/tmp_suning_uos_patched
drm: exynos: use crtc helper drm_crtc_from_index()
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 <shawn.guo@linaro.org> Cc: Inki Dae <inki.dae@samsung.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: http://patchwork.freedesktop.org/patch/msgid/1483961145-18453-2-git-send-email-shawnguo@kernel.org
This commit is contained in:
parent
01f8c951c2
commit
a3c764e988
|
@ -109,9 +109,6 @@ static const struct drm_crtc_helper_funcs exynos_crtc_helper_funcs = {
|
|||
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 = &exynos_crtc->base;
|
||||
|
||||
private->crtc[pipe] = crtc;
|
||||
|
||||
ret = drm_crtc_init_with_planes(drm_dev, crtc, plane, NULL,
|
||||
&exynos_crtc_funcs, NULL);
|
||||
if (ret < 0)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue
Block a user