Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2f1fed12 authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

Merge omapdrm work from Laurent

omapdrm IRQ rework, fixed vblank count and timestamp, cleanups.
parents 2cf026ae 2f95bc6d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -595,6 +595,8 @@ static void drm_dev_release(struct kref *ref)
{
	struct drm_device *dev = container_of(ref, struct drm_device, ref);

	drm_vblank_cleanup(dev);

	if (drm_core_check_feature(dev, DRIVER_GEM))
		drm_gem_destroy(dev);

@@ -794,8 +796,6 @@ void drm_dev_unregister(struct drm_device *dev)
	if (dev->agp)
		drm_pci_agp_destroy(dev);

	drm_vblank_cleanup(dev);

	list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head)
		drm_legacy_rmmap(dev, r_list->map);

+1 −1
Original line number Diff line number Diff line
@@ -1253,7 +1253,7 @@ static int dsicm_probe(struct platform_device *pdev)
	dsicm_hw_reset(ddata);

	if (ddata->use_dsi_backlight) {
		memset(&props, 0, sizeof(struct backlight_properties));
		memset(&props, 0, sizeof(props));
		props.max_brightness = 255;

		props.type = BACKLIGHT_RAW;
+13 −14
Original line number Diff line number Diff line
@@ -620,6 +620,19 @@ u32 dispc_wb_get_framedone_irq(void)
	return DISPC_IRQ_FRAMEDONEWB;
}

void dispc_mgr_enable(enum omap_channel channel, bool enable)
{
	mgr_fld_write(channel, DISPC_MGR_FLD_ENABLE, enable);
	/* flush posted write */
	mgr_fld_read(channel, DISPC_MGR_FLD_ENABLE);
}
EXPORT_SYMBOL(dispc_mgr_enable);

static bool dispc_mgr_is_enabled(enum omap_channel channel)
{
	return !!mgr_fld_read(channel, DISPC_MGR_FLD_ENABLE);
}

bool dispc_mgr_go_busy(enum omap_channel channel)
{
	return mgr_fld_read(channel, DISPC_MGR_FLD_GO) == 1;
@@ -2901,20 +2914,6 @@ enum omap_dss_output_id dispc_mgr_get_supported_outputs(enum omap_channel channe
}
EXPORT_SYMBOL(dispc_mgr_get_supported_outputs);

void dispc_mgr_enable(enum omap_channel channel, bool enable)
{
	mgr_fld_write(channel, DISPC_MGR_FLD_ENABLE, enable);
	/* flush posted write */
	mgr_fld_read(channel, DISPC_MGR_FLD_ENABLE);
}
EXPORT_SYMBOL(dispc_mgr_enable);

bool dispc_mgr_is_enabled(enum omap_channel channel)
{
	return !!mgr_fld_read(channel, DISPC_MGR_FLD_ENABLE);
}
EXPORT_SYMBOL(dispc_mgr_is_enabled);

void dispc_wb_enable(bool enable)
{
	dispc_ovl_enable(OMAP_DSS_WB, enable);
+1 −2
Original line number Diff line number Diff line
@@ -119,8 +119,7 @@ static void __init omapdss_omapify_node(struct device_node *node)

static void __init omapdss_add_to_list(struct device_node *node, bool root)
{
	struct dss_conv_node *n = kmalloc(sizeof(struct dss_conv_node),
		GFP_KERNEL);
	struct dss_conv_node *n = kmalloc(sizeof(*n), GFP_KERNEL);
	if (n) {
		n->node = node;
		n->root = root;
+0 −1
Original line number Diff line number Diff line
@@ -856,7 +856,6 @@ int dispc_runtime_get(void);
void dispc_runtime_put(void);

void dispc_mgr_enable(enum omap_channel channel, bool enable);
bool dispc_mgr_is_enabled(enum omap_channel channel);
u32 dispc_mgr_get_vsync_irq(enum omap_channel channel);
u32 dispc_mgr_get_framedone_irq(enum omap_channel channel);
u32 dispc_mgr_get_sync_lost_irq(enum omap_channel channel);
Loading