aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Kurtz <djkurtz@chromium.org>2016-08-03 22:59:53 -0400
committerSean Paul <seanpaul@chromium.org>2016-08-08 14:20:00 -0400
commit5bfafad8059b40be3ab60be26d3270b74303639a (patch)
tree0b3cc18bea71eecf3a8cfbc8a328e2ab0ad87f4e
parent0d5a32b7257234a25cc6b7ae936d236f61030f3f (diff)
drm/mediatek: Remove mtk_drm_plane
Now that mtk_drm_plane just contains its base struct drm_plane, we can just remove it and use struct drm_plane everywhere. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Bibby Hsieh <bibby.hsieh@mediatek.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: http://patchwork.freedesktop.org/patch/msgid/1470279597-60453-4-git-send-email-bibby.hsieh@mediatek.com
-rw-r--r--drivers/gpu/drm/mediatek/mtk_drm_crtc.c16
-rw-r--r--drivers/gpu/drm/mediatek/mtk_drm_plane.c12
-rw-r--r--drivers/gpu/drm/mediatek/mtk_drm_plane.h11
3 files changed, 14 insertions, 25 deletions
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
index 18211ab21daf..d6fbefa65619 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
@@ -31,7 +31,7 @@
31 * struct mtk_drm_crtc - MediaTek specific crtc structure. 31 * struct mtk_drm_crtc - MediaTek specific crtc structure.
32 * @base: crtc object. 32 * @base: crtc object.
33 * @enabled: records whether crtc_enable succeeded 33 * @enabled: records whether crtc_enable succeeded
34 * @planes: array of 4 mtk_drm_plane structures, one for each overlay plane 34 * @planes: array of 4 drm_plane structures, one for each overlay plane
35 * @pending_planes: whether any plane has pending changes to be applied 35 * @pending_planes: whether any plane has pending changes to be applied
36 * @config_regs: memory mapped mmsys configuration register space 36 * @config_regs: memory mapped mmsys configuration register space
37 * @mutex: handle to one of the ten disp_mutex streams 37 * @mutex: handle to one of the ten disp_mutex streams
@@ -45,7 +45,7 @@ struct mtk_drm_crtc {
45 bool pending_needs_vblank; 45 bool pending_needs_vblank;
46 struct drm_pending_vblank_event *event; 46 struct drm_pending_vblank_event *event;
47 47
48 struct mtk_drm_plane planes[OVL_LAYER_NR]; 48 struct drm_plane planes[OVL_LAYER_NR];
49 bool pending_planes; 49 bool pending_planes;
50 50
51 void __iomem *config_regs; 51 void __iomem *config_regs;
@@ -272,7 +272,7 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc)
272 272
273 /* Initially configure all planes */ 273 /* Initially configure all planes */
274 for (i = 0; i < OVL_LAYER_NR; i++) { 274 for (i = 0; i < OVL_LAYER_NR; i++) {
275 struct drm_plane *plane = &mtk_crtc->planes[i].base; 275 struct drm_plane *plane = &mtk_crtc->planes[i];
276 struct mtk_plane_state *plane_state; 276 struct mtk_plane_state *plane_state;
277 277
278 plane_state = to_mtk_plane_state(plane->state); 278 plane_state = to_mtk_plane_state(plane->state);
@@ -351,7 +351,7 @@ static void mtk_drm_crtc_disable(struct drm_crtc *crtc)
351 351
352 /* Set all pending plane state to disabled */ 352 /* Set all pending plane state to disabled */
353 for (i = 0; i < OVL_LAYER_NR; i++) { 353 for (i = 0; i < OVL_LAYER_NR; i++) {
354 struct drm_plane *plane = &mtk_crtc->planes[i].base; 354 struct drm_plane *plane = &mtk_crtc->planes[i];
355 struct mtk_plane_state *plane_state; 355 struct mtk_plane_state *plane_state;
356 356
357 plane_state = to_mtk_plane_state(plane->state); 357 plane_state = to_mtk_plane_state(plane->state);
@@ -397,7 +397,7 @@ static void mtk_drm_crtc_atomic_flush(struct drm_crtc *crtc,
397 if (mtk_crtc->event) 397 if (mtk_crtc->event)
398 mtk_crtc->pending_needs_vblank = true; 398 mtk_crtc->pending_needs_vblank = true;
399 for (i = 0; i < OVL_LAYER_NR; i++) { 399 for (i = 0; i < OVL_LAYER_NR; i++) {
400 struct drm_plane *plane = &mtk_crtc->planes[i].base; 400 struct drm_plane *plane = &mtk_crtc->planes[i];
401 struct mtk_plane_state *plane_state; 401 struct mtk_plane_state *plane_state;
402 402
403 plane_state = to_mtk_plane_state(plane->state); 403 plane_state = to_mtk_plane_state(plane->state);
@@ -471,7 +471,7 @@ void mtk_crtc_ddp_irq(struct drm_crtc *crtc, struct mtk_ddp_comp *ovl)
471 471
472 if (mtk_crtc->pending_planes) { 472 if (mtk_crtc->pending_planes) {
473 for (i = 0; i < OVL_LAYER_NR; i++) { 473 for (i = 0; i < OVL_LAYER_NR; i++) {
474 struct drm_plane *plane = &mtk_crtc->planes[i].base; 474 struct drm_plane *plane = &mtk_crtc->planes[i];
475 struct mtk_plane_state *plane_state; 475 struct mtk_plane_state *plane_state;
476 476
477 plane_state = to_mtk_plane_state(plane->state); 477 plane_state = to_mtk_plane_state(plane->state);
@@ -564,8 +564,8 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev,
564 goto unprepare; 564 goto unprepare;
565 } 565 }
566 566
567 ret = mtk_drm_crtc_init(drm_dev, mtk_crtc, &mtk_crtc->planes[0].base, 567 ret = mtk_drm_crtc_init(drm_dev, mtk_crtc, &mtk_crtc->planes[0],
568 &mtk_crtc->planes[1].base, pipe); 568 &mtk_crtc->planes[1], pipe);
569 if (ret < 0) 569 if (ret < 0)
570 goto unprepare; 570 goto unprepare;
571 571
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
index 32a8e556789c..86b7aedcb2c1 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
@@ -30,10 +30,9 @@ static const u32 formats[] = {
30 DRM_FORMAT_RGB565, 30 DRM_FORMAT_RGB565,
31}; 31};
32 32
33static void mtk_plane_enable(struct mtk_drm_plane *mtk_plane, 33static void mtk_plane_enable(struct drm_plane *plane,
34 dma_addr_t addr) 34 dma_addr_t addr)
35{ 35{
36 struct drm_plane *plane = &mtk_plane->base;
37 struct mtk_plane_state *state = to_mtk_plane_state(plane->state); 36 struct mtk_plane_state *state = to_mtk_plane_state(plane->state);
38 unsigned int pitch, format; 37 unsigned int pitch, format;
39 bool enable; 38 bool enable;
@@ -162,14 +161,13 @@ static void mtk_plane_atomic_update(struct drm_plane *plane,
162 struct drm_crtc *crtc = state->base.crtc; 161 struct drm_crtc *crtc = state->base.crtc;
163 struct drm_gem_object *gem; 162 struct drm_gem_object *gem;
164 struct mtk_drm_gem_obj *mtk_gem; 163 struct mtk_drm_gem_obj *mtk_gem;
165 struct mtk_drm_plane *mtk_plane = to_mtk_plane(plane);
166 164
167 if (!crtc) 165 if (!crtc)
168 return; 166 return;
169 167
170 gem = mtk_fb_get_gem_obj(state->base.fb); 168 gem = mtk_fb_get_gem_obj(state->base.fb);
171 mtk_gem = to_mtk_gem_obj(gem); 169 mtk_gem = to_mtk_gem_obj(gem);
172 mtk_plane_enable(mtk_plane, mtk_gem->dma_addr); 170 mtk_plane_enable(plane, mtk_gem->dma_addr);
173} 171}
174 172
175static void mtk_plane_atomic_disable(struct drm_plane *plane, 173static void mtk_plane_atomic_disable(struct drm_plane *plane,
@@ -188,12 +186,12 @@ static const struct drm_plane_helper_funcs mtk_plane_helper_funcs = {
188 .atomic_disable = mtk_plane_atomic_disable, 186 .atomic_disable = mtk_plane_atomic_disable,
189}; 187};
190 188
191int mtk_plane_init(struct drm_device *dev, struct mtk_drm_plane *mtk_plane, 189int mtk_plane_init(struct drm_device *dev, struct drm_plane *plane,
192 unsigned long possible_crtcs, enum drm_plane_type type) 190 unsigned long possible_crtcs, enum drm_plane_type type)
193{ 191{
194 int err; 192 int err;
195 193
196 err = drm_universal_plane_init(dev, &mtk_plane->base, possible_crtcs, 194 err = drm_universal_plane_init(dev, plane, possible_crtcs,
197 &mtk_plane_funcs, formats, 195 &mtk_plane_funcs, formats,
198 ARRAY_SIZE(formats), type, NULL); 196 ARRAY_SIZE(formats), type, NULL);
199 if (err) { 197 if (err) {
@@ -201,7 +199,7 @@ int mtk_plane_init(struct drm_device *dev, struct mtk_drm_plane *mtk_plane,
201 return err; 199 return err;
202 } 200 }
203 201
204 drm_plane_helper_add(&mtk_plane->base, &mtk_plane_helper_funcs); 202 drm_plane_helper_add(plane, &mtk_plane_helper_funcs);
205 203
206 return 0; 204 return 0;
207} 205}
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.h b/drivers/gpu/drm/mediatek/mtk_drm_plane.h
index 74dbedad005d..6a20b49e0f2f 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_plane.h
+++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.h
@@ -18,10 +18,6 @@
18#include <drm/drm_crtc.h> 18#include <drm/drm_crtc.h>
19#include <linux/types.h> 19#include <linux/types.h>
20 20
21struct mtk_drm_plane {
22 struct drm_plane base;
23};
24
25struct mtk_plane_pending_state { 21struct mtk_plane_pending_state {
26 bool config; 22 bool config;
27 bool enable; 23 bool enable;
@@ -40,18 +36,13 @@ struct mtk_plane_state {
40 struct mtk_plane_pending_state pending; 36 struct mtk_plane_pending_state pending;
41}; 37};
42 38
43static inline struct mtk_drm_plane *to_mtk_plane(struct drm_plane *plane)
44{
45 return container_of(plane, struct mtk_drm_plane, base);
46}
47
48static inline struct mtk_plane_state * 39static inline struct mtk_plane_state *
49to_mtk_plane_state(struct drm_plane_state *state) 40to_mtk_plane_state(struct drm_plane_state *state)
50{ 41{
51 return container_of(state, struct mtk_plane_state, base); 42 return container_of(state, struct mtk_plane_state, base);
52} 43}
53 44
54int mtk_plane_init(struct drm_device *dev, struct mtk_drm_plane *mtk_plane, 45int mtk_plane_init(struct drm_device *dev, struct drm_plane *plane,
55 unsigned long possible_crtcs, enum drm_plane_type type); 46 unsigned long possible_crtcs, enum drm_plane_type type);
56 47
57#endif 48#endif