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

Commit 9f7853ae authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

drm/omap: set WB channel-in in wb_setup()



We need to know the WB channel-in in wb_setup() to be able to configure
WB properly for capture mode. At the moment channel-in is set
separately.

This patch moves channel-in to wb_setup().

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 9deb5ad3
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -1234,14 +1234,6 @@ static enum omap_channel dispc_ovl_get_channel_out(struct dispc_device *dispc,
	}
}

void dispc_wb_set_channel_in(struct dispc_device *dispc,
			     enum dss_writeback_channel channel)
{
	enum omap_plane_id plane = OMAP_DSS_WB;

	REG_FLD_MOD(dispc, DISPC_OVL_ATTRIBUTES(plane), channel, 18, 16);
}

static void dispc_ovl_set_burst_size(struct dispc_device *dispc,
				     enum omap_plane_id plane,
				     enum omap_burst_size burst_size)
@@ -2764,7 +2756,8 @@ static int dispc_ovl_setup(struct dispc_device *dispc,

int dispc_wb_setup(struct dispc_device *dispc,
		   const struct omap_dss_writeback_info *wi,
		   bool mem_to_mem, const struct videomode *vm)
		   bool mem_to_mem, const struct videomode *vm,
		   enum dss_writeback_channel channel_in)
{
	int r;
	u32 l;
@@ -2809,6 +2802,7 @@ int dispc_wb_setup(struct dispc_device *dispc,
	/* setup extra DISPC_WB_ATTRIBUTES */
	l = dispc_read_reg(dispc, DISPC_OVL_ATTRIBUTES(plane));
	l = FLD_MOD(l, truncation, 10, 10);	/* TRUNCATIONENABLE */
	l = FLD_MOD(l, channel_in, 18, 16);	/* CHANNELIN */
	l = FLD_MOD(l, mem_to_mem, 19, 19);	/* WRITEBACKMODE */
	if (mem_to_mem)
		l = FLD_MOD(l, 1, 26, 24);	/* CAPTUREMODE */
+2 −1
Original line number Diff line number Diff line
@@ -455,7 +455,8 @@ void dispc_wb_set_channel_in(struct dispc_device *dispc,
			     enum dss_writeback_channel channel);
int dispc_wb_setup(struct dispc_device *dispc,
		   const struct omap_dss_writeback_info *wi,
		   bool mem_to_mem, const struct videomode *vm);
		   bool mem_to_mem, const struct videomode *vm,
		   enum dss_writeback_channel channel_in);

#ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS
static inline void dss_collect_irq_stats(u32 irqstatus, unsigned int *irq_arr)