summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/omapdrm/dss
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2015-11-04 20:36:26 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2016-03-03 18:38:22 +0300
commite5cbb6e8eaa6d4ae8b4acafd59e2e058105c8177 (patch)
tree36eca96f95a4f511effcc2e24500ed800b932333 /drivers/gpu/drm/omapdrm/dss
parent179df15fc54118fc5c949138eeccc24c54f758a1 (diff)
downloadlinux-e5cbb6e8eaa6d4ae8b4acafd59e2e058105c8177.tar.xz
drm/omap: convert dss_mgr_ops to use omap_channel
We are removing the use of 'struct omap_overlay_manager' from omapdrm. This patch changes the function pointers in 'dss_mgr_ops' to get 'enum omap_channel' parameter instead of 'struct omap_overlay_manager'. The change is very straightforward, as we still use 'struct omap_overlay_manager' inside the function implementations where needed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss')
-rw-r--r--drivers/gpu/drm/omapdrm/dss/apply.c27
-rw-r--r--drivers/gpu/drm/omapdrm/dss/omapdss.h18
-rw-r--r--drivers/gpu/drm/omapdrm/dss/output.c18
3 files changed, 36 insertions, 27 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/apply.c b/drivers/gpu/drm/omapdrm/dss/apply.c
index 663ccc3bf4e5..1b7c718c08b2 100644
--- a/drivers/gpu/drm/omapdrm/dss/apply.c
+++ b/drivers/gpu/drm/omapdrm/dss/apply.c
@@ -805,20 +805,23 @@ static void mgr_clear_shadow_dirty(struct omap_overlay_manager *mgr)
}
}
-static int dss_mgr_connect_compat(struct omap_overlay_manager *mgr,
+static int dss_mgr_connect_compat(enum omap_channel channel,
struct omap_dss_device *dst)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
return mgr->set_output(mgr, dst);
}
-static void dss_mgr_disconnect_compat(struct omap_overlay_manager *mgr,
+static void dss_mgr_disconnect_compat(enum omap_channel channel,
struct omap_dss_device *dst)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
mgr->unset_output(mgr);
}
-static void dss_mgr_start_update_compat(struct omap_overlay_manager *mgr)
+static void dss_mgr_start_update_compat(enum omap_channel channel)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
struct mgr_priv_data *mp = get_mgr_priv(mgr);
unsigned long flags;
int r;
@@ -1072,8 +1075,9 @@ static void dss_setup_fifos(void)
}
}
-static int dss_mgr_enable_compat(struct omap_overlay_manager *mgr)
+static int dss_mgr_enable_compat(enum omap_channel channel)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
struct mgr_priv_data *mp = get_mgr_priv(mgr);
unsigned long flags;
int r;
@@ -1122,8 +1126,9 @@ err:
return r;
}
-static void dss_mgr_disable_compat(struct omap_overlay_manager *mgr)
+static void dss_mgr_disable_compat(enum omap_channel channel)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
struct mgr_priv_data *mp = get_mgr_priv(mgr);
unsigned long flags;
@@ -1261,9 +1266,10 @@ static void dss_apply_mgr_timings(struct omap_overlay_manager *mgr,
mp->extra_info_dirty = true;
}
-static void dss_mgr_set_timings_compat(struct omap_overlay_manager *mgr,
+static void dss_mgr_set_timings_compat(enum omap_channel channel,
const struct omap_video_timings *timings)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
unsigned long flags;
struct mgr_priv_data *mp = get_mgr_priv(mgr);
@@ -1289,9 +1295,10 @@ static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr,
mp->extra_info_dirty = true;
}
-static void dss_mgr_set_lcd_config_compat(struct omap_overlay_manager *mgr,
+static void dss_mgr_set_lcd_config_compat(enum omap_channel channel,
const struct dss_lcd_mgr_config *config)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
unsigned long flags;
struct mgr_priv_data *mp = get_mgr_priv(mgr);
@@ -1554,9 +1561,10 @@ err:
return r;
}
-static int dss_mgr_register_framedone_handler_compat(struct omap_overlay_manager *mgr,
+static int dss_mgr_register_framedone_handler_compat(enum omap_channel channel,
void (*handler)(void *), void *data)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
struct mgr_priv_data *mp = get_mgr_priv(mgr);
if (mp->framedone_handler)
@@ -1568,9 +1576,10 @@ static int dss_mgr_register_framedone_handler_compat(struct omap_overlay_manager
return 0;
}
-static void dss_mgr_unregister_framedone_handler_compat(struct omap_overlay_manager *mgr,
+static void dss_mgr_unregister_framedone_handler_compat(enum omap_channel channel,
void (*handler)(void *), void *data)
{
+ struct omap_overlay_manager *mgr = omap_dss_get_overlay_manager(channel);
struct mgr_priv_data *mp = get_mgr_priv(mgr);
WARN_ON(mp->framedone_handler != handler ||
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index 0a213489f133..640ba08735c5 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -61,21 +61,21 @@ int dispc_ovl_setup(enum omap_plane plane, const struct omap_overlay_info *oi,
enum omap_dss_output_id dispc_mgr_get_supported_outputs(enum omap_channel channel);
struct dss_mgr_ops {
- int (*connect)(struct omap_overlay_manager *mgr,
+ int (*connect)(enum omap_channel channel,
struct omap_dss_device *dst);
- void (*disconnect)(struct omap_overlay_manager *mgr,
+ void (*disconnect)(enum omap_channel channel,
struct omap_dss_device *dst);
- void (*start_update)(struct omap_overlay_manager *mgr);
- int (*enable)(struct omap_overlay_manager *mgr);
- void (*disable)(struct omap_overlay_manager *mgr);
- void (*set_timings)(struct omap_overlay_manager *mgr,
+ void (*start_update)(enum omap_channel channel);
+ int (*enable)(enum omap_channel channel);
+ void (*disable)(enum omap_channel channel);
+ void (*set_timings)(enum omap_channel channel,
const struct omap_video_timings *timings);
- void (*set_lcd_config)(struct omap_overlay_manager *mgr,
+ void (*set_lcd_config)(enum omap_channel channel,
const struct dss_lcd_mgr_config *config);
- int (*register_framedone_handler)(struct omap_overlay_manager *mgr,
+ int (*register_framedone_handler)(enum omap_channel channel,
void (*handler)(void *), void *data);
- void (*unregister_framedone_handler)(struct omap_overlay_manager *mgr,
+ void (*unregister_framedone_handler)(enum omap_channel channel,
void (*handler)(void *), void *data);
};
diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c
index c1c099dfd621..69e081392ee5 100644
--- a/drivers/gpu/drm/omapdrm/dss/output.c
+++ b/drivers/gpu/drm/omapdrm/dss/output.c
@@ -191,59 +191,59 @@ EXPORT_SYMBOL(dss_uninstall_mgr_ops);
int dss_mgr_connect(struct omap_overlay_manager *mgr,
struct omap_dss_device *dst)
{
- return dss_mgr_ops->connect(mgr, dst);
+ return dss_mgr_ops->connect(mgr->id, dst);
}
EXPORT_SYMBOL(dss_mgr_connect);
void dss_mgr_disconnect(struct omap_overlay_manager *mgr,
struct omap_dss_device *dst)
{
- dss_mgr_ops->disconnect(mgr, dst);
+ dss_mgr_ops->disconnect(mgr->id, dst);
}
EXPORT_SYMBOL(dss_mgr_disconnect);
void dss_mgr_set_timings(struct omap_overlay_manager *mgr,
const struct omap_video_timings *timings)
{
- dss_mgr_ops->set_timings(mgr, timings);
+ dss_mgr_ops->set_timings(mgr->id, timings);
}
EXPORT_SYMBOL(dss_mgr_set_timings);
void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr,
const struct dss_lcd_mgr_config *config)
{
- dss_mgr_ops->set_lcd_config(mgr, config);
+ dss_mgr_ops->set_lcd_config(mgr->id, config);
}
EXPORT_SYMBOL(dss_mgr_set_lcd_config);
int dss_mgr_enable(struct omap_overlay_manager *mgr)
{
- return dss_mgr_ops->enable(mgr);
+ return dss_mgr_ops->enable(mgr->id);
}
EXPORT_SYMBOL(dss_mgr_enable);
void dss_mgr_disable(struct omap_overlay_manager *mgr)
{
- dss_mgr_ops->disable(mgr);
+ dss_mgr_ops->disable(mgr->id);
}
EXPORT_SYMBOL(dss_mgr_disable);
void dss_mgr_start_update(struct omap_overlay_manager *mgr)
{
- dss_mgr_ops->start_update(mgr);
+ dss_mgr_ops->start_update(mgr->id);
}
EXPORT_SYMBOL(dss_mgr_start_update);
int dss_mgr_register_framedone_handler(struct omap_overlay_manager *mgr,
void (*handler)(void *), void *data)
{
- return dss_mgr_ops->register_framedone_handler(mgr, handler, data);
+ return dss_mgr_ops->register_framedone_handler(mgr->id, handler, data);
}
EXPORT_SYMBOL(dss_mgr_register_framedone_handler);
void dss_mgr_unregister_framedone_handler(struct omap_overlay_manager *mgr,
void (*handler)(void *), void *data)
{
- dss_mgr_ops->unregister_framedone_handler(mgr, handler, data);
+ dss_mgr_ops->unregister_framedone_handler(mgr->id, handler, data);
}
EXPORT_SYMBOL(dss_mgr_unregister_framedone_handler);