All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] add atomic_check callback to exynos_crtc
@ 2015-10-26 12:03 Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 1/7] drm/exynos: " Andrzej Hajda
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Krzysztof Kozlowski, linux-samsung-soc,
	Bartlomiej Zolnierkiewicz, open list:DRM DRIVERS FOR EXYNOS,
	Andrzej Hajda, Kyungmin Park, Marek Szyprowski

Hi Inki,

This patchset removes hacky mode validation in Mixer driver by adding
atomic_check callback to exynos_crtc and replacing direct function call
with DRM framework validation. As a result HDMI driver does not depend anymore
on MIXER driver and both drivers can be selected with different Kconfig options,
it is usefull especially for latests SoCs which do have HDMI IP but do not have
MIXER IP.
Additionally patchset performs small Kconfig refactoring.

Krzysztof could you look at exynos_defconfig patch. Maybe it would be good
to merge it before next patch to allow full bi-sectability :)

Regards
Andrzej


Andrzej Hajda (7):
  drm/exynos: add atomic_check callback to exynos_crtc
  drm/exynos/mixer: replace direct cross-driver call with drm mode
    validation
  ARM: exynos_defconfig: enable Exynos DRM Mixer driver
  drm/exynos: separate Mixer and HDMI drivers
  drm/exynos: abstract out common dependency
  drm/exynos: re-arrange Kconfig entries
  drm/exynos: simplify Kconfig component names

 arch/arm/configs/exynos_defconfig        |  1 +
 drivers/gpu/drm/exynos/Kconfig           | 75 +++++++++++++++++++-------------
 drivers/gpu/drm/exynos/Makefile          |  3 +-
 drivers/gpu/drm/exynos/exynos_drm_crtc.c | 12 +++++
 drivers/gpu/drm/exynos/exynos_drm_drv.c  |  4 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.h  |  3 ++
 drivers/gpu/drm/exynos/exynos_hdmi.c     |  5 ---
 drivers/gpu/drm/exynos/exynos_mixer.c    |  6 ++-
 drivers/gpu/drm/exynos/exynos_mixer.h    | 20 ---------
 9 files changed, 69 insertions(+), 60 deletions(-)
 delete mode 100644 drivers/gpu/drm/exynos/exynos_mixer.h

-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH 1/7] drm/exynos: add atomic_check callback to exynos_crtc
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
@ 2015-10-26 12:03 ` Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 2/7] drm/exynos/mixer: replace direct cross-driver call with drm mode validation Andrzej Hajda
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Andrzej Hajda, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

Some CRTCs needs mode validation, this patch adds neccessary
callback to Exynos DRM framework. It is called from DRM core
via atomic_check helper for drm_crtc.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_drm_crtc.c | 12 ++++++++++++
 drivers/gpu/drm/exynos/exynos_drm_drv.h  |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
index 50dec0d..b3ba27f 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
@@ -50,6 +50,17 @@ exynos_drm_crtc_mode_set_nofb(struct drm_crtc *crtc)
 		exynos_crtc->ops->commit(exynos_crtc);
 }
 
+static int exynos_crtc_atomic_check(struct drm_crtc *crtc,
+				     struct drm_crtc_state *state)
+{
+	struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
+
+	if (exynos_crtc->ops->atomic_check)
+		return exynos_crtc->ops->atomic_check(exynos_crtc, state);
+
+	return 0;
+}
+
 static void exynos_crtc_atomic_begin(struct drm_crtc *crtc,
 				     struct drm_crtc_state *old_crtc_state)
 {
@@ -86,6 +97,7 @@ static struct drm_crtc_helper_funcs exynos_crtc_helper_funcs = {
 	.enable		= exynos_drm_crtc_enable,
 	.disable	= exynos_drm_crtc_disable,
 	.mode_set_nofb	= exynos_drm_crtc_mode_set_nofb,
+	.atomic_check	= exynos_crtc_atomic_check,
 	.atomic_begin	= exynos_crtc_atomic_begin,
 	.atomic_flush	= exynos_crtc_atomic_flush,
 };
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h
index 638fc43..f1eda7f 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -89,6 +89,7 @@ struct exynos_drm_plane {
  * @disable_vblank: specific driver callback for disabling vblank interrupt.
  * @wait_for_vblank: wait for vblank interrupt to make sure that
  *	hardware overlay is updated.
+ * @atomic_check: validate state
  * @atomic_begin: prepare a window to receive a update
  * @atomic_flush: mark the end of a window update
  * @update_plane: apply hardware specific overlay data to registers.
@@ -108,6 +109,8 @@ struct exynos_drm_crtc_ops {
 	int (*enable_vblank)(struct exynos_drm_crtc *crtc);
 	void (*disable_vblank)(struct exynos_drm_crtc *crtc);
 	void (*wait_for_vblank)(struct exynos_drm_crtc *crtc);
+	int (*atomic_check)(struct exynos_drm_crtc *crtc,
+			    struct drm_crtc_state *state);
 	void (*atomic_begin)(struct exynos_drm_crtc *crtc,
 			      struct exynos_drm_plane *plane);
 	void (*update_plane)(struct exynos_drm_crtc *crtc,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 2/7] drm/exynos/mixer: replace direct cross-driver call with drm mode validation
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 1/7] drm/exynos: " Andrzej Hajda
@ 2015-10-26 12:03 ` Andrzej Hajda
  2015-11-24 21:40   ` Javier Martinez Canillas
  2015-10-26 12:03 ` [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Andrzej Hajda, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

HDMI driver called directly function from MIXER driver to invalidate modes
not supported by MIXER. The patch replaces the hack with proper .atomic_check
callback.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c  |  5 -----
 drivers/gpu/drm/exynos/exynos_mixer.c |  6 ++++--
 drivers/gpu/drm/exynos/exynos_mixer.h | 20 --------------------
 3 files changed, 4 insertions(+), 27 deletions(-)
 delete mode 100644 drivers/gpu/drm/exynos/exynos_mixer.h

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index b0f5ff4..57b6755 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -44,7 +44,6 @@
 
 #include "exynos_drm_drv.h"
 #include "exynos_drm_crtc.h"
-#include "exynos_mixer.h"
 
 #define HOTPLUG_DEBOUNCE_MS		1100
 
@@ -1017,10 +1016,6 @@ static int hdmi_mode_valid(struct drm_connector *connector,
 		(mode->flags & DRM_MODE_FLAG_INTERLACE) ? true :
 		false, mode->clock * 1000);
 
-	ret = mixer_check_mode(mode);
-	if (ret)
-		return MODE_BAD;
-
 	ret = hdmi_find_phy_conf(hdata, mode->clock * 1000);
 	if (ret < 0)
 		return MODE_BAD;
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index 3f9f072..d09f8f9 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -39,7 +39,6 @@
 #include "exynos_drm_crtc.h"
 #include "exynos_drm_plane.h"
 #include "exynos_drm_iommu.h"
-#include "exynos_mixer.h"
 
 #define MIXER_WIN_NR		3
 #define VP_DEFAULT_WIN		2
@@ -1096,8 +1095,10 @@ static void mixer_disable(struct exynos_drm_crtc *crtc)
 }
 
 /* Only valid for Mixer version 16.0.33.0 */
