diff options
author | Liu Ying <gnuiyl@gmail.com> | 2016-07-08 05:40:58 -0400 |
---|---|---|
committer | Philipp Zabel <p.zabel@pengutronix.de> | 2016-07-12 12:23:58 -0400 |
commit | 032003c5cd744e8e0baf5430fc5b3fd5462208e4 (patch) | |
tree | 0ad9cbdfb21a3a336f2d4470881a4bce1b7b9a4b /drivers/gpu/drm/imx/imx-drm-core.c | |
parent | ae2531ab70864c00b49a986cd8bdc5eec7ec881a (diff) |
drm/imx: Remove encoders' ->prepare callbacks
The main task of imx encoders' ->prepare callbacks is to set bus_format,
bus_flags, di_vsync_pin and di_hsync_pin. We may create a structure named
imx_encoder to cache them. The atomic encoder callback ->disable may
replace ->prepare later, so let's remove ->prepare.
Signed-off-by: Liu Ying <gnuiyl@gmail.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/imx/imx-drm-core.c')
-rw-r--r-- | drivers/gpu/drm/imx/imx-drm-core.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c index b5a5173b05af..f6e44c220874 100644 --- a/drivers/gpu/drm/imx/imx-drm-core.c +++ b/drivers/gpu/drm/imx/imx-drm-core.c | |||
@@ -85,45 +85,6 @@ static int imx_drm_driver_unload(struct drm_device *drm) | |||
85 | return 0; | 85 | return 0; |
86 | } | 86 | } |
87 | 87 | ||
88 | static struct imx_drm_crtc *imx_drm_find_crtc(struct drm_crtc *crtc) | ||
89 | { | ||
90 | struct imx_drm_device *imxdrm = crtc->dev->dev_private; | ||
91 | unsigned i; | ||
92 | |||
93 | for (i = 0; i < MAX_CRTC; i++) | ||
94 | if (imxdrm->crtc[i] && imxdrm->crtc[i]->crtc == crtc) | ||
95 | return imxdrm->crtc[i]; | ||
96 | |||
97 | return NULL; | ||
98 | } | ||
99 | |||
100 | int imx_drm_set_bus_config(struct drm_encoder *encoder, u32 bus_format, | ||
101 | int hsync_pin, int vsync_pin, u32 bus_flags) | ||
102 | { | ||
103 | struct imx_drm_crtc_helper_funcs *helper; | ||
104 | struct imx_drm_crtc *imx_crtc; | ||
105 | |||
106 | imx_crtc = imx_drm_find_crtc(encoder->crtc); | ||
107 | if (!imx_crtc) | ||
108 | return -EINVAL; | ||
109 | |||
110 | helper = &imx_crtc->imx_drm_helper_funcs; | ||
111 | if (helper->set_interface_pix_fmt) | ||
112 | return helper->set_interface_pix_fmt(encoder->crtc, | ||
113 | bus_format, hsync_pin, vsync_pin, | ||
114 | bus_flags); | ||
115 | return 0; | ||
116 | } | ||
117 | EXPORT_SYMBOL_GPL(imx_drm_set_bus_config); | ||
118 | |||
119 | int imx_drm_set_bus_format(struct drm_encoder *encoder, u32 bus_format) | ||
120 | { | ||
121 | return imx_drm_set_bus_config(encoder, bus_format, 2, 3, | ||
122 | DRM_BUS_FLAG_DE_HIGH | | ||
123 | DRM_BUS_FLAG_PIXDATA_NEGEDGE); | ||
124 | } | ||
125 | EXPORT_SYMBOL_GPL(imx_drm_set_bus_format); | ||
126 | |||
127 | int imx_drm_crtc_vblank_get(struct imx_drm_crtc *imx_drm_crtc) | 88 | int imx_drm_crtc_vblank_get(struct imx_drm_crtc *imx_drm_crtc) |
128 | { | 89 | { |
129 | return drm_crtc_vblank_get(imx_drm_crtc->crtc); | 90 | return drm_crtc_vblank_get(imx_drm_crtc->crtc); |