Commit 4dc0f7c2 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'omapdrm-4.15-fixes' of...

Merge tag 'omapdrm-4.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-fixes

omapdrm fixes for 4.15

* Fix platform detection issue causing OMAP3 DPI output to have missing color bits
* Fix platform detection issue causing OMAP4 HDMI audio not to work

* tag 'omapdrm-4.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
  omapdrm: hdmi4_cec: signedness bug in hdmi4_cec_init()
  drm: omapdrm: Fix DPI on platforms using the DSI VDDS
  omapdrm: hdmi4: Correct the SoC revision matching
  drm/omap: displays: panel-dpi: add backlight dependency
  drm/omap: Fix error handling path in 'omap_dmm_probe()'
parents e4b2eb13 bc2aba90
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ config DRM_OMAP_CONNECTOR_ANALOG_TV

config DRM_OMAP_PANEL_DPI
	tristate "Generic DPI panel"
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Driver for generic DPI panels.

+2 −2
Original line number Diff line number Diff line
@@ -566,8 +566,8 @@ static int dpi_verify_pll(struct dss_pll *pll)
}

static const struct soc_device_attribute dpi_soc_devices[] = {
	{ .family = "OMAP3[456]*" },
	{ .family = "[AD]M37*" },
	{ .machine = "OMAP3[456]*" },
	{ .machine = "[AD]M37*" },
	{ /* sentinel */ }
};

+1 −1
Original line number Diff line number Diff line
@@ -352,7 +352,7 @@ int hdmi4_cec_init(struct platform_device *pdev, struct hdmi_core_data *core,
{
	const u32 caps = CEC_CAP_TRANSMIT | CEC_CAP_LOG_ADDRS |
			 CEC_CAP_PASSTHROUGH | CEC_CAP_RC;
	unsigned int ret;
	int ret;

	core->adap = cec_allocate_adapter(&hdmi_cec_adap_ops, core,
		"omap4", caps, CEC_MAX_LOG_ADDRS);
+17 −6
Original line number Diff line number Diff line
@@ -886,25 +886,36 @@ struct hdmi4_features {
	bool audio_use_mclk;
};

static const struct hdmi4_features hdmi4_es1_features = {
static const struct hdmi4_features hdmi4430_es1_features = {
	.cts_swmode = false,
	.audio_use_mclk = false,
};

static const struct hdmi4_features hdmi4_es2_features = {
static const struct hdmi4_features hdmi4430_es2_features = {
	.cts_swmode = true,
	.audio_use_mclk = false,
};

static const struct hdmi4_features hdmi4_es3_features = {
static const struct hdmi4_features hdmi4_features = {
	.cts_swmode = true,
	.audio_use_mclk = true,
};

static const struct soc_device_attribute hdmi4_soc_devices[] = {
	{ .family = "OMAP4", .revision = "ES1.?", .data = &hdmi4_es1_features },
	{ .family = "OMAP4", .revision = "ES2.?", .data = &hdmi4_es2_features },
	{ .family = "OMAP4",			  .data = &hdmi4_es3_features },
	{
		.machine = "OMAP4430",
		.revision = "ES1.?",
		.data = &hdmi4430_es1_features,
	},
	{
		.machine = "OMAP4430",
		.revision = "ES2.?",
		.data = &hdmi4430_es2_features,
	},
	{
		.family = "OMAP4",
		.data = &hdmi4_features,
	},
	{ /* sentinel */ }
};

+2 −1
Original line number Diff line number Diff line
@@ -638,7 +638,8 @@ static int omap_dmm_probe(struct platform_device *dev)
		match = of_match_node(dmm_of_match, dev->dev.of_node);
		if (!match) {
			dev_err(&dev->dev, "failed to find matching device node\n");
			return -ENODEV;
			ret = -ENODEV;
			goto fail;
		}

		omap_dmm->plat_data = match->data;