-int mixer_check_mode(struct drm_display_mode *mode)
+static int mixer_atomic_check(struct exynos_drm_crtc *crtc,
+		       struct drm_crtc_state *state)
 {
+	struct drm_display_mode *mode = &state->adjusted_mode;
 	u32 w, h;
 
 	w = mode->hdisplay;
@@ -1123,6 +1124,7 @@ static const struct exynos_drm_crtc_ops mixer_crtc_ops = {
 	.wait_for_vblank	= mixer_wait_for_vblank,
 	.update_plane		= mixer_update_plane,
 	.disable_plane		= mixer_disable_plane,
+	.atomic_check		= mixer_atomic_check,
 };
 
 static struct mixer_drv_data exynos5420_mxr_drv_data = {
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.h b/drivers/gpu/drm/exynos/exynos_mixer.h
deleted file mode 100644
index 3811e41..0000000
--- a/drivers/gpu/drm/exynos/exynos_mixer.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (C) 2013 Google, Inc.
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _EXYNOS_MIXER_H_
-#define _EXYNOS_MIXER_H_
-
-/* This function returns 0 if the given timing is valid for the mixer */
-int mixer_check_mode(struct drm_display_mode *mode);
-
-#endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 1/7] drm/exynos: " Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 2/7] drm/exynos/mixer: replace direct cross-driver call with drm mode validation Andrzej Hajda
@ 2015-10-26 12:03 ` Andrzej Hajda
  2015-10-28  6:09   ` Krzysztof Kozlowski
  2016-05-30  6:37   ` Krzysztof Kozlowski
  2015-10-26 12:03 ` [PATCH 4/7] drm/exynos: separate Mixer and HDMI drivers Andrzej Hajda
                   ` (4 subsequent siblings)
  7 siblings, 2 replies; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Andrzej Hajda, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433
HDMI does not require Mixer. There will be separate options to select Mixer
and HDMI. Adding new option to defconfig before Kconfig will allow to keep
bisectability.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 arch/arm/configs/exynos_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
index 1ff2bfa..af79a21 100644
--- a/arch/arm/configs/exynos_defconfig
+++ b/arch/arm/configs/exynos_defconfig
@@ -132,6 +132,7 @@ CONFIG_DRM_PARADE_PS8622=y
 CONFIG_DRM_EXYNOS=y
 CONFIG_DRM_EXYNOS_FIMD=y
 CONFIG_DRM_EXYNOS_DSI=y
+CONFIG_DRM_EXYNOS_MIXER=y
 CONFIG_DRM_EXYNOS_HDMI=y
 CONFIG_DRM_PANEL_SIMPLE=y
 CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 4/7] drm/exynos: separate Mixer and HDMI drivers
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
                   ` (2 preceding siblings ...)
  2015-10-26 12:03 ` [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
@ 2015-10-26 12:03 ` Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 5/7] drm/exynos: abstract out common dependency Andrzej Hajda
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Andrzej Hajda, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

Latest Exynos SoCs does not have Mixer IP, but they still have HDMI IP.
Their drivers should be configurable separately.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 drivers/gpu/drm/exynos/Kconfig          | 8 +++++++-
 drivers/gpu/drm/exynos/Makefile         | 3 ++-
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 +++-
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index 16cb1f7..c0dc056 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -62,9 +62,15 @@ config DRM_EXYNOS_DP
 	help
 	  This enables support for DP device.
 
+config DRM_EXYNOS_MIXER
+	bool "Exynos DRM Mixer"
+	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_TV
+	help
+	  Choose this option if you want to use Exynos Mixer for DRM.
+
 config DRM_EXYNOS_HDMI
 	bool "Exynos DRM HDMI"
-	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_TV
+	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_TV && (DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON)
 	help
 	  Choose this option if you want to use Exynos HDMI for DRM.
 
diff --git a/drivers/gpu/drm/exynos/Makefile b/drivers/gpu/drm/exynos/Makefile
index 02aecfe..6496532 100644
--- a/drivers/gpu/drm/exynos/Makefile
+++ b/drivers/gpu/drm/exynos/Makefile
@@ -14,7 +14,8 @@ exynosdrm-$(CONFIG_DRM_EXYNOS7_DECON)	+= exynos7_drm_decon.o
 exynosdrm-$(CONFIG_DRM_EXYNOS_DPI)	+= exynos_drm_dpi.o
 exynosdrm-$(CONFIG_DRM_EXYNOS_DSI)	+= exynos_drm_dsi.o
 exynosdrm-$(CONFIG_DRM_EXYNOS_DP)	+= exynos_dp_core.o exynos_dp_reg.o
-exynosdrm-$(CONFIG_DRM_EXYNOS_HDMI)	+= exynos_hdmi.o exynos_mixer.o
+exynosdrm-$(CONFIG_DRM_EXYNOS_MIXER)	+= exynos_mixer.o
+exynosdrm-$(CONFIG_DRM_EXYNOS_HDMI)	+= exynos_hdmi.o
 exynosdrm-$(CONFIG_DRM_EXYNOS_VIDI)	+= exynos_drm_vidi.o
 exynosdrm-$(CONFIG_DRM_EXYNOS_G2D)	+= exynos_drm_g2d.o
 exynosdrm-$(CONFIG_DRM_EXYNOS_IPP)	+= exynos_drm_ipp.o
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 0a05117..ba4de7d 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -531,8 +531,10 @@ static struct platform_driver *const exynos_drm_kms_drivers[] = {
 #ifdef CONFIG_DRM_EXYNOS_DSI
 	&dsi_driver,
 #endif
-#ifdef CONFIG_DRM_EXYNOS_HDMI
+#ifdef CONFIG_DRM_EXYNOS_MIXER
 	&mixer_driver,
+#endif
+#ifdef CONFIG_DRM_EXYNOS_HDMI
 	&hdmi_driver,
 #endif
 #ifdef CONFIG_DRM_EXYNOS_VIDI
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 5/7] drm/exynos: abstract out common dependency
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
                   ` (3 preceding siblings ...)
  2015-10-26 12:03 ` [PATCH 4/7] drm/exynos: separate Mixer and HDMI drivers Andrzej Hajda
@ 2015-10-26 12:03 ` Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 6/7] drm/exynos: re-arrange Kconfig entries Andrzej Hajda
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Andrzej Hajda, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

All options depends on DRM_EXYNOS so it can be moved to enclosing if clause.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 drivers/gpu/drm/exynos/Kconfig | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index c0dc056..25351d0 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -11,14 +11,16 @@ config DRM_EXYNOS
 	  Choose this option if you have a Samsung SoC EXYNOS chipset.
 	  If M is selected the module will be called exynosdrm.
 
+if DRM_EXYNOS
+
 config DRM_EXYNOS_IOMMU
 	bool
-	depends on DRM_EXYNOS && EXYNOS_IOMMU && ARM_DMA_USE_IOMMU
+	depends on EXYNOS_IOMMU && ARM_DMA_USE_IOMMU
 	default y
 
 config DRM_EXYNOS_FIMD
 	bool "Exynos DRM FIMD"
-	depends on DRM_EXYNOS && !FB_S3C
+	depends on !FB_S3C
 	select FB_MODE_HELPERS
 	select MFD_SYSCON
 	help
@@ -26,20 +28,19 @@ config DRM_EXYNOS_FIMD
 
 config DRM_EXYNOS5433_DECON
 	bool "Exynos5433 DRM DECON"
-	depends on DRM_EXYNOS
 	help
 	  Choose this option if you want to use Exynos5433 DECON for DRM.
 
 config DRM_EXYNOS7_DECON
 	bool "Exynos7 DRM DECON"
-	depends on DRM_EXYNOS && !FB_S3C
+	depends on !FB_S3C
 	select FB_MODE_HELPERS
 	help
 	  Choose this option if you want to use Exynos DECON for DRM.
 
 config DRM_EXYNOS_DPI
 	bool "EXYNOS DRM parallel output support"
-	depends on DRM_EXYNOS && (DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON)
+	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
 	select DRM_PANEL
 	default n
 	help
@@ -47,7 +48,7 @@ config DRM_EXYNOS_DPI
 
 config DRM_EXYNOS_DSI
 	bool "EXYNOS DRM MIPI-DSI driver support"
-	depends on DRM_EXYNOS && (DRM_EXYNOS_FIMD || DRM_EXYNOS5433_DECON || DRM_EXYNOS7_DECON)
+	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS5433_DECON || DRM_EXYNOS7_DECON
 	select DRM_MIPI_DSI
 	select DRM_PANEL
 	default n
@@ -56,7 +57,7 @@ config DRM_EXYNOS_DSI
 
 config DRM_EXYNOS_DP
 	bool "EXYNOS DRM DP driver support"
-	depends on DRM_EXYNOS && (DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON)
+	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
 	default DRM_EXYNOS
 	select DRM_PANEL
 	help
@@ -64,32 +65,30 @@ config DRM_EXYNOS_DP
 
 config DRM_EXYNOS_MIXER
 	bool "Exynos DRM Mixer"
-	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_TV
+	depends on !VIDEO_SAMSUNG_S5P_TV
 	help
 	  Choose this option if you want to use Exynos Mixer for DRM.
 
 config DRM_EXYNOS_HDMI
 	bool "Exynos DRM HDMI"
-	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_TV && (DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON)
+	depends on !VIDEO_SAMSUNG_S5P_TV && (DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON)
 	help
 	  Choose this option if you want to use Exynos HDMI for DRM.
 
 config DRM_EXYNOS_VIDI
 	bool "Exynos DRM Virtual Display"
-	depends on DRM_EXYNOS
 	help
 	  Choose this option if you want to use Exynos VIDI for DRM.
 
 config DRM_EXYNOS_G2D
 	bool "Exynos DRM G2D"
-	depends on DRM_EXYNOS && !VIDEO_SAMSUNG_S5P_G2D
+	depends on !VIDEO_SAMSUNG_S5P_G2D
 	select FRAME_VECTOR
 	help
 	  Choose this option if you want to use Exynos G2D for DRM.
 
 config DRM_EXYNOS_IPP
 	bool "Exynos DRM IPP"
-	depends on DRM_EXYNOS
 	help
 	  Choose this option if you want to use IPP feature for DRM.
 
@@ -113,6 +112,8 @@ config DRM_EXYNOS_GSC
 
 config DRM_EXYNOS_MIC
 	bool "Exynos DRM MIC"
-	depends on (DRM_EXYNOS && DRM_EXYNOS5433_DECON)
+	depends on DRM_EXYNOS5433_DECON
 	help
 	  Choose this option if you want to use Exynos MIC for DRM.
+
+endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 6/7] drm/exynos: re-arrange Kconfig entries
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
                   ` (4 preceding siblings ...)
  2015-10-26 12:03 ` [PATCH 5/7] drm/exynos: abstract out common dependency Andrzej Hajda
@ 2015-10-26 12:03 ` Andrzej Hajda
  2015-10-26 12:03 ` [PATCH 7/7] drm/exynos: simplify Kconfig component names Andrzej Hajda
  2015-10-28  1:37 ` [PATCH 0/7] add atomic_check callback to exynos_crtc Krzysztof Kozlowski
  7 siblings, 0 replies; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Andrzej Hajda, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

Exynos DRM driver have quite big number of components and options.
The patch re-arranges them into three logical groups:
- CRTCs,
- Encoders and Bridges,
- Sub-drivers.
It should make driver options more clear.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 drivers/gpu/drm/exynos/Kconfig | 38 ++++++++++++++++++++++----------------
 1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index 25351d0..86ff8ab 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -18,6 +18,8 @@ config DRM_EXYNOS_IOMMU
 	depends on EXYNOS_IOMMU && ARM_DMA_USE_IOMMU
 	default y
 
+comment "CRTCs"
+
 config DRM_EXYNOS_FIMD
 	bool "Exynos DRM FIMD"
 	depends on !FB_S3C
@@ -38,9 +40,22 @@ config DRM_EXYNOS7_DECON
 	help
 	  Choose this option if you want to use Exynos DECON for DRM.
 
+config DRM_EXYNOS_MIXER
+	bool "Exynos DRM Mixer"
+	depends on !VIDEO_SAMSUNG_S5P_TV
+	help
+	  Choose this option if you want to use Exynos Mixer for DRM.
+
+config DRM_EXYNOS_VIDI
+	bool "Exynos DRM Virtual Display"
+	help
+	  Choose this option if you want to use Exynos VIDI for DRM.
+
+comment "Encoders and Bridges"
+
 config DRM_EXYNOS_DPI
 	bool "EXYNOS DRM parallel output support"
-	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
+	depends on DRM_EXYNOS_FIMD
 	select DRM_PANEL
 	default n
 	help
@@ -63,22 +78,19 @@ config DRM_EXYNOS_DP
 	help
 	  This enables support for DP device.
 
-config DRM_EXYNOS_MIXER
-	bool "Exynos DRM Mixer"
-	depends on !VIDEO_SAMSUNG_S5P_TV
-	help
-	  Choose this option if you want to use Exynos Mixer for DRM.
-
 config DRM_EXYNOS_HDMI
 	bool "Exynos DRM HDMI"
 	depends on !VIDEO_SAMSUNG_S5P_TV && (DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON)
 	help
 	  Choose this option if you want to use Exynos HDMI for DRM.
 
-config DRM_EXYNOS_VIDI
-	bool "Exynos DRM Virtual Display"
+config DRM_EXYNOS_MIC
+	bool "Exynos DRM MIC"
+	depends on DRM_EXYNOS5433_DECON
 	help
-	  Choose this option if you want to use Exynos VIDI for DRM.
+	  Choose this option if you want to use Exynos MIC for DRM.
+
+comment "Sub-drivers"
 
 config DRM_EXYNOS_G2D
 	bool "Exynos DRM G2D"
@@ -110,10 +122,4 @@ config DRM_EXYNOS_GSC
 	help
 	  Choose this option if you want to use Exynos GSC for DRM.
 
-config DRM_EXYNOS_MIC
-	bool "Exynos DRM MIC"
-	depends on DRM_EXYNOS5433_DECON
-	help
-	  Choose this option if you want to use Exynos MIC for DRM.
-
 endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 7/7] drm/exynos: simplify Kconfig component names
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
                   ` (5 preceding siblings ...)
  2015-10-26 12:03 ` [PATCH 6/7] drm/exynos: re-arrange Kconfig entries Andrzej Hajda
