summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2016-02-19 09:54:36 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2016-03-03 10:38:21 -0500
commit35a339acca695126b57ef7b7d2d3aaa208c93967 (patch)
tree4524ac6c466a2688043b6fb83ca0be35f03c4191
parent33c06b6f7ebdc3443e8030353d21b21f2b721387 (diff)
drm/omap, omapfb: move exported dispc function declarations to omapdrm/omapfb
omapdrm and omapfb still share the same include/video/omapdss.h. We need to change that so that we can proceed with omapdrm work. However, it's not trivial to make separate omapfb and omapdrm versions of omapdss.h, as that file is also included in other places like arch code, audio code and omap_vout code. So we'll do it piece by piece. This patch makes private versions of all the dispc function declarations that are in omapdss.h. For omapdrm we create a new file, drivers/gpu/drm/omapdrm/dss/omapdss.h, which will contain headers meant to be visible outside omapdss. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/gpu/drm/omapdrm/dss/dss.h2
-rw-r--r--drivers/gpu/drm/omapdrm/dss/omapdss.h61
-rw-r--r--drivers/gpu/drm/omapdrm/omap_drv.h2
-rw-r--r--drivers/video/fbdev/omap2/omapfb/dss/dispc.h1
-rw-r--r--drivers/video/fbdev/omap2/omapfb/dss/dss.h38
-rw-r--r--include/video/omapdss.h38
6 files changed, 104 insertions, 38 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/dss.h b/drivers/gpu/drm/omapdrm/dss/dss.h
index 56ce89d4be27..e00b2679964f 100644
--- a/drivers/gpu/drm/omapdrm/dss/dss.h
+++ b/drivers/gpu/drm/omapdrm/dss/dss.h
@@ -25,6 +25,8 @@
25 25
26#include <linux/interrupt.h> 26#include <linux/interrupt.h>
27 27
28#include "omapdss.h"
29
28#ifdef pr_fmt 30#ifdef pr_fmt
29#undef pr_fmt 31#undef pr_fmt
30#endif 32#endif
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
new file mode 100644
index 000000000000..d33a8e4f07d1
--- /dev/null
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -0,0 +1,61 @@
1/*
2 * Copyright (C) 2016 Texas Instruments
3 * Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published by
7 * the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef __OMAP_DRM_DSS_H
19#define __OMAP_DRM_DSS_H
20
21#include <video/omapdss.h>
22
23u32 dispc_read_irqstatus(void);
24void dispc_clear_irqstatus(u32 mask);
25u32 dispc_read_irqenable(void);
26void dispc_write_irqenable(u32 mask);
27
28int dispc_request_irq(irq_handler_t handler, void *dev_id);
29void dispc_free_irq(void *dev_id);
30
31int dispc_runtime_get(void);
32void dispc_runtime_put(void);
33
34void dispc_mgr_enable(enum omap_channel channel, bool enable);
35bool dispc_mgr_is_enabled(enum omap_channel channel);
36u32 dispc_mgr_get_vsync_irq(enum omap_channel channel);
37u32 dispc_mgr_get_framedone_irq(enum omap_channel channel);
38u32 dispc_mgr_get_sync_lost_irq(enum omap_channel channel);
39bool dispc_mgr_go_busy(enum omap_channel channel);
40void dispc_mgr_go(enum omap_channel channel);
41void dispc_mgr_set_lcd_config(enum omap_channel channel,
42 const struct dss_lcd_mgr_config *config);
43void dispc_mgr_set_timings(enum omap_channel channel,
44 const struct omap_video_timings *timings);
45void dispc_mgr_setup(enum omap_channel channel,
46 const struct omap_overlay_manager_info *info);
47
48int dispc_ovl_check(enum omap_plane plane, enum omap_channel channel,
49 const struct omap_overlay_info *oi,
50 const struct omap_video_timings *timings,
51 int *x_predecim, int *y_predecim);
52
53int dispc_ovl_enable(enum omap_plane plane, bool enable);
54bool dispc_ovl_enabled(enum omap_plane plane);
55void dispc_ovl_set_channel_out(enum omap_plane plane,
56 enum omap_channel channel);
57int dispc_ovl_setup(enum omap_plane plane, const struct omap_overlay_info *oi,
58 bool replication, const struct omap_video_timings *mgr_timings,
59 bool mem_to_mem);
60
61#endif /* __OMAP_DRM_DSS_H */
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index 16c3eeeae668..defe74d28b04 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -31,6 +31,8 @@
31#include <drm/drm_gem.h> 31#include <drm/drm_gem.h>
32#include <drm/omap_drm.h> 32#include <drm/omap_drm.h>
33 33
34#include "dss/omapdss.h"
35
34#define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__) 36#define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)
35#define VERB(fmt, ...) if (0) DRM_DEBUG(fmt, ##__VA_ARGS__) /* verbose debug */ 37#define VERB(fmt, ...) if (0) DRM_DEBUG(fmt, ##__VA_ARGS__) /* verbose debug */
36 38
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dispc.h b/drivers/video/fbdev/omap2/omapfb/dss/dispc.h
index 483744223dd1..e014d0419c58 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dispc.h
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dispc.h
@@ -915,4 +915,5 @@ static inline u16 DISPC_MFLAG_THRESHOLD_OFFSET(enum omap_plane plane)
915 return 0; 915 return 0;
916 } 916 }
917} 917}
918
918#endif 919#endif
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss.h b/drivers/video/fbdev/omap2/omapfb/dss/dss.h
index b9066afee301..86ed67ba4d58 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dss.h
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dss.h
@@ -412,6 +412,44 @@ void dispc_wb_set_channel_in(enum dss_writeback_channel channel);
412int dispc_wb_setup(const struct omap_dss_writeback_info *wi, 412int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
413 bool mem_to_mem, const struct omap_video_timings *timings); 413 bool mem_to_mem, const struct omap_video_timings *timings);
414 414
415u32 dispc_read_irqstatus(void);
416void dispc_clear_irqstatus(u32 mask);
417u32 dispc_read_irqenable(void);
418void dispc_write_irqenable(u32 mask);
419
420int dispc_request_irq(irq_handler_t handler, void *dev_id);
421void dispc_free_irq(void *dev_id);
422
423int dispc_runtime_get(void);
424void dispc_runtime_put(void);
425
426void dispc_mgr_enable(enum omap_channel channel, bool enable);
427bool dispc_mgr_is_enabled(enum omap_channel channel);
428u32 dispc_mgr_get_vsync_irq(enum omap_channel channel);
429u32 dispc_mgr_get_framedone_irq(enum omap_channel channel);
430u32 dispc_mgr_get_sync_lost_irq(enum omap_channel channel);
431bool dispc_mgr_go_busy(enum omap_channel channel);
432void dispc_mgr_go(enum omap_channel channel);
433void dispc_mgr_set_lcd_config(enum omap_channel channel,
434 const struct dss_lcd_mgr_config *config);
435void dispc_mgr_set_timings(enum omap_channel channel,
436 const struct omap_video_timings *timings);
437void dispc_mgr_setup(enum omap_channel channel,
438 const struct omap_overlay_manager_info *info);
439
440int dispc_ovl_check(enum omap_plane plane, enum omap_channel channel,
441 const struct omap_overlay_info *oi,
442 const struct omap_video_timings *timings,
443 int *x_predecim, int *y_predecim);
444
445int dispc_ovl_enable(enum omap_plane plane, bool enable);
446bool dispc_ovl_enabled(enum omap_plane plane);
447void dispc_ovl_set_channel_out(enum omap_plane plane,
448 enum omap_channel channel);
449int dispc_ovl_setup(enum omap_plane plane, const struct omap_overlay_info *oi,
450 bool replication, const struct omap_video_timings *mgr_timings,
451 bool mem_to_mem);
452
415/* VENC */ 453/* VENC */
416int venc_init_platform_driver(void) __init; 454int venc_init_platform_driver(void) __init;
417void venc_uninit_platform_driver(void); 455void venc_uninit_platform_driver(void);
diff --git a/include/video/omapdss.h b/include/video/omapdss.h
index 7a2724e1622f..0464dd69a87d 100644
--- a/include/video/omapdss.h
+++ b/include/video/omapdss.h
@@ -891,44 +891,6 @@ typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
891int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); 891int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
892int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); 892int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
893 893
894u32 dispc_read_irqstatus(void);
895void dispc_clear_irqstatus(u32 mask);
896u32 dispc_read_irqenable(void);
897void dispc_write_irqenable(u32 mask);
898
899int dispc_request_irq(irq_handler_t handler, void *dev_id);
900void dispc_free_irq(void *dev_id);
901
902int dispc_runtime_get(void);
903void dispc_runtime_put(void);
904
905void dispc_mgr_enable(enum omap_channel channel, bool enable);
906bool dispc_mgr_is_enabled(enum omap_channel channel);
907u32 dispc_mgr_get_vsync_irq(enum omap_channel channel);
908u32 dispc_mgr_get_framedone_irq(enum omap_channel channel);
909u32 dispc_mgr_get_sync_lost_irq(enum omap_channel channel);
910bool dispc_mgr_go_busy(enum omap_channel channel);
911void dispc_mgr_go(enum omap_channel channel);
912void dispc_mgr_set_lcd_config(enum omap_channel channel,
913 const struct dss_lcd_mgr_config *config);
914void dispc_mgr_set_timings(enum omap_channel channel,
915 const struct omap_video_timings *timings);
916void dispc_mgr_setup(enum omap_channel channel,
917 const struct omap_overlay_manager_info *info);
918
919int dispc_ovl_check(enum omap_plane plane, enum omap_channel channel,
920 const struct omap_overlay_info *oi,
921 const struct omap_video_timings *timings,
922 int *x_predecim, int *y_predecim);
923
924int dispc_ovl_enable(enum omap_plane plane, bool enable);
925bool dispc_ovl_enabled(enum omap_plane plane);
926void dispc_ovl_set_channel_out(enum omap_plane plane,
927 enum omap_channel channel);
928int dispc_ovl_setup(enum omap_plane plane, const struct omap_overlay_info *oi,
929 bool replication, const struct omap_video_timings *mgr_timings,
930 bool mem_to_mem);
931
932int omapdss_compat_init(void); 894int omapdss_compat_init(void);
933void omapdss_compat_uninit(void); 895void omapdss_compat_uninit(void);
934 896