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

Commit b33a51e4 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge branch 'exynos-drm-next' of...

Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next

Summary:
- Resolve probe order and deferred probe issue with component framework
  support.
- Resolve hdmi dt broken issue.
  . HDMI DT support, which was broken since CCF (common clock framework)
    support, and considring legacy dt binding.
- Consolidate HDMI part.
  . APB based phy support for Exynos5420 and later, and fixups related
    to power on/off sequence.
- Consolidate IPP part.
  . Mostly bug fixups and code cleanups.
- Trivial fixups and code cleanups.

* 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (64 commits)
  drm/exynos: consider deferred probe case
  drm/exynos: remove unnecessary exynos_hdmi.h file
  drm/exynos/fimd: allow multiplatform configuration
  drm/exynos: add hdmiphy power on/off sequence
  drm/exynos: ipp: remove description of non-existing field
  drm/exynos: ipp: update comment for struct drm_ipp_buf_info
  drm/exynos: ipp: rearrange c_node->event_lock using routine
  drm/exynos: ipp: rearrange c_node->mem_lock using routines
  drm/exynos: ipp: add ipp_remove_id()
  drm/exynos: ipp: add cmd_lock for cmd_list
  drm/exynos: ipp: rename cmd_lock to lock
  drm/exynos: ipp: remove duplicated setting
  drm/exynos: ipp: remove usless list_empty() functions
  drm/exynos: Use PTR_ERR_OR_ZERO in exynos_dp_core.c
  drm/exynos: remove hardware overlays disable from fimd probe
  drm/exynos: Fix checkpatch warning in exynos_dp_reg.c
  drm/exynos: add fimd dependency to fimd related encoders
  drm/exynos: remove redundant mutex_unlock
  drm/exynos/fimc: simplify and rename fimc_dst_get_buf_seq
  drm/exynos/fimc: replace mutex by spinlock
  ...
parents 1c404d88 df5225bc
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -62,6 +62,10 @@ Optional properties for dp-controller:
	-hsync-active-high:
		HSYNC polarity configuration.
			High if defined, Low if not defined
	-samsung,hpd-gpio:
		Hotplug detect GPIO.
			Indicates which GPIO should be used for hotplug
			detection

Example:

+3 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ Required properties:
	1) "samsung,exynos5-hdmi" <DEPRECATED>
	2) "samsung,exynos4210-hdmi"
	3) "samsung,exynos4212-hdmi"
	4) "samsung,exynos5420-hdmi"
- reg: physical base address of the hdmi and length of memory mapped
	region.
- interrupts: interrupt number to the cpu.
@@ -27,6 +28,7 @@ Required properties:
	"hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi".
- ddc: phandle to the hdmi ddc node
- phy: phandle to the hdmi phy node
- samsung,syscon-phandle: phandle for system controller node for PMU.

Example:

@@ -37,4 +39,5 @@ Example:
		hpd-gpio = <&gpx3 7 1>;
		ddc = <&hdmi_ddc_node>;
		phy = <&hdmi_phy_node>;
		samsung,syscon-phandle = <&pmu_system_controller>;
	};
+2 −2
Original line number Diff line number Diff line
@@ -83,6 +83,8 @@ config DRM_KMS_CMA_HELPER

source "drivers/gpu/drm/i2c/Kconfig"

source "drivers/gpu/drm/bridge/Kconfig"

config DRM_TDFX
	tristate "3dfx Banshee/Voodoo3+"
	depends on DRM && PCI
@@ -199,5 +201,3 @@ source "drivers/gpu/drm/msm/Kconfig"
source "drivers/gpu/drm/tegra/Kconfig"

source "drivers/gpu/drm/panel/Kconfig"

source "drivers/gpu/drm/bridge/Kconfig"
+4 −4
Original line number Diff line number Diff line
@@ -26,14 +26,14 @@ config DRM_EXYNOS_DMABUF

config DRM_EXYNOS_FIMD
	bool "Exynos DRM FIMD"
	depends on DRM_EXYNOS && !FB_S3C && !ARCH_MULTIPLATFORM
	depends on DRM_EXYNOS && !FB_S3C
	select FB_MODE_HELPERS
	help
	  Choose this option if you want to use Exynos FIMD for DRM.

config DRM_EXYNOS_DPI
	bool "EXYNOS DRM parallel output support"
	depends on DRM_EXYNOS
	depends on DRM_EXYNOS_FIMD
	select DRM_PANEL
	default n
	help
@@ -41,7 +41,7 @@ config DRM_EXYNOS_DPI

config DRM_EXYNOS_DSI
	bool "EXYNOS DRM MIPI-DSI driver support"
	depends on DRM_EXYNOS
	depends on DRM_EXYNOS_FIMD
	select DRM_MIPI_DSI
	select DRM_PANEL
	default n
@@ -50,7 +50,7 @@ config DRM_EXYNOS_DSI

config DRM_EXYNOS_DP
	bool "EXYNOS DRM DP driver support"
	depends on DRM_EXYNOS && ARCH_EXYNOS
	depends on DRM_EXYNOS_FIMD && ARCH_EXYNOS && (DRM_PTN3460=n || DRM_PTN3460=y || DRM_PTN3460=DRM_EXYNOS)
	default DRM_EXYNOS
	help
	  This enables support for DP device.
+0 −63
Original line number Diff line number Diff line
/*
 * Copyright (C) 2011 Samsung Electronics Co.Ltd
 * Authors:
 *	Seung-Woo Kim <sw0312.kim@samsung.com>
 *	Inki Dae <inki.dae@samsung.com>
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 *
 */

#include <drm/drmP.h>

#include <linux/kernel.h>
#include <linux/i2c.h>
#include <linux/of.h>

#include "exynos_drm_drv.h"
#include "exynos_hdmi.h"

static int s5p_ddc_probe(struct i2c_client *client,
			const struct i2c_device_id *dev_id)
{
	hdmi_attach_ddc_client(client);

	dev_info(&client->adapter->dev,
		"attached %s into i2c adapter successfully\n",
		client->name);

	return 0;
}

static int s5p_ddc_remove(struct i2c_client *client)
{
	dev_info(&client->adapter->dev,
		"detached %s from i2c adapter successfully\n",
		client->name);

	return 0;
}

static struct of_device_id hdmiddc_match_types[] = {
	{
		.compatible = "samsung,exynos5-hdmiddc",
	}, {
		.compatible = "samsung,exynos4210-hdmiddc",
	}, {
		/* end node */
	}
};

struct i2c_driver ddc_driver = {
	.driver = {
		.name = "exynos-hdmiddc",
		.owner = THIS_MODULE,
		.of_match_table = hdmiddc_match_types,
	},
	.probe		= s5p_ddc_probe,
	.remove		= s5p_ddc_remove,
	.command		= NULL,
};
Loading