@ 2015-10-26 12:03 ` Andrzej Hajda
  2015-10-28  1:37 ` [PATCH 0/7] add atomic_check callback to exynos_crtc Krzysztof Kozlowski
  7 siblings, 0 replies; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-26 12:03 UTC (permalink / raw)
  To: Inki Dae
  Cc: Andrzej Hajda, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

Many Exynos DRM sub-options mentions Exynos DRM in their titles.
It is redundant and can be safely shortened. The patch additionally
makes some entries more descriptive.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 drivers/gpu/drm/exynos/Kconfig | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index 86ff8ab..fbc28fa 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -21,7 +21,7 @@ config DRM_EXYNOS_IOMMU
 comment "CRTCs"
 
 config DRM_EXYNOS_FIMD
-	bool "Exynos DRM FIMD"
+	bool "FIMD"
 	depends on !FB_S3C
 	select FB_MODE_HELPERS
 	select MFD_SYSCON
@@ -29,32 +29,32 @@ config DRM_EXYNOS_FIMD
 	  Choose this option if you want to use Exynos FIMD for DRM.
 
 config DRM_EXYNOS5433_DECON
-	bool "Exynos5433 DRM DECON"
+	bool "DECON on Exynos5433"
 	help
 	  Choose this option if you want to use Exynos5433 DECON for DRM.
 
 config DRM_EXYNOS7_DECON
