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

Commit 10a02eb6 authored by Rob Clark's avatar Rob Clark
Browse files

drm/msm: mdp4_format -> mdp_format



This can be shared between mdp4 and mdp5.  Both use the same set of
parameters to describe the format to the hw.

Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent facb4f4e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -12,9 +12,9 @@ msm-y := \
	hdmi/hdmi_i2c.o \
	hdmi/hdmi_phy_8960.o \
	hdmi/hdmi_phy_8x60.o \
	mdp/mdp_format.o \
	mdp/mdp4/mdp4_crtc.o \
	mdp/mdp4/mdp4_dtv_encoder.o \
	mdp/mdp4/mdp4_format.o \
	mdp/mdp4/mdp4_irq.o \
	mdp/mdp4/mdp4_kms.o \
	mdp/mdp4/mdp4_plane.o \
+2 −2
Original line number Diff line number Diff line
@@ -262,8 +262,8 @@ static void blend_setup(struct drm_crtc *crtc)
			enum mdp4_pipe pipe_id = mdp4_plane_pipe(plane);
			int idx = idxs[pipe_id];
			if (idx > 0) {
				const struct mdp4_format *format =
					to_mdp4_format(msm_framebuffer_format(plane->fb));
				const struct mdp_format *format =
					to_mdp_format(msm_framebuffer_format(plane->fb));
				alpha[idx-1] = format->alpha_enable;
			}
			mixer_cfg |= mixercfg(mdp4_crtc->mixer, pipe_id, stages[idx]);
+1 −1
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ static const struct msm_kms_funcs kms_funcs = {
		.irq             = mdp4_irq,
		.enable_vblank   = mdp4_enable_vblank,
		.disable_vblank  = mdp4_disable_vblank,
		.get_format      = mdp4_get_format,
		.get_format      = mdp_get_format,
		.round_pixclk    = mdp4_round_pixclk,
		.preclose        = mdp4_preclose,
		.destroy         = mdp4_destroy,
+10 −18
Original line number Diff line number Diff line
@@ -18,12 +18,8 @@
#ifndef __MDP4_KMS_H__
#define __MDP4_KMS_H__

#include <linux/clk.h>
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>

#include "msm_drv.h"
#include "mdp/mdp_common.xml.h"
#include "mdp/mdp_kms.h"
#include "mdp4.xml.h"


@@ -74,16 +70,6 @@ struct mdp4_platform_config {
	uint32_t max_clk;
};

struct mdp4_format {
	struct msm_format base;
	enum mdp_bpc bpc_r, bpc_g, bpc_b;
	enum mdp_bpc_alpha bpc_a;
	uint8_t unpack[4];
	bool alpha_enable, unpack_tight;
	uint8_t cpp, unpack_count;
};
#define to_mdp4_format(x) container_of(x, struct mdp4_format, base)

static inline void mdp4_write(struct mdp4_kms *mdp4_kms, u32 reg, u32 data)
{
	msm_writel(data, mdp4_kms->mmio + reg);
@@ -189,9 +175,15 @@ void mdp4_irq_unregister(struct mdp4_kms *mdp4_kms, struct mdp4_irq *irq);
int mdp4_enable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);
void mdp4_disable_vblank(struct msm_kms *kms, struct drm_crtc *crtc);

uint32_t mdp4_get_formats(enum mdp4_pipe pipe_id, uint32_t *formats,
		uint32_t max_formats);
const struct msm_format *mdp4_get_format(struct msm_kms *kms, uint32_t format);
static inline
uint32_t mdp4_get_formats(enum mdp4_pipe pipe_id, uint32_t *pixel_formats,
		uint32_t max_formats)
{
	/* TODO when we have YUV, we need to filter supported formats
	 * based on pipe_id..
	 */
	return mdp_get_formats(pixel_formats, max_formats);
}

void mdp4_plane_install_properties(struct drm_plane *plane,
		struct drm_mode_object *obj);
+2 −2
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ int mdp4_plane_mode_set(struct drm_plane *plane,
	struct mdp4_plane *mdp4_plane = to_mdp4_plane(plane);
	struct mdp4_kms *mdp4_kms = get_kms(plane);
	enum mdp4_pipe pipe = mdp4_plane->pipe;
	const struct mdp4_format *format;
	const struct mdp_format *format;
	uint32_t op_mode = 0;
	uint32_t phasex_step = MDP4_VG_PHASE_STEP_DEFAULT;
	uint32_t phasey_step = MDP4_VG_PHASE_STEP_DEFAULT;
@@ -175,7 +175,7 @@ int mdp4_plane_mode_set(struct drm_plane *plane,

	mdp4_plane_set_scanout(plane, fb);

	format = to_mdp4_format(msm_framebuffer_format(fb));
	format = to_mdp_format(msm_framebuffer_format(fb));

	mdp4_write(mdp4_kms, REG_MDP4_PIPE_SRC_FORMAT(pipe),
			MDP4_PIPE_SRC_FORMAT_A_BPC(format->bpc_a) |
Loading