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

Commit c53e6fd4 authored by Jernej Skrabec's avatar Jernej Skrabec Committed by Maxime Ripard
Browse files

drm/sun4i: Move line width setting in DE2



Line width is a property of a framebuffer and it belongs to
sun8i_mixer_update_layer_buffer(). This will became even more obvious
when support for multi-plane formats will be added.

Signed-off-by: default avatarJernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171201060550.10392-14-jernej.skrabec@siol.net
parent 90212fff
Loading
Loading
Loading
Loading
+6 −7
Original line number Original line Diff line number Diff line
@@ -91,7 +91,6 @@ int sun8i_mixer_update_layer_coord(struct sun8i_mixer *mixer, int channel,
				   int overlay, struct drm_plane *plane)
				   int overlay, struct drm_plane *plane)
{
{
	struct drm_plane_state *state = plane->state;
	struct drm_plane_state *state = plane->state;
	struct drm_framebuffer *fb = state->fb;
	u32 width, height, size;
	u32 width, height, size;


	DRM_DEBUG_DRIVER("Updating channel %d overlay %d\n", channel, overlay);
	DRM_DEBUG_DRIVER("Updating channel %d overlay %d\n", channel, overlay);
@@ -122,12 +121,6 @@ int sun8i_mixer_update_layer_coord(struct sun8i_mixer *mixer, int channel,
			     size);
			     size);
	}
	}


	/* Set the line width */
	DRM_DEBUG_DRIVER("Layer line width: %d bytes\n", fb->pitches[0]);
	regmap_write(mixer->engine.regs,
		     SUN8I_MIXER_CHAN_UI_LAYER_PITCH(channel, overlay),
		     fb->pitches[0]);

	/* Set height and width */
	/* Set height and width */
	DRM_DEBUG_DRIVER("Layer size W: %u H: %u\n", width, height);
	DRM_DEBUG_DRIVER("Layer size W: %u H: %u\n", width, height);
	regmap_write(mixer->engine.regs,
	regmap_write(mixer->engine.regs,
@@ -202,6 +195,12 @@ int sun8i_mixer_update_layer_buffer(struct sun8i_mixer *mixer, int channel,
	paddr += (state->src.x1 >> 16) * bpp;
	paddr += (state->src.x1 >> 16) * bpp;
	paddr += (state->src.y1 >> 16) * fb->pitches[0];
	paddr += (state->src.y1 >> 16) * fb->pitches[0];


	/* Set the line width */
	DRM_DEBUG_DRIVER("Layer line width: %d bytes\n", fb->pitches[0]);
	regmap_write(mixer->engine.regs,
		     SUN8I_MIXER_CHAN_UI_LAYER_PITCH(channel, overlay),
		     fb->pitches[0]);

	DRM_DEBUG_DRIVER("Setting buffer address to %pad\n", &paddr);
	DRM_DEBUG_DRIVER("Setting buffer address to %pad\n", &paddr);


	regmap_write(mixer->engine.regs,
	regmap_write(mixer->engine.regs,