-	bool "Exynos7 DRM DECON"
+	bool "DECON on Exynos7"
 	depends on !FB_S3C
 	select FB_MODE_HELPERS
 	help
 	  Choose this option if you want to use Exynos DECON for DRM.
 
 config DRM_EXYNOS_MIXER
-	bool "Exynos DRM Mixer"
+	bool "Mixer"
 	depends on !VIDEO_SAMSUNG_S5P_TV
 	help
 	  Choose this option if you want to use Exynos Mixer for DRM.
 
 config DRM_EXYNOS_VIDI
-	bool "Exynos DRM Virtual Display"
+	bool "Virtual Display"
 	help
 	  Choose this option if you want to use Exynos VIDI for DRM.
 
 comment "Encoders and Bridges"
 
 config DRM_EXYNOS_DPI
-	bool "EXYNOS DRM parallel output support"
+	bool "Parallel output"
 	depends on DRM_EXYNOS_FIMD
 	select DRM_PANEL
 	default n
@@ -62,7 +62,7 @@ config DRM_EXYNOS_DPI
 	  This enables support for Exynos parallel output.
 
 config DRM_EXYNOS_DSI
-	bool "EXYNOS DRM MIPI-DSI driver support"
+	bool "MIPI-DSI host"
 	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS5433_DECON || DRM_EXYNOS7_DECON
 	select DRM_MIPI_DSI
 	select DRM_PANEL
@@ -71,7 +71,7 @@ config DRM_EXYNOS_DSI
 	  This enables support for Exynos MIPI-DSI device.
 
 config DRM_EXYNOS_DP
-	bool "EXYNOS DRM DP driver support"
+	bool "Display Port"
 	depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
 	default DRM_EXYNOS
 	select DRM_PANEL
@@ -79,13 +79,13 @@ config DRM_EXYNOS_DP
 	  This enables support for DP device.
 
 config DRM_EXYNOS_HDMI
-	bool "Exynos DRM HDMI"
+	bool "HDMI"
 	depends on !VIDEO_SAMSUNG_S5P_TV && (DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON)
 	help
 	  Choose this option if you want to use Exynos HDMI for DRM.
 
 config DRM_EXYNOS_MIC
-	bool "Exynos DRM MIC"
+	bool "Mobile Image Compressor"
 	depends on DRM_EXYNOS5433_DECON
 	help
 	  Choose this option if you want to use Exynos MIC for DRM.
@@ -93,31 +93,31 @@ config DRM_EXYNOS_MIC
 comment "Sub-drivers"
 
 config DRM_EXYNOS_G2D
-	bool "Exynos DRM G2D"
+	bool "G2D"
 	depends on !VIDEO_SAMSUNG_S5P_G2D
 	select FRAME_VECTOR
 	help
 	  Choose this option if you want to use Exynos G2D for DRM.
 
 config DRM_EXYNOS_IPP
-	bool "Exynos DRM IPP"
+	bool "Image Post Processor"
 	help
 	  Choose this option if you want to use IPP feature for DRM.
 
 config DRM_EXYNOS_FIMC
