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

Commit 1f68d9c4 authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

OMAPDSS: combine omap_dss_output into omap_dss_device



We currently have omap_dss_device, which represents an external display
device, sometimes an external encoder, sometimes a panel. Then we have
omap_dss_output, which represents DSS's output encoder.

In the future with new display device model, we construct a video
pipeline from the display blocks. To accomplish this, all the blocks
need to be presented by the same entity.

Thus, this patch combines omap_dss_output into omap_dss_device. Some of
the fields in omap_dss_output are already found in omap_dss_device, but
some are not. This means we'll have DSS output specific fields in
omap_dss_device, which is not very nice. However, it is easier to just
keep those output specific fields there for now, and after transition to
new display device model is made, they can be cleaned up easier than
could be done now.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent d3923933
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ static struct omap_crtc *omap_crtcs[8];

/* we can probably ignore these until we support command-mode panels: */
static int omap_crtc_connect(struct omap_overlay_manager *mgr,
		struct omap_dss_output *dst)
		struct omap_dss_device *dst)
{
	if (mgr->output)
		return -EINVAL;
@@ -110,7 +110,7 @@ static int omap_crtc_connect(struct omap_overlay_manager *mgr,
}

static void omap_crtc_disconnect(struct omap_overlay_manager *mgr,
		struct omap_dss_output *dst)
		struct omap_dss_device *dst)
{
	mgr->output->manager = NULL;
	mgr->output = NULL;
+1 −1
Original line number Diff line number Diff line
@@ -259,7 +259,7 @@ static int omap_modeset_init(struct drm_device *dev)
		struct drm_encoder *encoder = priv->encoders[i];
		struct omap_dss_device *dssdev =
					omap_encoder_get_dssdev(encoder);
		struct omap_dss_output *output;
		struct omap_dss_device *output;

		output = omapdss_find_output_from_display(dssdev);

+3 −3
Original line number Diff line number Diff line
@@ -791,13 +791,13 @@ static void mgr_clear_shadow_dirty(struct omap_overlay_manager *mgr)
}

static int dss_mgr_connect_compat(struct omap_overlay_manager *mgr,
		struct omap_dss_output *dst)
		struct omap_dss_device *dst)
{
	return mgr->set_output(mgr, dst);
}

static void dss_mgr_disconnect_compat(struct omap_overlay_manager *mgr,
		struct omap_dss_output *dst)
		struct omap_dss_device *dst)
{
	mgr->unset_output(mgr);
}
@@ -1166,7 +1166,7 @@ static void dss_mgr_get_info(struct omap_overlay_manager *mgr,
}

static int dss_mgr_set_output(struct omap_overlay_manager *mgr,
		struct omap_dss_output *output)
		struct omap_dss_device *output)
{
	int r;

+2 −2
Original line number Diff line number Diff line
@@ -353,7 +353,7 @@ static int dss_driver_remove(struct device *dev)

static int omapdss_default_connect(struct omap_dss_device *dssdev)
{
	struct omap_dss_output *out;
	struct omap_dss_device *out;
	struct omap_overlay_manager *mgr;
	int r;

@@ -375,7 +375,7 @@ static int omapdss_default_connect(struct omap_dss_device *dssdev)

static void omapdss_default_disconnect(struct omap_dss_device *dssdev)
{
	struct omap_dss_output *out;
	struct omap_dss_device *out;
	struct omap_overlay_manager *mgr;

	out = dssdev->output;
+6 −6
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ static struct {
	struct dss_lcd_mgr_config mgr_config;
	int data_lines;

	struct omap_dss_output output;
	struct omap_dss_device output;
} dpi;

static struct platform_device *dpi_get_dsidev(enum omap_channel channel)
@@ -347,7 +347,7 @@ static void dpi_config_lcd_manager(struct omap_overlay_manager *mgr)

int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
{
	struct omap_dss_output *out = &dpi.output;
	struct omap_dss_device *out = &dpi.output;
	int r;

	mutex_lock(&dpi.lock);
@@ -680,11 +680,11 @@ static int dpi_probe_pdata(struct platform_device *dpidev)

static void dpi_init_output(struct platform_device *pdev)
{
	struct omap_dss_output *out = &dpi.output;
	struct omap_dss_device *out = &dpi.output;

	out->pdev = pdev;
	out->dev = &pdev->dev;
	out->id = OMAP_DSS_OUTPUT_DPI;
	out->type = OMAP_DISPLAY_TYPE_DPI;
	out->output_type = OMAP_DISPLAY_TYPE_DPI;
	out->name = "dpi.0";
	out->dispc_channel = dpi_get_channel();

@@ -693,7 +693,7 @@ static void dpi_init_output(struct platform_device *pdev)

static void __exit dpi_uninit_output(struct platform_device *pdev)
{
	struct omap_dss_output *out = &dpi.output;
	struct omap_dss_device *out = &dpi.output;

	dss_unregister_output(out);
}
Loading