-	bool "Exynos DRM FIMC"
+	bool "FIMC"
 	depends on DRM_EXYNOS_IPP && MFD_SYSCON
 	help
 	  Choose this option if you want to use Exynos FIMC for DRM.
 
 config DRM_EXYNOS_ROTATOR
-	bool "Exynos DRM Rotator"
+	bool "Rotator"
 	depends on DRM_EXYNOS_IPP
 	help
 	  Choose this option if you want to use Exynos Rotator for DRM.
 
 config DRM_EXYNOS_GSC
-	bool "Exynos DRM GSC"
+	bool "GScaler"
 	depends on DRM_EXYNOS_IPP && ARCH_EXYNOS5 && !ARCH_MULTIPLATFORM
 	help
 	  Choose this option if you want to use Exynos GSC for DRM.
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/7] add atomic_check callback to exynos_crtc
  2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
                   ` (6 preceding siblings ...)
  2015-10-26 12:03 ` [PATCH 7/7] drm/exynos: simplify Kconfig component names Andrzej Hajda
@ 2015-10-28  1:37 ` Krzysztof Kozlowski
  2015-10-28  5:30   ` Inki Dae
  7 siblings, 1 reply; 22+ messages in thread
From: Krzysztof Kozlowski @ 2015-10-28  1:37 UTC (permalink / raw)
  To: Andrzej Hajda, Inki Dae
  Cc: moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES,
	Kyungmin Park, Marek Szyprowski,
	open list:DRM DRIVERS FOR EXYNOS, Bartlomiej Zolnierkiewicz

On 26.10.2015 21:03, Andrzej Hajda wrote:
> Hi Inki,
> 
> This patchset removes hacky mode validation in Mixer driver by adding
> atomic_check callback to exynos_crtc and replacing direct function call
> with DRM framework validation. As a result HDMI driver does not depend anymore
> on MIXER driver and both drivers can be selected with different Kconfig options,
> it is usefull especially for latests SoCs which do have HDMI IP but do not have
> MIXER IP.
> Additionally patchset performs small Kconfig refactoring.
> 
> Krzysztof could you look at exynos_defconfig patch. Maybe it would be good
> to merge it before next patch to allow full bi-sectability :)

I would be happy to see similar for multi_v7. HDMI is already there.

I also wonder why actually DRM_EXYNOS_HDMI has to depend on MIXER or DECON?

Best regards,
Krzysztof

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/7] add atomic_check callback to exynos_crtc
  2015-10-28  1:37 ` [PATCH 0/7] add atomic_check callback to exynos_crtc Krzysztof Kozlowski
@ 2015-10-28  5:30   ` Inki Dae
  2015-10-28  5:38     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 22+ messages in thread
From: Inki Dae @ 2015-10-28  5:30 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Andrzej Hajda
  Cc: Bartlomiej Zolnierkiewicz, Marek Szyprowski, Kyungmin Park,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES



2015년 10월 28일 10:37에 Krzysztof Kozlowski 이(가) 쓴 글:
> On 26.10.2015 21:03, Andrzej Hajda wrote:
>> Hi Inki,
>>
>> This patchset removes hacky mode validation in Mixer driver by adding
>> atomic_check callback to exynos_crtc and replacing direct function call
>> with DRM framework validation. As a result HDMI driver does not depend anymore
>> on MIXER driver and both drivers can be selected with different Kconfig options,
>> it is usefull especially for latests SoCs which do have HDMI IP but do not have
>> MIXER IP.
>> Additionally patchset performs small Kconfig refactoring.
>>
>> Krzysztof could you look at exynos_defconfig patch. Maybe it would be good
>> to merge it before next patch to allow full bi-sectability :)
> 
> I would be happy to see similar for multi_v7. HDMI is already there.
> 
> I also wonder why actually DRM_EXYNOS_HDMI has to depend on MIXER or DECON?

DECON controller has two kinds of data paths in case of Exynos5433 or later.
One is Display path and other is TV path. So it'd be reasonable for DRM_EXYNOS_HDMI to depend on MIXER or DECON -
TV path of DECON controller transfers Display data to HDMI like MIXER IP of previous Exynos SoC did.

Thanks,
Inki Dae

> 
> Best regards,
> Krzysztof
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/7] add atomic_check callback to exynos_crtc
  2015-10-28  5:30   ` Inki Dae
@ 2015-10-28  5:38     ` Krzysztof Kozlowski
  2015-10-28  5:57       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 22+ messages in thread
From: Krzysztof Kozlowski @ 2015-10-28  5:38 UTC (permalink / raw)
  To: Inki Dae, Andrzej Hajda
  Cc: Bartlomiej Zolnierkiewicz, Marek Szyprowski, Kyungmin Park,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

On 28.10.2015 14:30, Inki Dae wrote:
> 
> 
> 2015년 10월 28일 10:37에 Krzysztof Kozlowski 이(가) 쓴 글:
>> On 26.10.2015 21:03, Andrzej Hajda wrote:
>>> Hi Inki,
>>>
>>> This patchset removes hacky mode validation in Mixer driver by adding
>>> atomic_check callback to exynos_crtc and replacing direct function call
>>> with DRM framework validation. As a result HDMI driver does not depend anymore
>>> on MIXER driver and both drivers can be selected with different Kconfig options,
>>> it is usefull especially for latests SoCs which do have HDMI IP but do not have
>>> MIXER IP.
>>> Additionally patchset performs small Kconfig refactoring.
>>>
>>> Krzysztof could you look at exynos_defconfig patch. Maybe it would be good
>>> to merge it before next patch to allow full bi-sectability :)
>>
>> I would be happy to see similar for multi_v7. HDMI is already there.
>>
>> I also wonder why actually DRM_EXYNOS_HDMI has to depend on MIXER or DECON?
> 
> DECON controller has two kinds of data paths in case of Exynos5433 or later.
> One is Display path and other is TV path. So it'd be reasonable for DRM_EXYNOS_HDMI to depend on MIXER or DECON -
> TV path of DECON controller transfers Display data to HDMI like MIXER IP of previous Exynos SoC did.

So this is not a build-time dependency but rather runtime? What will
happen if HDMI is compiled and enabled (for example in DTB) but there
will be no DECON nor MIXER compiled in?

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 0/7] add atomic_check callback to exynos_crtc
  2015-10-28  5:38     ` Krzysztof Kozlowski
@ 2015-10-28  5:57       ` Krzysztof Kozlowski
  2015-10-29 14:25         ` [PATCH] ARM: multi_v7_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
  0 siblings, 1 reply; 22+ messages in thread
From: Krzysztof Kozlowski @ 2015-10-28  5:57 UTC (permalink / raw)
  To: Inki Dae, Andrzej Hajda
  Cc: Bartlomiej Zolnierkiewicz, Marek Szyprowski, Kyungmin Park,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

On 28.10.2015 14:38, Krzysztof Kozlowski wrote:
> On 28.10.2015 14:30, Inki Dae wrote:
>>
>>
>> 2015년 10월 28일 10:37에 Krzysztof Kozlowski 이(가) 쓴 글:
>>> On 26.10.2015 21:03, Andrzej Hajda wrote:
>>>> Hi Inki,
>>>>
>>>> This patchset removes hacky mode validation in Mixer driver by adding
>>>> atomic_check callback to exynos_crtc and replacing direct function call
>>>> with DRM framework validation. As a result HDMI driver does not depend anymore
>>>> on MIXER driver and both drivers can be selected with different Kconfig options,
>>>> it is usefull especially for latests SoCs which do have HDMI IP but do not have
>>>> MIXER IP.
>>>> Additionally patchset performs small Kconfig refactoring.
>>>>
>>>> Krzysztof could you look at exynos_defconfig patch. Maybe it would be good
>>>> to merge it before next patch to allow full bi-sectability :)
>>>
>>> I would be happy to see similar for multi_v7. HDMI is already there.
>>>
>>> I also wonder why actually DRM_EXYNOS_HDMI has to depend on MIXER or DECON?
>>
>> DECON controller has two kinds of data paths in case of Exynos5433 or later.
>> One is Display path and other is TV path. So it'd be reasonable for DRM_EXYNOS_HDMI to depend on MIXER or DECON -
>> TV path of DECON controller transfers Display data to HDMI like MIXER IP of previous Exynos SoC did.
> 
> So this is not a build-time dependency but rather runtime? What will
> happen if HDMI is compiled and enabled (for example in DTB) but there
> will be no DECON nor MIXER compiled in?
> 

Okay, I received the explanation off-line. :)

The solution looks good to me, I'll give the respective tags for
individual patches (please submit also multi_v7).

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver
  2015-10-26 12:03 ` [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
@ 2015-10-28  6:09   ` Krzysztof Kozlowski
  2015-10-28  6:15     ` Inki Dae
  2016-05-30  6:37   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 22+ messages in thread
From: Krzysztof Kozlowski @ 2015-10-28  6:09 UTC (permalink / raw)
  To: Andrzej Hajda, Inki Dae
  Cc: moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES,
	Kyungmin Park, Marek Szyprowski,
	open list:DRM DRIVERS FOR EXYNOS, Bartlomiej Zolnierkiewicz

On 26.10.2015 21:03, Andrzej Hajda wrote:
> Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433
> HDMI does not require Mixer. There will be separate options to select Mixer
> and HDMI. Adding new option to defconfig before Kconfig will allow to keep
> bisectability.
> 
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> ---
>  arch/arm/configs/exynos_defconfig | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

I guess this will go with rest of patchset through Exynos DRM tree:
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>


Best regards,
Krzysztof

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver
  2015-10-28  6:09   ` Krzysztof Kozlowski
@ 2015-10-28  6:15     ` Inki Dae
  0 siblings, 0 replies; 22+ messages in thread
From: Inki Dae @ 2015-10-28  6:15 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Andrzej Hajda
  Cc: Bartlomiej Zolnierkiewicz, Marek Szyprowski, Kyungmin Park,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES



2015년 10월 28일 15:09에 Krzysztof Kozlowski 이(가) 쓴 글:
> On 26.10.2015 21:03, Andrzej Hajda wrote:
>> Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433
>> HDMI does not require Mixer. There will be separate options to select Mixer
>> and HDMI. Adding new option to defconfig before Kconfig will allow to keep
>> bisectability.
>>
>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>> ---
>>  arch/arm/configs/exynos_defconfig | 1 +
>>  1 file changed, 1 insertion(+)
> 
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> 
> I guess this will go with rest of patchset through Exynos DRM tree:
> Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

Thanks for ack. I will pick it up.

Thanks,
Inki Dae

> 
> 
> Best regards,
> Krzysztof
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH] ARM: multi_v7_defconfig: enable Exynos DRM Mixer driver
  2015-10-28  5:57       ` Krzysztof Kozlowski
@ 2015-10-29 14:25         ` Andrzej Hajda
  2015-10-30  0:47           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 22+ messages in thread
From: Andrzej Hajda @ 2015-10-29 14:25 UTC (permalink / raw)
  To: k.kozlowski
  Cc: linux-samsung-soc, Bartlomiej Zolnierkiewicz, dri-devel,
	Andrzej Hajda, Marek Szyprowski

Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433
HDMI does not require Mixer and there are separate options to select Mixer
and HDMI.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
---
 arch/arm/configs/multi_v7_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 03deb7f..ca5e928 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -449,6 +449,7 @@ CONFIG_DRM_NOUVEAU=m
 CONFIG_DRM_EXYNOS=m
 CONFIG_DRM_EXYNOS_DSI=y
 CONFIG_DRM_EXYNOS_FIMD=y
+CONFIG_DRM_EXYNOS_MIXER=y
 CONFIG_DRM_EXYNOS_HDMI=y
 CONFIG_DRM_RCAR_DU=m
 CONFIG_DRM_TEGRA=y
-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH] ARM: multi_v7_defconfig: enable Exynos DRM Mixer driver
  2015-10-29 14:25         ` [PATCH] ARM: multi_v7_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
@ 2015-10-30  0:47           ` Krzysztof Kozlowski
  0 siblings, 0 replies; 22+ messages in thread
From: Krzysztof Kozlowski @ 2015-10-30  0:47 UTC (permalink / raw)
  To: Andrzej Hajda
  Cc: Bartlomiej Zolnierkiewicz, Marek Szyprowski, dri-devel,
	linux-samsung-soc, inki.dae, Kukjin Kim, Arnd Bergmann,
	Olof Johansson, Kevin Hilman

On 29.10.2015 23:25, Andrzej Hajda wrote:
> Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433
> HDMI does not require Mixer and there are separate options to select Mixer
> and HDMI.
> 
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> ---
>  arch/arm/configs/multi_v7_defconfig | 1 +
>  1 file changed, 1 insertion(+)

+Cc Arnd, Kevin, Kukjin and Olof,

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

The patch should go with (or before) patchset:
 - add atomic_check callback to exynos_crtc
   http://www.spinics.net/lists/dri-devel/msg93137.html
to avoid loosing the HDMI support in multi_v7.

Best regards,
Krzysztof


> 
> diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
> index 03deb7f..ca5e928 100644
> --- a/arch/arm/configs/multi_v7_defconfig
> +++ b/arch/arm/configs/multi_v7_defconfig
> @@ -449,6 +449,7 @@ CONFIG_DRM_NOUVEAU=m
>  CONFIG_DRM_EXYNOS=m
>  CONFIG_DRM_EXYNOS_DSI=y
>  CONFIG_DRM_EXYNOS_FIMD=y
> +CONFIG_DRM_EXYNOS_MIXER=y
>  CONFIG_DRM_EXYNOS_HDMI=y
>  CONFIG_DRM_RCAR_DU=m
>  CONFIG_DRM_TEGRA=y
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 2/7] drm/exynos/mixer: replace direct cross-driver call with drm mode validation
  2015-10-26 12:03 ` [PATCH 2/7] drm/exynos/mixer: replace direct cross-driver call with drm mode validation Andrzej Hajda
@ 2015-11-24 21:40   ` Javier Martinez Canillas
  2015-11-27  6:57     ` [PATCH] drm/exynos: atomic check only enabled crtc states Andrzej Hajda
  0 siblings, 1 reply; 22+ messages in thread
From: Javier Martinez Canillas @ 2015-11-24 21:40 UTC (permalink / raw)
  To: Andrzej Hajda
  Cc: Inki Dae, Bartlomiej Zolnierkiewicz, Marek Szyprowski,
	Kyungmin Park, Krzysztof Kozlowski,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

Hello Andrzej,

On Mon, Oct 26, 2015 at 9:03 AM, Andrzej Hajda <a.hajda@samsung.com> wrote:
> HDMI driver called directly function from MIXER driver to invalidate modes
> not supported by MIXER. The patch replaces the hack with proper .atomic_check
> callback.
>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> ---

It seems this patch is not a drop-in replacement since it causes a
"Division by zero in kernel" error with v4.4-rc2 on an Exynos5800
Peach Pi, causing the display console to not be initialized. X works
correctly though.

An interesting data point is that it only happens when the HDMI
monitor is not plugged on the first mode set, everything works
correctly when booting with a HDMI monitor plugged.

Following is the relevant messages from the kernel log buffer:

[   14.295702] Division by zero in kernel.
[   14.298191] CPU: 0 PID: 2008 Comm: Xorg Not tainted 4.4.0-rc2 #111
[   14.304243] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[   14.310334] [<c0015f08>] (unwind_backtrace) from [<c0012c94>]
(show_stack+0x10/0x14)
[   14.318072] [<c0012c94>] (show_stack) from [<c01f8f80>]
(dump_stack+0x84/0xc4)
[   14.325264] [<c01f8f80>] (dump_stack) from [<c01f7a90>] (Ldiv0+0x8/0x10)
[   14.331943] [<c01f7a90>] (Ldiv0) from [<c02b34f8>] (fimd_commit+0x1f0/0x2b4)
[   14.338968] [<c02b34f8>] (fimd_commit) from [<c02b0788>]
(exynos_drm_crtc_enable+0x1c/0x28)
[   14.347303] [<c02b0788>] (exynos_drm_crtc_enable) from [<c028b328>]
(drm_atomic_helper_commit_modeset_enables+0x98/0x198)
[   14.358227] [<c028b328>] (drm_atomic_helper_commit_modeset_enables)
from [<c02afc40>] (exynos_atomic_commit_complete+0x2c/0x1c4)
[   14.369761] [<c02afc40>] (exynos_atomic_commit_complete) from
[<c02b0604>] (exynos_atomic_commit+0x180/0x1cc)
[   14.379681] [<c02b0604>] (exynos_atomic_commit) from [<c028c770>]
(drm_atomic_helper_set_config+0x6c/0x90)
[   14.389301] [<c028c770>] (drm_atomic_helper_set_config) from
[<c029cabc>] (drm_mode_set_config_internal+0x58/0xd4)
[   14.399629] [<c029cabc>] (drm_mode_set_config_internal) from
[<c02a18d0>] (drm_mode_setcrtc+0x148/0x4bc)
[   14.409078] [<c02a18d0>] (drm_mode_setcrtc) from [<c029489c>]
(drm_ioctl+0x12c/0x49c)
[   14.416892] [<c029489c>] (drm_ioctl) from [<c00ec19c>]
(do_vfs_ioctl+0x498/0x6c8)
[   14.424346] [<c00ec19c>] (do_vfs_ioctl) from [<c00ec400>]
(SyS_ioctl+0x34/0x5c)
[   14.431638] [<c00ec400>] (SyS_ioctl) from [<c000f600>]
(ret_fast_syscall+0x0/0x3c)

Best regards,
Javier

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH] drm/exynos: atomic check only enabled crtc states
  2015-11-24 21:40   ` Javier Martinez Canillas
@ 2015-11-27  6:57     ` Andrzej Hajda
  2015-11-27 13:00       ` Javier Martinez Canillas
  0 siblings, 1 reply; 22+ messages in thread
From: Andrzej Hajda @ 2015-11-27  6:57 UTC (permalink / raw)
  To: Javier Martinez Canillas
  Cc: Krzysztof Kozlowski, linux-samsung-soc,
	Bartlomiej Zolnierkiewicz, dri-devel, Andrzej Hajda,
	Kyungmin Park, Marek Szyprowski

Since atomic check is called also for disabled crtcs it should skip
mode checking as it can be uninitialized. The patch fixes it.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
Hi Javier,

Could you check with this patch.

Regards
Andrzej

 drivers/gpu/drm/exynos/exynos_drm_crtc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
index b3ba27f..e693571 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
@@ -55,6 +55,9 @@ static int exynos_crtc_atomic_check(struct drm_crtc *crtc,
 {
 	struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
 
+	if (!state->enable)
+		return 0;
+
 	if (exynos_crtc->ops->atomic_check)
 		return exynos_crtc->ops->atomic_check(exynos_crtc, state);
 
-- 
1.9.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH] drm/exynos: atomic check only enabled crtc states
  2015-11-27  6:57     ` [PATCH] drm/exynos: atomic check only enabled crtc states Andrzej Hajda
@ 2015-11-27 13:00       ` Javier Martinez Canillas
  2015-12-09 10:51         ` Javier Martinez Canillas
  0 siblings, 1 reply; 22+ messages in thread
From: Javier Martinez Canillas @ 2015-11-27 13:00 UTC (permalink / raw)
  To: Andrzej Hajda, Javier Martinez Canillas
  Cc: Bartlomiej Zolnierkiewicz, Marek Szyprowski, gustavo, Inki Dae,
	Kyungmin Park, Krzysztof Kozlowski, dri-devel, linux-samsung-soc

Hello Andrzej,

On 11/27/2015 03:57 AM, Andrzej Hajda wrote:
> Since atomic check is called also for disabled crtcs it should skip
> mode checking as it can be uninitialized. The patch fixes it.
> 
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> Hi Javier,
> 
> Could you check with this patch.
>

The patch fixes the issue I reported. The display mode is correctly set
with and without a HDMI monitor plugged. So on an Exynos5800 Peach Pi:

Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] drm/exynos: atomic check only enabled crtc states
  2015-11-27 13:00       ` Javier Martinez Canillas
@ 2015-12-09 10:51         ` Javier Martinez Canillas
  2015-12-11 15:18           ` Inki Dae
  0 siblings, 1 reply; 22+ messages in thread
From: Javier Martinez Canillas @ 2015-12-09 10:51 UTC (permalink / raw)
  To: Javier Martinez Canillas, Inki Dae
  Cc: Krzysztof Kozlowski, linux-samsung-soc,
	Bartlomiej Zolnierkiewicz, dri-devel, Andrzej Hajda,
	Kyungmin Park, Marek Szyprowski

Hello Inki,

On 11/27/2015 10:00 AM, Javier Martinez Canillas wrote:
> Hello Andrzej,
> 
> On 11/27/2015 03:57 AM, Andrzej Hajda wrote:
>> Since atomic check is called also for disabled crtcs it should skip
>> mode checking as it can be uninitialized. The patch fixes it.
>>
>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>> Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> ---
>> Hi Javier,
>>
>> Could you check with this patch.
>>
> 
> The patch fixes the issue I reported. The display mode is correctly set
> with and without a HDMI monitor plugged. So on an Exynos5800 Peach Pi:
> 
> Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
> 

This patch was never picked but fixes and important
bug introduced in the v4.4 merge window so it should
be sent during the v4.4-rc cycle.

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH] drm/exynos: atomic check only enabled crtc states
  2015-12-09 10:51         ` Javier Martinez Canillas
@ 2015-12-11 15:18           ` Inki Dae
  0 siblings, 0 replies; 22+ messages in thread
From: Inki Dae @ 2015-12-11 15:18 UTC (permalink / raw)
  To: Javier Martinez Canillas
  Cc: Krzysztof Kozlowski, linux-samsung-soc,
	Bartlomiej Zolnierkiewicz, DRI mailing list, Andrzej Hajda,
	Kyungmin Park, Javier Martinez Canillas, Marek Szyprowski

Hi Javier,

2015-12-09 19:51 GMT+09:00 Javier Martinez Canillas <javier@osg.samsung.com>:
> Hello Inki,
>
> On 11/27/2015 10:00 AM, Javier Martinez Canillas wrote:
>> Hello Andrzej,
>>
>> On 11/27/2015 03:57 AM, Andrzej Hajda wrote:
>>> Since atomic check is called also for disabled crtcs it should skip
>>> mode checking as it can be uninitialized. The patch fixes it.
>>>
>>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>>> Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>>> ---
>>> Hi Javier,
>>>
>>> Could you check with this patch.
>>>
>>
>> The patch fixes the issue I reported. The display mode is correctly set
>> with and without a HDMI monitor plugged. So on an Exynos5800 Peach Pi:
>>
>> Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
>>
>
> This patch was never picked but fixes and important
> bug introduced in the v4.4 merge window so it should
> be sent during the v4.4-rc cycle.

Don't worry about that.

Thanks,
Inki Dae

>
> Best regards,
> --
> Javier Martinez Canillas
> Open Source Group
> Samsung Research America
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver
  2015-10-26 12:03 ` [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
  2015-10-28  6:09   ` Krzysztof Kozlowski
@ 2016-05-30  6:37   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 22+ messages in thread
From: Krzysztof Kozlowski @ 2016-05-30  6:37 UTC (permalink / raw)
  To: Andrzej Hajda, Inki Dae
  Cc: Bartlomiej Zolnierkiewicz, Marek Szyprowski, Kyungmin Park,
	open list:DRM DRIVERS FOR EXYNOS,
	moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES

On 10/26/2015 01:03 PM, Andrzej Hajda wrote:
> Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433
> HDMI does not require Mixer. There will be separate options to select Mixer
> and HDMI. Adding new option to defconfig before Kconfig will allow to keep
> bisectability.
> 
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> ---
>  arch/arm/configs/exynos_defconfig | 1 +
>  1 file changed, 1 insertion(+)

Thanks, applied.

Krzysztof

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2016-05-30  6:37 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-26 12:03 [PATCH 0/7] add atomic_check callback to exynos_crtc Andrzej Hajda
2015-10-26 12:03 ` [PATCH 1/7] drm/exynos: " Andrzej Hajda
2015-10-26 12:03 ` [PATCH 2/7] drm/exynos/mixer: replace direct cross-driver call with drm mode validation Andrzej Hajda
2015-11-24 21:40   ` Javier Martinez Canillas
2015-11-27  6:57     ` [PATCH] drm/exynos: atomic check only enabled crtc states Andrzej Hajda
2015-11-27 13:00       ` Javier Martinez Canillas
2015-12-09 10:51         ` Javier Martinez Canillas
2015-12-11 15:18           ` Inki Dae
2015-10-26 12:03 ` [PATCH 3/7] ARM: exynos_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
2015-10-28  6:09   ` Krzysztof Kozlowski
2015-10-28  6:15     ` Inki Dae
2016-05-30  6:37   ` Krzysztof Kozlowski
2015-10-26 12:03 ` [PATCH 4/7] drm/exynos: separate Mixer and HDMI drivers Andrzej Hajda
2015-10-26 12:03 ` [PATCH 5/7] drm/exynos: abstract out common dependency Andrzej Hajda
2015-10-26 12:03 ` [PATCH 6/7] drm/exynos: re-arrange Kconfig entries Andrzej Hajda
2015-10-26 12:03 ` [PATCH 7/7] drm/exynos: simplify Kconfig component names Andrzej Hajda
2015-10-28  1:37 ` [PATCH 0/7] add atomic_check callback to exynos_crtc Krzysztof Kozlowski
2015-10-28  5:30   ` Inki Dae
2015-10-28  5:38     ` Krzysztof Kozlowski
2015-10-28  5:57       ` Krzysztof Kozlowski
2015-10-29 14:25         ` [PATCH] ARM: multi_v7_defconfig: enable Exynos DRM Mixer driver Andrzej Hajda
2015-10-30  0:47           ` Krzysztof Kozlowski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.