All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] arm: omap: DMM DT adaptation
@ 2013-09-13  9:14 Archit Taneja
  2013-09-13  9:14 ` [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init Archit Taneja
                   ` (4 more replies)
  0 siblings, 5 replies; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:14 UTC (permalink / raw)
  To: tony, linux-omap, robdclark, tomi.valkeinen; +Cc: devicetree, Archit Taneja

The DMM/Tiler block can used by omapdrm to allocate frame buffers. With the
removal of address and irq data from the omap4 hwmods, the probe of DMM driver
fails and omapdrm isn't able to utilize the DMM hardware.

Add DMM bindings for omap4 and omap5. Also, make sure DRM device is built only
when omapdss device is built. Currently, it can register itself even without
the presence of omapdss device being built.

Archit Taneja (4):
  arm: omap: display: Create omapdrm inside omap_display_init
  ARM: dts: OMAP4+: Add DMM bindings
  drm: omap: Enable DT support for DMM
  arm: omap: display: Don't build device for DMM

 Documentation/devicetree/bindings/arm/omap/dmm.txt | 17 ++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++
 arch/arm/mach-omap2/Makefile                       |  4 --
 arch/arm/mach-omap2/display.c                      | 43 ++++++++++++++
 arch/arm/mach-omap2/drm.c                          | 67 ----------------------
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           | 11 ++++
 7 files changed, 85 insertions(+), 71 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
 delete mode 100644 arch/arm/mach-omap2/drm.c

-- 
1.8.1.2


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

* [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
  2013-09-13  9:14 [PATCH 0/4] arm: omap: DMM DT adaptation Archit Taneja
@ 2013-09-13  9:14 ` Archit Taneja
       [not found]   ` <1379063679-4869-2-git-send-email-archit-l0cyMroinI0@public.gmane.org>
       [not found] ` <1379063679-4869-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:14 UTC (permalink / raw)
  To: tony, linux-omap, robdclark, tomi.valkeinen
  Cc: devicetree, Archit Taneja, Andy Gross

Move omapdrm device creation inside the omap_display_init so that we can
correctly create the device based on the presence of omapdss.

Originally worked on by Andy Gross.

Cc: Andy Gross <andygro@gmail.com>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 arch/arm/mach-omap2/Makefile  |  4 ---
 arch/arm/mach-omap2/display.c | 55 +++++++++++++++++++++++++++++++++++
 arch/arm/mach-omap2/drm.c     | 67 -------------------------------------------
 3 files changed, 55 insertions(+), 71 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/drm.c

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index ff2c162..f73b6a5 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -229,10 +229,6 @@ endif
 # OMAP2420 MSDI controller integration support ("MMC")
 obj-$(CONFIG_SOC_OMAP2420)		+= msdi.o
 
-ifneq ($(CONFIG_DRM_OMAP),)
-obj-y					+= drm.o
-endif
-
 # Specific board support
 obj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o
 obj-$(CONFIG_MACH_OMAP_H4)		+= board-h4.o
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 03a0516..d097d23 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -18,11 +18,13 @@
 #include <linux/string.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/dma-mapping.h>
 #include <linux/platform_device.h>
 #include <linux/io.h>
 #include <linux/clk.h>
 #include <linux/err.h>
 #include <linux/delay.h>
+#include <linux/platform_data/omap_drm.h>
 
 #include <video/omapdss.h>
 #include "omap_hwmod.h"
@@ -102,6 +104,52 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initconst = {
 	{ "dss_hdmi", "omapdss_hdmi", -1 },
 };
 
+#if defined(CONFIG_DRM_OMAP) || defined(CONFIG_DRM_OMAP_MODULE)
+
+static struct omap_drm_platform_data platform_drm_data;
+
+static struct platform_device drm_device = {
+	.dev = {
+		.coherent_dma_mask = DMA_BIT_MASK(32),
+		.platform_data = &platform_drm_data,
+	},
+	.name = "omapdrm",
+	.id = 0,
+};
+
+static struct platform_device *omap_drm_device = &drm_device;
+#else
+static struct platform_device *omap_drm_device;
+#endif
+
+static int __init omapdrm_init(void)
+{
+	int r = 0;
+
+	/* create DRM and DMM device */
+	if (omap_drm_device != NULL) {
+		struct omap_hwmod *oh = NULL;
+		struct platform_device *pdev;
+
+		/* lookup and populate the DMM information, if present - OMAP4+ */
+		oh = omap_hwmod_lookup("dmm");
+		if (oh) {
+			pdev = omap_device_build(oh->name, -1, oh, NULL, 0);
+			WARN(IS_ERR(pdev),
+				"Could not build omap_device for %s\n",
+				oh->name);
+		}
+
+		platform_drm_data.omaprev = GET_OMAP_TYPE;
+
+		r = platform_device_register(omap_drm_device);
+		if (r < 0)
+			pr_err("Unable to register omapdrm device\n");
+	}
+
+	return r;
+}
+
 static void __init omap4_tpd12s015_mux_pads(void)
 {
 	omap_mux_init_signal("hdmi_cec",
@@ -416,6 +464,13 @@ int __init omap_display_init(struct omap_dss_board_info *board_data)
 		}
 	}
 
+	/* create DRM and DMM device */
+	r = omapdrm_init();
+	if (r < 0) {
+		pr_err("Unable to register omapdrm device\n");
+		return r;
+	}
+
 	return 0;
 }
 
diff --git a/arch/arm/mach-omap2/drm.c b/arch/arm/mach-omap2/drm.c
deleted file mode 100644
index 59a4af7..0000000
--- a/arch/arm/mach-omap2/drm.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * DRM/KMS device registration for TI OMAP platforms
- *
- * Copyright (C) 2012 Texas Instruments
- * Author: Rob Clark <rob.clark@linaro.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/mm.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/dma-mapping.h>
-#include <linux/platform_data/omap_drm.h>
-
-#include "soc.h"
-#include "omap_device.h"
-#include "omap_hwmod.h"
-
-#if defined(CONFIG_DRM_OMAP) || (CONFIG_DRM_OMAP_MODULE)
-
-static struct omap_drm_platform_data platform_data;
-
-static struct platform_device omap_drm_device = {
-	.dev = {
-		.coherent_dma_mask = DMA_BIT_MASK(32),
-		.platform_data = &platform_data,
-	},
-	.name = "omapdrm",
-	.id = 0,
-};
-
-static int __init omap_init_drm(void)
-{
-	struct omap_hwmod *oh = NULL;
-	struct platform_device *pdev;
-
-	/* lookup and populate the DMM information, if present - OMAP4+ */
-	oh = omap_hwmod_lookup("dmm");
-
-	if (oh) {
-		pdev = omap_device_build(oh->name, -1, oh, NULL, 0);
-		WARN(IS_ERR(pdev), "Could not build omap_device for %s\n",
-			oh->name);
-	}
-
-	platform_data.omaprev = GET_OMAP_TYPE;
-
-	return platform_device_register(&omap_drm_device);
-
-}
-
-omap_arch_initcall(omap_init_drm);
-
-#endif
-- 
1.8.1.2


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

* [PATCH 2/4] ARM: dts: OMAP4+: Add DMM bindings
       [not found] ` <1379063679-4869-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
@ 2013-09-13  9:14   ` Archit Taneja
  2013-09-13  9:14   ` [PATCH 3/4] drm: omap: Enable DT support for DMM Archit Taneja
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:14 UTC (permalink / raw)
  To: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w, tomi.valkeinen-l0cyMroinI0
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Archit Taneja, Andy Gross

Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
only requires address and irq information.

Add documentation for the DMM bindings.

Originally worked on by Andy Gross.

Cc: Andy Gross <andygro-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Signed-off-by: Archit Taneja <archit-l0cyMroinI0@public.gmane.org>
---
 Documentation/devicetree/bindings/arm/omap/dmm.txt | 17 +++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 3 files changed, 31 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
new file mode 100644
index 0000000..237cd83
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
@@ -0,0 +1,17 @@
+OMAP Dynamic Memory Manager (DMM) bindings
+
+Required properties:
+- compatible:	Must be "ti,omap4-dmm" for OMAP4 family
+		Must be "ti,omap5-dmm" for OMAP5 family
+- reg:		Contains timer register address range (base address and length)
+- interrupts:	Contains interrupt information (source, etc) for the DMM IRQ
+- ti,hwmods:	Name of the hwmod associated to the counter, which is typically
+		"dmm"
+
+Example:
+
+dmm: dmm@4e000000 {
+	compatible = "ti,omap4-dmm";
+	reg = <0x4e000000 0x800>;
+	ti,hwmods = "dmm";
+};
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 22d9f2b..24f388e 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -487,6 +487,13 @@
 			ti,hwmods = "kbd";
 		};
 
+		dmm: dmm@4e000000 {
+			compatible = "ti,omap4-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@4c000000 {
 			compatible = "ti,emif-4d";
 			reg = <0x4c000000 0x100>;
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index ac1f1e0..33b4fea 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -604,6 +604,13 @@
 			ti,hwmods = "wd_timer2";
 		};
 
+		dmm: dmm@4e000000 {
+			compatible = "ti,omap5-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@0x4c000000 {
 			compatible	= "ti,emif-4d5";
 			ti,hwmods	= "emif1";
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 3/4] drm: omap: Enable DT support for DMM
       [not found] ` <1379063679-4869-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
  2013-09-13  9:14   ` [PATCH 2/4] ARM: dts: OMAP4+: Add DMM bindings Archit Taneja
@ 2013-09-13  9:14   ` Archit Taneja
       [not found]     ` <1379063679-4869-4-git-send-email-archit-l0cyMroinI0@public.gmane.org>
  2013-09-13  9:14   ` [PATCH 4/4] arm: omap: display: Don't build device " Archit Taneja
  2013-09-16  9:30   ` [PATCH v2 0/2] DMM DT adaptation Archit Taneja
  3 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:14 UTC (permalink / raw)
  To: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w, tomi.valkeinen-l0cyMroinI0
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Archit Taneja, Andy Gross,
	DRI Development

Enable use of DT for DMM/Tiler.

Originally worked on by Andy Gross.

Cc: Andy Gross <andygro-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: DRI Development <dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Signed-off-by: Archit Taneja <archit-l0cyMroinI0@public.gmane.org>
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index acf6678..59f17de 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
 };
 #endif
 
+#if defined(CONFIG_OF)
+static const struct of_device_id dmm_of_match[] = {
+	{ .compatible = "ti,omap4-dmm", },
+	{ .compatible = "ti,omap5-dmm", },
+	{},
+};
+#else
+#define dmm_of_match NULL
+#endif
+
 struct platform_driver omap_dmm_driver = {
 	.probe = omap_dmm_probe,
 	.remove = omap_dmm_remove,
 	.driver = {
 		.owner = THIS_MODULE,
 		.name = DMM_DRIVER_NAME,
+		.of_match_table = dmm_of_match,
 #ifdef CONFIG_PM
 		.pm = &omap_dmm_pm_ops,
 #endif
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 4/4] arm: omap: display: Don't build device for DMM
       [not found] ` <1379063679-4869-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
  2013-09-13  9:14   ` [PATCH 2/4] ARM: dts: OMAP4+: Add DMM bindings Archit Taneja
  2013-09-13  9:14   ` [PATCH 3/4] drm: omap: Enable DT support for DMM Archit Taneja
@ 2013-09-13  9:14   ` Archit Taneja
       [not found]     ` <1379063679-4869-5-git-send-email-archit-l0cyMroinI0@public.gmane.org>
  2013-09-16  9:30   ` [PATCH v2 0/2] DMM DT adaptation Archit Taneja
  3 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:14 UTC (permalink / raw)
  To: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w, tomi.valkeinen-l0cyMroinI0
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Archit Taneja, Andy Gross

DMM exists on omap4+ platforms, these platforms will always boot with DT. Remove
the previous method of searching the dmm hwmod and building the device by
ourselves. Addition of a DMM nodes in DT will ensure a DMM device is built.

For OMAP4, the address and irq data for most hwmods were removed, so the older
method doesn't work anyway.

Cc: Andy Gross <andygro-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Signed-off-by: Archit Taneja <archit-l0cyMroinI0@public.gmane.org>
---
 arch/arm/mach-omap2/display.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index d097d23..e0642bd 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -126,20 +126,8 @@ static int __init omapdrm_init(void)
 {
 	int r = 0;
 
-	/* create DRM and DMM device */
+	/* create DRM device(DMM device created via DT) */
 	if (omap_drm_device != NULL) {
-		struct omap_hwmod *oh = NULL;
-		struct platform_device *pdev;
-
-		/* lookup and populate the DMM information, if present - OMAP4+ */
-		oh = omap_hwmod_lookup("dmm");
-		if (oh) {
-			pdev = omap_device_build(oh->name, -1, oh, NULL, 0);
-			WARN(IS_ERR(pdev),
-				"Could not build omap_device for %s\n",
-				oh->name);
-		}
-
 		platform_drm_data.omaprev = GET_OMAP_TYPE;
 
 		r = platform_device_register(omap_drm_device);
@@ -464,7 +452,7 @@ int __init omap_display_init(struct omap_dss_board_info *board_data)
 		}
 	}
 
-	/* create DRM and DMM device */
+	/* create DRM device */
 	r = omapdrm_init();
 	if (r < 0) {
 		pr_err("Unable to register omapdrm device\n");
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
       [not found]   ` <1379063679-4869-2-git-send-email-archit-l0cyMroinI0@public.gmane.org>
@ 2013-09-13  9:24     ` Tomi Valkeinen
  2013-09-13  9:38       ` Archit Taneja
  0 siblings, 1 reply; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-13  9:24 UTC (permalink / raw)
  To: Archit Taneja
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 498 bytes --]

On 13/09/13 12:14, Archit Taneja wrote:
> Move omapdrm device creation inside the omap_display_init so that we can
> correctly create the device based on the presence of omapdss.
> 
> Originally worked on by Andy Gross.

If the dmm device is present in the DT data, there is no need to create
the dmm device. It's created automatically.

Also, omapfb device is currently created the same way as omapdrm,
independently of omapdss. Why is it a problem to have them like that?

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH 4/4] arm: omap: display: Don't build device for DMM
       [not found]     ` <1379063679-4869-5-git-send-email-archit-l0cyMroinI0@public.gmane.org>
@ 2013-09-13  9:29       ` Tomi Valkeinen
  0 siblings, 0 replies; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-13  9:29 UTC (permalink / raw)
  To: Archit Taneja
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 1615 bytes --]

On 13/09/13 12:14, Archit Taneja wrote:
> DMM exists on omap4+ platforms, these platforms will always boot with DT. Remove
> the previous method of searching the dmm hwmod and building the device by
> ourselves. Addition of a DMM nodes in DT will ensure a DMM device is built.
> 
> For OMAP4, the address and irq data for most hwmods were removed, so the older
> method doesn't work anyway.
> 
> Cc: Andy Gross <andygro-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Archit Taneja <archit-l0cyMroinI0@public.gmane.org>
> ---
>  arch/arm/mach-omap2/display.c | 16 ++--------------
>  1 file changed, 2 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
> index d097d23..e0642bd 100644
> --- a/arch/arm/mach-omap2/display.c
> +++ b/arch/arm/mach-omap2/display.c
> @@ -126,20 +126,8 @@ static int __init omapdrm_init(void)
>  {
>  	int r = 0;
>  
> -	/* create DRM and DMM device */
> +	/* create DRM device(DMM device created via DT) */
>  	if (omap_drm_device != NULL) {
> -		struct omap_hwmod *oh = NULL;
> -		struct platform_device *pdev;
> -
> -		/* lookup and populate the DMM information, if present - OMAP4+ */
> -		oh = omap_hwmod_lookup("dmm");
> -		if (oh) {
> -			pdev = omap_device_build(oh->name, -1, oh, NULL, 0);
> -			WARN(IS_ERR(pdev),
> -				"Could not build omap_device for %s\n",
> -				oh->name);
> -		}
> -
>  		platform_drm_data.omaprev = GET_OMAP_TYPE;

Ok, so you remove the DMM device creation here. Why not do this as a
first patch, before moving the DMM/DRM code?

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
  2013-09-13  9:24     ` Tomi Valkeinen
@ 2013-09-13  9:38       ` Archit Taneja
       [not found]         ` <5232DCFE.5050700-l0cyMroinI0@public.gmane.org>
  0 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:38 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: tony, linux-omap, robdclark, devicetree, Andy Gross

On Friday 13 September 2013 02:54 PM, Tomi Valkeinen wrote:
> On 13/09/13 12:14, Archit Taneja wrote:
>> Move omapdrm device creation inside the omap_display_init so that we can
>> correctly create the device based on the presence of omapdss.
>>
>> Originally worked on by Andy Gross.
>
> If the dmm device is present in the DT data, there is no need to create
> the dmm device. It's created automatically.

Yes, that is done in a later patch.

>
> Also, omapfb device is currently created the same way as omapdrm,
> independently of omapdss. Why is it a problem to have them like that?

In a multiplatform config, we might have CONFIG_DRM_OMAP and 
CONFIG_DRM_OMAP_MODULE selected.

This would cause the call omap_init_drm() in arch/arm/mach-omap2/drm.c 
to occur. Creating a platform device for omapdrm is unnecessary here 
isn't it? Tying it with the initialisation of omapdss devices prevents it.

Archit

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
       [not found]         ` <5232DCFE.5050700-l0cyMroinI0@public.gmane.org>
@ 2013-09-13  9:39           ` Archit Taneja
       [not found]             ` <5232DD53.3010706-l0cyMroinI0@public.gmane.org>
  2013-09-13  9:42           ` Tomi Valkeinen
  1 sibling, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:39 UTC (permalink / raw)
  To: Archit Taneja
  Cc: Tomi Valkeinen, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross

On Friday 13 September 2013 03:08 PM, Archit Taneja wrote:
> On Friday 13 September 2013 02:54 PM, Tomi Valkeinen wrote:
>> On 13/09/13 12:14, Archit Taneja wrote:
>>> Move omapdrm device creation inside the omap_display_init so that we can
>>> correctly create the device based on the presence of omapdss.
>>>
>>> Originally worked on by Andy Gross.
>>
>> If the dmm device is present in the DT data, there is no need to create
>> the dmm device. It's created automatically.
>
> Yes, that is done in a later patch.
>
>>
>> Also, omapfb device is currently created the same way as omapdrm,
>> independently of omapdss. Why is it a problem to have them like that?
>
> In a multiplatform config, we might have CONFIG_DRM_OMAP and
> CONFIG_DRM_OMAP_MODULE selected.

I meant these configs might be selected even if the image is booted on 
am3xx platform.

Archit

>
> This would cause the call omap_init_drm() in arch/arm/mach-omap2/drm.c
> to occur. Creating a platform device for omapdrm is unnecessary here
> isn't it? Tying it with the initialisation of omapdss devices prevents it.
>
> Archit
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
       [not found]         ` <5232DCFE.5050700-l0cyMroinI0@public.gmane.org>
  2013-09-13  9:39           ` Archit Taneja
@ 2013-09-13  9:42           ` Tomi Valkeinen
  1 sibling, 0 replies; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-13  9:42 UTC (permalink / raw)
  To: Archit Taneja
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 636 bytes --]

On 13/09/13 12:38, Archit Taneja wrote:

>> Also, omapfb device is currently created the same way as omapdrm,
>> independently of omapdss. Why is it a problem to have them like that?
> 
> In a multiplatform config, we might have CONFIG_DRM_OMAP and
> CONFIG_DRM_OMAP_MODULE selected.
> 
> This would cause the call omap_init_drm() in arch/arm/mach-omap2/drm.c
> to occur. Creating a platform device for omapdrm is unnecessary here
> isn't it? Tying it with the initialisation of omapdss devices prevents it.

Well, omapdrm depends on omapdss in Kconfig. So if you have DRM enabled,
you also have DSS enabled.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
       [not found]             ` <5232DD53.3010706-l0cyMroinI0@public.gmane.org>
@ 2013-09-13  9:48               ` Tomi Valkeinen
       [not found]                 ` <5232DF61.6000109-l0cyMroinI0@public.gmane.org>
  0 siblings, 1 reply; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-13  9:48 UTC (permalink / raw)
  To: Archit Taneja
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 1471 bytes --]

On 13/09/13 12:39, Archit Taneja wrote:
> On Friday 13 September 2013 03:08 PM, Archit Taneja wrote:
>> On Friday 13 September 2013 02:54 PM, Tomi Valkeinen wrote:
>>> On 13/09/13 12:14, Archit Taneja wrote:
>>>> Move omapdrm device creation inside the omap_display_init so that we
>>>> can
>>>> correctly create the device based on the presence of omapdss.
>>>>
>>>> Originally worked on by Andy Gross.
>>>
>>> If the dmm device is present in the DT data, there is no need to create
>>> the dmm device. It's created automatically.
>>
>> Yes, that is done in a later patch.
>>
>>>
>>> Also, omapfb device is currently created the same way as omapdrm,
>>> independently of omapdss. Why is it a problem to have them like that?
>>
>> In a multiplatform config, we might have CONFIG_DRM_OMAP and
>> CONFIG_DRM_OMAP_MODULE selected.
> 
> I meant these configs might be selected even if the image is booted on
> am3xx platform.

Ah, I see. And the same omap_arch_initcall() is used for am3xxx also,
even if the DSS (and thus DRM) doesn't exist in the HW.

We have the same problem with omapfb, so it'd be good to include that in
the same series.

Hmm. If omap_generic_init() is called on am3xxx, it means we try to
create the dss stuff there also. It should fail to the DSS version
check, printing an error (at least I hope), but we really shouldn't even
call the dss init code on am3xxx.

I wonder how this should be fixed...

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
       [not found]                 ` <5232DF61.6000109-l0cyMroinI0@public.gmane.org>
@ 2013-09-13  9:51                   ` Archit Taneja
  2013-09-13 10:02                     ` Tomi Valkeinen
  0 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-13  9:51 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross

On Friday 13 September 2013 03:18 PM, Tomi Valkeinen wrote:
> On 13/09/13 12:39, Archit Taneja wrote:
>> On Friday 13 September 2013 03:08 PM, Archit Taneja wrote:
>>> On Friday 13 September 2013 02:54 PM, Tomi Valkeinen wrote:
>>>> On 13/09/13 12:14, Archit Taneja wrote:
>>>>> Move omapdrm device creation inside the omap_display_init so that we
>>>>> can
>>>>> correctly create the device based on the presence of omapdss.
>>>>>
>>>>> Originally worked on by Andy Gross.
>>>>
>>>> If the dmm device is present in the DT data, there is no need to create
>>>> the dmm device. It's created automatically.
>>>
>>> Yes, that is done in a later patch.
>>>
>>>>
>>>> Also, omapfb device is currently created the same way as omapdrm,
>>>> independently of omapdss. Why is it a problem to have them like that?
>>>
>>> In a multiplatform config, we might have CONFIG_DRM_OMAP and
>>> CONFIG_DRM_OMAP_MODULE selected.
>>
>> I meant these configs might be selected even if the image is booted on
>> am3xx platform.
>
> Ah, I see. And the same omap_arch_initcall() is used for am3xxx also,
> even if the DSS (and thus DRM) doesn't exist in the HW.
>
> We have the same problem with omapfb, so it'd be good to include that in
> the same series.
>
> Hmm. If omap_generic_init() is called on am3xxx, it means we try to
> create the dss stuff there also. It should fail to the DSS version
> check, printing an error (at least I hope), but we really shouldn't even
> call the dss init code on am3xxx.
>
> I wonder how this should be fixed...

The calls in omap_generic_init() check the machine type via 
of_machine_is_compatible(), even if it's a multiplatform image, the dtb 
should be only of one platform. So it wouldn't be called at all.

Archit

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
  2013-09-13  9:51                   ` Archit Taneja
@ 2013-09-13 10:02                     ` Tomi Valkeinen
  2013-09-13 10:17                       ` Archit Taneja
  0 siblings, 1 reply; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-13 10:02 UTC (permalink / raw)
  To: Archit Taneja; +Cc: tony, linux-omap, robdclark, devicetree, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 473 bytes --]

On 13/09/13 12:51, Archit Taneja wrote:

> The calls in omap_generic_init() check the machine type via
> of_machine_is_compatible(), even if it's a multiplatform image, the dtb
> should be only of one platform. So it wouldn't be called at all.

Hmm. BeagleBone is "ti,am33xx". The "Generic AM33XX (Flattened Device
Tree)" machine definition uses omap_generic_init(). So if I'm not
missing something here, omap_generic_init() is called for BeagleBone.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
  2013-09-13 10:02                     ` Tomi Valkeinen
@ 2013-09-13 10:17                       ` Archit Taneja
  2013-09-13 10:24                         ` Tomi Valkeinen
  0 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-13 10:17 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: tony, linux-omap, robdclark, devicetree, Andy Gross

On Friday 13 September 2013 03:32 PM, Tomi Valkeinen wrote:
> On 13/09/13 12:51, Archit Taneja wrote:
>
>> The calls in omap_generic_init() check the machine type via
>> of_machine_is_compatible(), even if it's a multiplatform image, the dtb
>> should be only of one platform. So it wouldn't be called at all.
>
> Hmm. BeagleBone is "ti,am33xx". The "Generic AM33XX (Flattened Device
> Tree)" machine definition uses omap_generic_init(). So if I'm not
> missing something here, omap_generic_init() is called for BeagleBone.

I was talking about the calls within omap_generic_init() :

omap_generic_init(void)
{
	...
	if (of_machine_is_compatible("ti,omap4-panda")) {
		omap4_panda_display_init_of();
		legacy_init_ehci_clk("auxclk3_ck");

	}
}

omap4_panda_display_init_of() would be called only if a panda board dtb 
was used. Are you talking about these display calls, or something else?

Archit


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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
  2013-09-13 10:17                       ` Archit Taneja
@ 2013-09-13 10:24                         ` Tomi Valkeinen
       [not found]                           ` <5232E7E2.7050606-l0cyMroinI0@public.gmane.org>
  0 siblings, 1 reply; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-13 10:24 UTC (permalink / raw)
  To: Archit Taneja; +Cc: tony, linux-omap, robdclark, devicetree, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 1585 bytes --]

On 13/09/13 13:17, Archit Taneja wrote:
> On Friday 13 September 2013 03:32 PM, Tomi Valkeinen wrote:
>> On 13/09/13 12:51, Archit Taneja wrote:
>>
>>> The calls in omap_generic_init() check the machine type via
>>> of_machine_is_compatible(), even if it's a multiplatform image, the dtb
>>> should be only of one platform. So it wouldn't be called at all.
>>
>> Hmm. BeagleBone is "ti,am33xx". The "Generic AM33XX (Flattened Device
>> Tree)" machine definition uses omap_generic_init(). So if I'm not
>> missing something here, omap_generic_init() is called for BeagleBone.
> 
> I was talking about the calls within omap_generic_init() :
> 
> omap_generic_init(void)
> {
>     ...
>     if (of_machine_is_compatible("ti,omap4-panda")) {
>         omap4_panda_display_init_of();
>         legacy_init_ehci_clk("auxclk3_ck");
> 
>     }
> }
> 
> omap4_panda_display_init_of() would be called only if a panda board dtb
> was used. Are you talking about these display calls, or something else?

Ah, right. I was looking at the DSS DT branch. There we have
omapdss_init_of() call from omap_generic_init(). So that is a problem,
but not in the mainline.

You're right, the current mainline doesn't call the DSS init function on
am33xx. But it does create omapfb and omapdrm devices, as you noted.

Well, those devices don't do any actual harm, but I agree that they
shouldn't be there. It's probably best to move the device creation into
display.c, as you did. Just include omapfb also, and maybe remove the
DMM creation as a first patch.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init
       [not found]                           ` <5232E7E2.7050606-l0cyMroinI0@public.gmane.org>
@ 2013-09-13 10:32                             ` Archit Taneja
  0 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-09-13 10:32 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross

On Friday 13 September 2013 03:54 PM, Tomi Valkeinen wrote:
> On 13/09/13 13:17, Archit Taneja wrote:
>> On Friday 13 September 2013 03:32 PM, Tomi Valkeinen wrote:
>>> On 13/09/13 12:51, Archit Taneja wrote:
>>>
>>>> The calls in omap_generic_init() check the machine type via
>>>> of_machine_is_compatible(), even if it's a multiplatform image, the dtb
>>>> should be only of one platform. So it wouldn't be called at all.
>>>
>>> Hmm. BeagleBone is "ti,am33xx". The "Generic AM33XX (Flattened Device
>>> Tree)" machine definition uses omap_generic_init(). So if I'm not
>>> missing something here, omap_generic_init() is called for BeagleBone.
>>
>> I was talking about the calls within omap_generic_init() :
>>
>> omap_generic_init(void)
>> {
>>      ...
>>      if (of_machine_is_compatible("ti,omap4-panda")) {
>>          omap4_panda_display_init_of();
>>          legacy_init_ehci_clk("auxclk3_ck");
>>
>>      }
>> }
>>
>> omap4_panda_display_init_of() would be called only if a panda board dtb
>> was used. Are you talking about these display calls, or something else?
>
> Ah, right. I was looking at the DSS DT branch. There we have
> omapdss_init_of() call from omap_generic_init(). So that is a problem,
> but not in the mainline.
>
> You're right, the current mainline doesn't call the DSS init function on
> am33xx. But it does create omapfb and omapdrm devices, as you noted.
>
> Well, those devices don't do any actual harm, but I agree that they
> shouldn't be there. It's probably best to move the device creation into
> display.c, as you did. Just include omapfb also, and maybe remove the
> DMM creation as a first patch.

Sure, I'll do that.

I'm not sure either about how to deal with the direct call to 
omapdss_init_of().

Archit

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 3/4] drm: omap: Enable DT support for DMM
       [not found]     ` <1379063679-4869-4-git-send-email-archit-l0cyMroinI0@public.gmane.org>
@ 2013-09-13 14:14       ` Rob Clark
       [not found]         ` <CAF6AEGu7eRFhrQZUD-43AOHNQtRWeyxYga1dnir=qUo1mQ9ebA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 43+ messages in thread
From: Rob Clark @ 2013-09-13 14:14 UTC (permalink / raw)
  To: Archit Taneja
  Cc: Tony Lindgren, linux-omap, Valkeinen, Tomi,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross, DRI Development

On Fri, Sep 13, 2013 at 5:14 AM, Archit Taneja <archit-l0cyMroinI0@public.gmane.org> wrote:
> Enable use of DT for DMM/Tiler.
>
> Originally worked on by Andy Gross.

looks good.. but do we want to get information about # of LUT's, etc,
from DT?  Or did we decide that we can reliably get this from the hw?
I lost track of that discussion (I guess Andy would remember)..

BR,
-R

> Cc: Andy Gross <andygro-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> Cc: DRI Development <dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
> Signed-off-by: Archit Taneja <archit-l0cyMroinI0@public.gmane.org>
> ---
>  drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> index acf6678..59f17de 100644
> --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> @@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
>  };
>  #endif
>
> +#if defined(CONFIG_OF)
> +static const struct of_device_id dmm_of_match[] = {
> +       { .compatible = "ti,omap4-dmm", },
> +       { .compatible = "ti,omap5-dmm", },
> +       {},
> +};
> +#else
> +#define dmm_of_match NULL
> +#endif
> +
>  struct platform_driver omap_dmm_driver = {
>         .probe = omap_dmm_probe,
>         .remove = omap_dmm_remove,
>         .driver = {
>                 .owner = THIS_MODULE,
>                 .name = DMM_DRIVER_NAME,
> +               .of_match_table = dmm_of_match,
>  #ifdef CONFIG_PM
>                 .pm = &omap_dmm_pm_ops,
>  #endif
> --
> 1.8.1.2
>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 3/4] drm: omap: Enable DT support for DMM
       [not found]         ` <CAF6AEGu7eRFhrQZUD-43AOHNQtRWeyxYga1dnir=qUo1mQ9ebA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2013-09-16  6:28           ` Archit Taneja
       [not found]             ` <5236A503.90507-l0cyMroinI0@public.gmane.org>
  0 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-16  6:28 UTC (permalink / raw)
  To: Rob Clark
  Cc: Tony Lindgren, linux-omap, Valkeinen, Tomi,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross, DRI Development

On Friday 13 September 2013 07:44 PM, Rob Clark wrote:
> On Fri, Sep 13, 2013 at 5:14 AM, Archit Taneja <archit-l0cyMroinI0@public.gmane.org> wrote:
>> Enable use of DT for DMM/Tiler.
>>
>> Originally worked on by Andy Gross.
>
> looks good.. but do we want to get information about # of LUT's, etc,
> from DT?  Or did we decide that we can reliably get this from the hw?
> I lost track of that discussion (I guess Andy would remember)..

I am not aware of the discussion either. But looks like we get the LUT 
info from the HW registers in omap_dmm_probe:

         hwinfo = readl(omap_dmm->base + DMM_PAT_HWINFO);
         omap_dmm->num_engines = (hwinfo >> 24) & 0x1F;
         omap_dmm->num_lut = (hwinfo >> 16) & 0x1F;
         omap_dmm->container_width = 256;
         omap_dmm->container_height = 128;

         atomic_set(&omap_dmm->engine_counter, omap_dmm->num_engines);

         /* read out actual LUT width and height */
         pat_geom = readl(omap_dmm->base + DMM_PAT_GEOMETRY);
         omap_dmm->lut_width = ((pat_geom >> 16) & 0xF) << 5;
         omap_dmm->lut_height = ((pat_geom >> 24) & 0xF) << 5;

         /* increment LUT by one if on OMAP5 */
         /* LUT has twice the height, and is split into a separate 
container */
         if (omap_dmm->lut_height != omap_dmm->container_height)
                 omap_dmm->num_lut++;


Archit
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v2 0/2] DMM DT adaptation
       [not found] ` <1379063679-4869-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
                     ` (2 preceding siblings ...)
  2013-09-13  9:14   ` [PATCH 4/4] arm: omap: display: Don't build device " Archit Taneja
@ 2013-09-16  9:30   ` Archit Taneja
  2013-09-16  9:30     ` [PATCH v2 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
                       ` (2 more replies)
  3 siblings, 3 replies; 43+ messages in thread
From: Archit Taneja @ 2013-09-16  9:30 UTC (permalink / raw)
  To: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w, tomi.valkeinen-l0cyMroinI0,
	bcousson-rdvid1DuHRBWk0Htik3J/w
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-doc-u79uwXL29TY76Z2rM5mHXA, Archit Taneja

The DMM/Tiler block can used by omapdrm to allocate frame buffers. With the
removal of address and irq data from the omap4 hwmods, the probe of DMM driver
fails and omapdrm isn't able to utilize the DMM hardware.

Add DMM bindings for omap4 and omap5.

Changes in v2:
- No changes, split out into a separate series containing only DT related parts.

Archit Taneja (2):
  arm: dts: omap4+: Add DMM bindings
  drm: omap: Enable DT support for DMM

 Documentation/devicetree/bindings/arm/omap/dmm.txt | 17 +++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           | 11 +++++++++++
 4 files changed, 42 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v2 1/2] arm: dts: omap4+: Add DMM bindings
  2013-09-16  9:30   ` [PATCH v2 0/2] DMM DT adaptation Archit Taneja
@ 2013-09-16  9:30     ` Archit Taneja
  2013-09-16 11:19       ` Tomi Valkeinen
  2013-09-16  9:30     ` [PATCH v2 2/2] drm: omap: Enable DT support for DMM Archit Taneja
       [not found]     ` <1379323815-14130-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
  2 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-09-16  9:30 UTC (permalink / raw)
  To: tony, linux-omap, robdclark, tomi.valkeinen, bcousson
  Cc: devicetree, linux-doc, Archit Taneja, Andy Gross

Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
only requires address and irq information.

Add documentation for the DMM bindings.

Originally worked on by Andy Gross.

Cc: Andy Gross <andygro@gmail.com>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 Documentation/devicetree/bindings/arm/omap/dmm.txt | 17 +++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 3 files changed, 31 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
new file mode 100644
index 0000000..237cd83
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
@@ -0,0 +1,17 @@
+OMAP Dynamic Memory Manager (DMM) bindings
+
+Required properties:
+- compatible:	Must be "ti,omap4-dmm" for OMAP4 family
+		Must be "ti,omap5-dmm" for OMAP5 family
+- reg:		Contains timer register address range (base address and length)
+- interrupts:	Contains interrupt information (source, etc) for the DMM IRQ
+- ti,hwmods:	Name of the hwmod associated to the counter, which is typically
+		"dmm"
+
+Example:
+
+dmm: dmm@4e000000 {
+	compatible = "ti,omap4-dmm";
+	reg = <0x4e000000 0x800>;
+	ti,hwmods = "dmm";
+};
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 22d9f2b..24f388e 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -487,6 +487,13 @@
 			ti,hwmods = "kbd";
 		};
 
+		dmm: dmm@4e000000 {
+			compatible = "ti,omap4-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@4c000000 {
 			compatible = "ti,emif-4d";
 			reg = <0x4c000000 0x100>;
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index ac1f1e0..33b4fea 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -604,6 +604,13 @@
 			ti,hwmods = "wd_timer2";
 		};
 
+		dmm: dmm@4e000000 {
+			compatible = "ti,omap5-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@0x4c000000 {
 			compatible	= "ti,emif-4d5";
 			ti,hwmods	= "emif1";
-- 
1.8.1.2


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

* [PATCH v2 2/2] drm: omap: Enable DT support for DMM
  2013-09-16  9:30   ` [PATCH v2 0/2] DMM DT adaptation Archit Taneja
  2013-09-16  9:30     ` [PATCH v2 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2013-09-16  9:30     ` Archit Taneja
       [not found]     ` <1379323815-14130-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
  2 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-09-16  9:30 UTC (permalink / raw)
  To: tony, linux-omap, robdclark, tomi.valkeinen, bcousson
  Cc: devicetree, linux-doc, Archit Taneja, Andy Gross, DRI Development

Enable use of DT for DMM/Tiler.

Originally worked on by Andy Gross.

Cc: Andy Gross <andygro@gmail.com>
Cc: DRI Development <dri-devel@lists.freedesktop.org>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index acf6678..59f17de 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
 };
 #endif
 
+#if defined(CONFIG_OF)
+static const struct of_device_id dmm_of_match[] = {
+	{ .compatible = "ti,omap4-dmm", },
+	{ .compatible = "ti,omap5-dmm", },
+	{},
+};
+#else
+#define dmm_of_match NULL
+#endif
+
 struct platform_driver omap_dmm_driver = {
 	.probe = omap_dmm_probe,
 	.remove = omap_dmm_remove,
 	.driver = {
 		.owner = THIS_MODULE,
 		.name = DMM_DRIVER_NAME,
+		.of_match_table = dmm_of_match,
 #ifdef CONFIG_PM
 		.pm = &omap_dmm_pm_ops,
 #endif
-- 
1.8.1.2


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

* Re: [PATCH v2 1/2] arm: dts: omap4+: Add DMM bindings
  2013-09-16  9:30     ` [PATCH v2 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2013-09-16 11:19       ` Tomi Valkeinen
       [not found]         ` <5236E940.9070503-l0cyMroinI0@public.gmane.org>
  0 siblings, 1 reply; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-16 11:19 UTC (permalink / raw)
  To: Archit Taneja
  Cc: tony, linux-omap, robdclark, bcousson, devicetree, linux-doc, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 2725 bytes --]

On 16/09/13 12:30, Archit Taneja wrote:
> Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
> only requires address and irq information.
> 
> Add documentation for the DMM bindings.
> 
> Originally worked on by Andy Gross.
> 
> Cc: Andy Gross <andygro@gmail.com>
> Signed-off-by: Archit Taneja <archit@ti.com>
> ---
>  Documentation/devicetree/bindings/arm/omap/dmm.txt | 17 +++++++++++++++++
>  arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>  arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>  3 files changed, 31 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
> 
> diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
> new file mode 100644
> index 0000000..237cd83
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
> @@ -0,0 +1,17 @@
> +OMAP Dynamic Memory Manager (DMM) bindings
> +
> +Required properties:
> +- compatible:	Must be "ti,omap4-dmm" for OMAP4 family
> +		Must be "ti,omap5-dmm" for OMAP5 family
> +- reg:		Contains timer register address range (base address and length)

"timer"?

> +- interrupts:	Contains interrupt information (source, etc) for the DMM IRQ
> +- ti,hwmods:	Name of the hwmod associated to the counter, which is typically
> +		"dmm"

"associated to the counter"?

> +
> +Example:
> +
> +dmm: dmm@4e000000 {
> +	compatible = "ti,omap4-dmm";
> +	reg = <0x4e000000 0x800>;
> +	ti,hwmods = "dmm";
> +};
> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
> index 22d9f2b..24f388e 100644
> --- a/arch/arm/boot/dts/omap4.dtsi
> +++ b/arch/arm/boot/dts/omap4.dtsi
> @@ -487,6 +487,13 @@
>  			ti,hwmods = "kbd";
>  		};
>  
> +		dmm: dmm@4e000000 {

I don't think anyone refers to this node, so there shouldn't be any need
for the "dmm: " alias.

> +			compatible = "ti,omap4-dmm";
> +			reg = <0x4e000000 0x800>;
> +			interrupts = <0 113 0x4>;
> +			ti,hwmods = "dmm";
> +		};
> +
>  		emif1: emif@4c000000 {
>  			compatible = "ti,emif-4d";
>  			reg = <0x4c000000 0x100>;
> diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
> index ac1f1e0..33b4fea 100644
> --- a/arch/arm/boot/dts/omap5.dtsi
> +++ b/arch/arm/boot/dts/omap5.dtsi
> @@ -604,6 +604,13 @@
>  			ti,hwmods = "wd_timer2";
>  		};
>  
> +		dmm: dmm@4e000000 {

Same here.

> +			compatible = "ti,omap5-dmm";
> +			reg = <0x4e000000 0x800>;
> +			interrupts = <0 113 0x4>;
> +			ti,hwmods = "dmm";
> +		};
> +
>  		emif1: emif@0x4c000000 {
>  			compatible	= "ti,emif-4d5";
>  			ti,hwmods	= "emif1";
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH v2 0/2] DMM DT adaptation
       [not found]     ` <1379323815-14130-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
@ 2013-09-16 11:30       ` Tomi Valkeinen
  0 siblings, 0 replies; 43+ messages in thread
From: Tomi Valkeinen @ 2013-09-16 11:30 UTC (permalink / raw)
  To: Archit Taneja
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	bcousson-rdvid1DuHRBWk0Htik3J/w,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-doc-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 1487 bytes --]

On 16/09/13 12:30, Archit Taneja wrote:
> The DMM/Tiler block can used by omapdrm to allocate frame buffers. With the
> removal of address and irq data from the omap4 hwmods, the probe of DMM driver
> fails and omapdrm isn't able to utilize the DMM hardware.
> 
> Add DMM bindings for omap4 and omap5.
> 
> Changes in v2:
> - No changes, split out into a separate series containing only DT related parts.
> 
> Archit Taneja (2):
>   arm: dts: omap4+: Add DMM bindings
>   drm: omap: Enable DT support for DMM

This is not an objection as such, but I just want to point out that DMM
is part of the memory subsystem, and Tiler is part of DMM. So it's not
linked to the display subsystem in any way. And with a quick glance to
the TRM, DMM manages _all_ accesses to system memory.

In that sense, having a "DMM" driver as part of omapdrm is quite wrong.
If it was just a "Tiler" driver, it'd be better, but still wrong.

That said, if I remember right I brought this point up long ago, and it
was pointed out that only the Tiler part of DMM is configured at
runtime, and more or less all the registers of DMM are about Tiler. And
only omapdrm uses the Tiler. Thus it was deemed ok to have the DMM
driver in omapdrm.

I'd still rather have tiler as a separate driver, but that's a separate
issue from this series.

So, after fixing the issues I pointed in the other mail:

Acked-by: Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH 3/4] drm: omap: Enable DT support for DMM
       [not found]             ` <5236A503.90507-l0cyMroinI0@public.gmane.org>
@ 2013-09-16 11:56               ` Rob Clark
  0 siblings, 0 replies; 43+ messages in thread
From: Rob Clark @ 2013-09-16 11:56 UTC (permalink / raw)
  To: Archit Taneja
  Cc: Tony Lindgren, linux-omap, Valkeinen, Tomi,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Andy Gross, DRI Development

On Mon, Sep 16, 2013 at 2:28 AM, Archit Taneja <archit-l0cyMroinI0@public.gmane.org> wrote:
> On Friday 13 September 2013 07:44 PM, Rob Clark wrote:
>>
>> On Fri, Sep 13, 2013 at 5:14 AM, Archit Taneja <archit-l0cyMroinI0@public.gmane.org> wrote:
>>>
>>> Enable use of DT for DMM/Tiler.
>>>
>>> Originally worked on by Andy Gross.
>>
>>
>> looks good.. but do we want to get information about # of LUT's, etc,
>> from DT?  Or did we decide that we can reliably get this from the hw?
>> I lost track of that discussion (I guess Andy would remember)..
>
>
> I am not aware of the discussion either. But looks like we get the LUT info
> from the HW registers in omap_dmm_probe:

right.. I'm possibly mis-remembering, but I thought I remember Andy
worried that this was not reliable for some reason or another, but I
can't really remember the details.  The issue may have only been
related to a pre-Si simulation environment, so it could be nothing.

I suppose if it becomes an issue in the future we could always add DT
bindings to override what we would read from the hw, so I guess if
this works on all the current devices, maybe it isn't worth worrying
about right now.

BR,
-R

>         hwinfo = readl(omap_dmm->base + DMM_PAT_HWINFO);
>         omap_dmm->num_engines = (hwinfo >> 24) & 0x1F;
>         omap_dmm->num_lut = (hwinfo >> 16) & 0x1F;
>         omap_dmm->container_width = 256;
>         omap_dmm->container_height = 128;
>
>         atomic_set(&omap_dmm->engine_counter, omap_dmm->num_engines);
>
>         /* read out actual LUT width and height */
>         pat_geom = readl(omap_dmm->base + DMM_PAT_GEOMETRY);
>         omap_dmm->lut_width = ((pat_geom >> 16) & 0xF) << 5;
>         omap_dmm->lut_height = ((pat_geom >> 24) & 0xF) << 5;
>
>         /* increment LUT by one if on OMAP5 */
>         /* LUT has twice the height, and is split into a separate container
> */
>         if (omap_dmm->lut_height != omap_dmm->container_height)
>                 omap_dmm->num_lut++;
>
>
> Archit
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH v2 1/2] arm: dts: omap4+: Add DMM bindings
       [not found]         ` <5236E940.9070503-l0cyMroinI0@public.gmane.org>
@ 2013-09-16 12:25           ` Archit Taneja
  0 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-09-16 12:25 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-omap-u79uwXL29TY76Z2rM5mHXA,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w,
	bcousson-rdvid1DuHRBWk0Htik3J/w,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-doc-u79uwXL29TY76Z2rM5mHXA, Andy Gross

On Monday 16 September 2013 04:49 PM, Tomi Valkeinen wrote:
> On 16/09/13 12:30, Archit Taneja wrote:
>> Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
>> only requires address and irq information.
>>
>> Add documentation for the DMM bindings.
>>
>> Originally worked on by Andy Gross.
>>
>> Cc: Andy Gross <andygro-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>> Signed-off-by: Archit Taneja <archit-l0cyMroinI0@public.gmane.org>
>> ---
>>   Documentation/devicetree/bindings/arm/omap/dmm.txt | 17 +++++++++++++++++
>>   arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>>   arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>>   3 files changed, 31 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
>>
>> diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
>> new file mode 100644
>> index 0000000..237cd83
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
>> @@ -0,0 +1,17 @@
>> +OMAP Dynamic Memory Manager (DMM) bindings
>> +
>> +Required properties:
>> +- compatible:	Must be "ti,omap4-dmm" for OMAP4 family
>> +		Must be "ti,omap5-dmm" for OMAP5 family
>> +- reg:		Contains timer register address range (base address and length)
>
> "timer"?
>
>> +- interrupts:	Contains interrupt information (source, etc) for the DMM IRQ
>> +- ti,hwmods:	Name of the hwmod associated to the counter, which is typically
>> +		"dmm"
>
> "associated to the counter"?

Seem like copy paste errors, will fix them.

>
>> +
>> +Example:
>> +
>> +dmm: dmm@4e000000 {
>> +	compatible = "ti,omap4-dmm";
>> +	reg = <0x4e000000 0x800>;
>> +	ti,hwmods = "dmm";
>> +};
>> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
>> index 22d9f2b..24f388e 100644
>> --- a/arch/arm/boot/dts/omap4.dtsi
>> +++ b/arch/arm/boot/dts/omap4.dtsi
>> @@ -487,6 +487,13 @@
>>   			ti,hwmods = "kbd";
>>   		};
>>
>> +		dmm: dmm@4e000000 {
>
> I don't think anyone refers to this node, so there shouldn't be any need
> for the "dmm: " alias.

Yes, it won't be used. Will remove them.

Thanks,
Archit

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v3 0/2] DMM DT adaptation
  2013-09-13  9:14 [PATCH 0/4] arm: omap: DMM DT adaptation Archit Taneja
  2013-09-13  9:14 ` [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init Archit Taneja
       [not found] ` <1379063679-4869-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
@ 2013-10-10  6:36 ` Archit Taneja
  2013-10-10  6:36   ` [PATCH v3 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
  2013-10-10  6:36   ` [PATCH v3 2/2] drm: omap: Enable DT support for DMM Archit Taneja
  2013-10-15  7:04 ` [PATCH v4 0/2] DMM DT adaptation Archit Taneja
  2013-12-17 10:02 ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
  4 siblings, 2 replies; 43+ messages in thread
From: Archit Taneja @ 2013-10-10  6:36 UTC (permalink / raw)
  To: bcousson, tony, tomi.valkeinen, robdclark
  Cc: linux-doc, linux-omap, devicetree, Archit Taneja

The DMM/Tiler block can used by omapdrm to allocate frame buffers. With the
removal of address and irq data from the omap4 hwmods, the probe of DMM driver
fails and omapdrm isn't able to utilize the DMM hardware.

Add DMM bindings for omap4 and omap5.

Changes in v3:
- Fix mistakes in documentation and remove aliases for dmm nodes.

Changes in v2:
- No changes, split out into a separate series containing only DT related parts.

Archit Taneja (2):
  arm: dts: omap4+: Add DMM bindings
  drm: omap: Enable DT support for DMM

 Documentation/devicetree/bindings/arm/omap/dmm.txt | 16 ++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           | 11 +++++++++++
 4 files changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

-- 
1.8.1.2


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

* [PATCH v3 1/2] arm: dts: omap4+: Add DMM bindings
  2013-10-10  6:36 ` [PATCH v3 " Archit Taneja
@ 2013-10-10  6:36   ` Archit Taneja
  2013-10-10 10:08     ` Mark Rutland
  2013-10-10  6:36   ` [PATCH v3 2/2] drm: omap: Enable DT support for DMM Archit Taneja
  1 sibling, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-10-10  6:36 UTC (permalink / raw)
  To: bcousson, tony, tomi.valkeinen, robdclark
  Cc: linux-doc, linux-omap, devicetree, Archit Taneja, Andy Gross

Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
only requires address and irq information.

Add documentation for the DMM bindings.

Originally worked on by Andy Gross <andygro@gmail.com>

Cc: Andy Gross <andygro@gmail.com>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 Documentation/devicetree/bindings/arm/omap/dmm.txt | 16 ++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 3 files changed, 30 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
new file mode 100644
index 0000000..6fc3d79
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
@@ -0,0 +1,16 @@
+OMAP Dynamic Memory Manager (DMM) bindings
+
+Required properties:
+- compatible:	Must be "ti,omap4-dmm" for OMAP4 family
+		Must be "ti,omap5-dmm" for OMAP5 and DRA7x family
+- reg:		Contains timer register address range (base address and length)
+- interrupts:	Contains interrupt information (source, etc) for the DMM IRQ
+- ti,hwmods:	Name of the hwmod associated to DMM, which is typically "dmm"
+
+Example:
+
+dmm@4e000000 {
+	compatible = "ti,omap4-dmm";
+	reg = <0x4e000000 0x800>;
+	ti,hwmods = "dmm";
+};
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 22d9f2b..b6bf288 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -487,6 +487,13 @@
 			ti,hwmods = "kbd";
 		};
 
+		dmm@4e000000 {
+			compatible = "ti,omap4-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@4c000000 {
 			compatible = "ti,emif-4d";
 			reg = <0x4c000000 0x100>;
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 7cdea1b..e405458 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -604,6 +604,13 @@
 			ti,hwmods = "wd_timer2";
 		};
 
+		dmm@4e000000 {
+			compatible = "ti,omap5-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@0x4c000000 {
 			compatible	= "ti,emif-4d5";
 			ti,hwmods	= "emif1";
-- 
1.8.1.2


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

* [PATCH v3 2/2] drm: omap: Enable DT support for DMM
  2013-10-10  6:36 ` [PATCH v3 " Archit Taneja
  2013-10-10  6:36   ` [PATCH v3 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2013-10-10  6:36   ` Archit Taneja
  1 sibling, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-10-10  6:36 UTC (permalink / raw)
  To: bcousson, tony, tomi.valkeinen, robdclark
  Cc: linux-doc, linux-omap, devicetree, Archit Taneja, Andy Gross,
	DRI Development

Enable use of DT for DMM/Tiler.

Originally worked on by Andy Gross <andygro@gmail.com>

Cc: Andy Gross <andygro@gmail.com>
Cc: DRI Development <dri-devel@lists.freedesktop.org>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index acf6678..59f17de 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
 };
 #endif
 
+#if defined(CONFIG_OF)
+static const struct of_device_id dmm_of_match[] = {
+	{ .compatible = "ti,omap4-dmm", },
+	{ .compatible = "ti,omap5-dmm", },
+	{},
+};
+#else
+#define dmm_of_match NULL
+#endif
+
 struct platform_driver omap_dmm_driver = {
 	.probe = omap_dmm_probe,
 	.remove = omap_dmm_remove,
 	.driver = {
 		.owner = THIS_MODULE,
 		.name = DMM_DRIVER_NAME,
+		.of_match_table = dmm_of_match,
 #ifdef CONFIG_PM
 		.pm = &omap_dmm_pm_ops,
 #endif
-- 
1.8.1.2


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

* Re: [PATCH v3 1/2] arm: dts: omap4+: Add DMM bindings
  2013-10-10  6:36   ` [PATCH v3 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2013-10-10 10:08     ` Mark Rutland
  2013-10-10 10:36       ` Archit Taneja
  0 siblings, 1 reply; 43+ messages in thread
From: Mark Rutland @ 2013-10-10 10:08 UTC (permalink / raw)
  To: Archit Taneja
  Cc: bcousson, tony, tomi.valkeinen, robdclark, linux-doc, linux-omap,
	devicetree, Andy Gross

On Thu, Oct 10, 2013 at 07:36:33AM +0100, Archit Taneja wrote:
> Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
> only requires address and irq information.
> 
> Add documentation for the DMM bindings.
> 
> Originally worked on by Andy Gross <andygro@gmail.com>
> 
> Cc: Andy Gross <andygro@gmail.com>
> Signed-off-by: Archit Taneja <archit@ti.com>
> ---
>  Documentation/devicetree/bindings/arm/omap/dmm.txt | 16 ++++++++++++++++
>  arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>  arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>  3 files changed, 30 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
> 
> diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
> new file mode 100644
> index 0000000..6fc3d79
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
> @@ -0,0 +1,16 @@
> +OMAP Dynamic Memory Manager (DMM) bindings

Is there any documentation? A brief description of what this is would be
nice.

> +
> +Required properties:
> +- compatible:	Must be "ti,omap4-dmm" for OMAP4 family
> +		Must be "ti,omap5-dmm" for OMAP5 and DRA7x family

s/must be/should contain/

> +- reg:		Contains timer register address range (base address and length)

Huh? What's a timer got to do with the DMM?

> +- interrupts:	Contains interrupt information (source, etc) for the DMM IRQ

Is there a single interrupt? If so:

- interrupts: Should contain an interrupt-specifier for the DMM IRQ.

Assuming the "DMM IRQ" is well defined. If there's a name for it in
documentation, using that's preferable. If a future revision may have
multiple interrupts, please use interrupt-names now to save us endless
pain in future.

Cheers,
Mark.

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

* Re: [PATCH v3 1/2] arm: dts: omap4+: Add DMM bindings
  2013-10-10 10:08     ` Mark Rutland
@ 2013-10-10 10:36       ` Archit Taneja
  0 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-10-10 10:36 UTC (permalink / raw)
  To: Mark Rutland
  Cc: bcousson, tony, tomi.valkeinen, robdclark, linux-doc, linux-omap,
	devicetree, Andy Gross

Hi,

On Thursday 10 October 2013 03:38 PM, Mark Rutland wrote:
> On Thu, Oct 10, 2013 at 07:36:33AM +0100, Archit Taneja wrote:
>> Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
>> only requires address and irq information.
>>
>> Add documentation for the DMM bindings.
>>
>> Originally worked on by Andy Gross <andygro@gmail.com>
>>
>> Cc: Andy Gross <andygro@gmail.com>
>> Signed-off-by: Archit Taneja <archit@ti.com>
>> ---
>>   Documentation/devicetree/bindings/arm/omap/dmm.txt | 16 ++++++++++++++++
>>   arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>>   arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>>   3 files changed, 30 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
>>
>> diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
>> new file mode 100644
>> index 0000000..6fc3d79
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
>> @@ -0,0 +1,16 @@
>> +OMAP Dynamic Memory Manager (DMM) bindings
>
> Is there any documentation? A brief description of what this is would be
> nice.

I'll do that.

>
>> +
>> +Required properties:
>> +- compatible:	Must be "ti,omap4-dmm" for OMAP4 family
>> +		Must be "ti,omap5-dmm" for OMAP5 and DRA7x family
>
> s/must be/should contain/
>
>> +- reg:		Contains timer register address range (base address and length)
>
> Huh? What's a timer got to do with the DMM?

Err, my mistake!

>
>> +- interrupts:	Contains interrupt information (source, etc) for the DMM IRQ
>
> Is there a single interrupt? If so:
>
> - interrupts: Should contain an interrupt-specifier for the DMM IRQ.

Okay.

>
> Assuming the "DMM IRQ" is well defined. If there's a name for it in
> documentation, using that's preferable. If a future revision may have
> multiple interrupts, please use interrupt-names now to save us endless
> pain in future.

The IRQ is called DMM_IRQ in the documentation. I don't think there 
would be more than one interrupt line from this IP. I'll still cross check.

Thanks,
Archit


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

* [PATCH v4 0/2] DMM DT adaptation
  2013-09-13  9:14 [PATCH 0/4] arm: omap: DMM DT adaptation Archit Taneja
                   ` (2 preceding siblings ...)
  2013-10-10  6:36 ` [PATCH v3 " Archit Taneja
@ 2013-10-15  7:04 ` Archit Taneja
  2013-10-15  7:04   ` [PATCH v4 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
  2013-10-15  7:04   ` [PATCH v4 2/2] drm: omap: Enable DT support for DMM Archit Taneja
  2013-12-17 10:02 ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
  4 siblings, 2 replies; 43+ messages in thread
From: Archit Taneja @ 2013-10-15  7:04 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland
  Cc: tomi.valkeinen, robdclark, linux-doc, linux-omap, devicetree,
	Archit Taneja

The DMM/Tiler block can used by omapdrm to allocate frame buffers. With the
removal of address and irq data from the omap4 hwmods, the probe of DMM driver
fails and omapdrm isn't able to utilize the DMM hardware.

Add DMM bindings for omap4 and omap5.

Changes in v4:
- Clean up documentation further.

Changes in v3:
- Fix mistakes in documentation and remove aliases for dmm nodes.

Changes in v2:
- No changes, split out into a separate series containing only DT related parts.

Archit Taneja (2):
  arm: dts: omap4+: Add DMM bindings
  drm: omap: Enable DT support for DMM

 Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           | 11 +++++++++++
 4 files changed, 47 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

-- 
1.8.1.2


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

* [PATCH v4 1/2] arm: dts: omap4+: Add DMM bindings
  2013-10-15  7:04 ` [PATCH v4 0/2] DMM DT adaptation Archit Taneja
@ 2013-10-15  7:04   ` Archit Taneja
  2014-03-11  7:15     ` Tomi Valkeinen
  2013-10-15  7:04   ` [PATCH v4 2/2] drm: omap: Enable DT support for DMM Archit Taneja
  1 sibling, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-10-15  7:04 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland
  Cc: tomi.valkeinen, robdclark, linux-doc, linux-omap, devicetree,
	Archit Taneja, Andy Gross

Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
only requires address and irq information.

Add documentation for the DMM bindings.

Originally worked on by Andy Gross <andygro@gmail.com>

Cc: Andy Gross <andygro@gmail.com>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 3 files changed, 36 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
new file mode 100644
index 0000000..8bd6d0a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
@@ -0,0 +1,22 @@
+OMAP Dynamic Memory Manager (DMM) bindings
+
+The dynamic memory manager (DMM) is a module located immediately in front of the
+SDRAM controllers (called EMIFs on OMAP). DMM manages various aspects of memory
+accesses such as priority generation amongst initiators, configuration of SDRAM
+interleaving, optimizing transfer of 2D block objects, and provide MMU-like page
+translation for initiators which need contiguous dma bus addresses.
+
+Required properties:
+- compatible:	Should contain "ti,omap4-dmm" for OMAP4 family
+		Should contain "ti,omap5-dmm" for OMAP5 and DRA7x family
+- reg:		Contains DMM register address range (base address and length)
+- interrupts:	Should contain an interrupt-specifier for DMM_IRQ.
+- ti,hwmods:	Name of the hwmod associated to DMM, which is typically "dmm"
+
+Example:
+
+dmm@4e000000 {
+	compatible = "ti,omap4-dmm";
+	reg = <0x4e000000 0x800>;
+	ti,hwmods = "dmm";
+};
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 22d9f2b..b6bf288 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -487,6 +487,13 @@
 			ti,hwmods = "kbd";
 		};
 
+		dmm@4e000000 {
+			compatible = "ti,omap4-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@4c000000 {
 			compatible = "ti,emif-4d";
 			reg = <0x4c000000 0x100>;
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 7cdea1b..e405458 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -604,6 +604,13 @@
 			ti,hwmods = "wd_timer2";
 		};
 
+		dmm@4e000000 {
+			compatible = "ti,omap5-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@0x4c000000 {
 			compatible	= "ti,emif-4d5";
 			ti,hwmods	= "emif1";
-- 
1.8.1.2


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

* [PATCH v4 2/2] drm: omap: Enable DT support for DMM
  2013-10-15  7:04 ` [PATCH v4 0/2] DMM DT adaptation Archit Taneja
  2013-10-15  7:04   ` [PATCH v4 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2013-10-15  7:04   ` Archit Taneja
  2013-11-01  0:40     ` Mark Rutland
  1 sibling, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-10-15  7:04 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland
  Cc: tomi.valkeinen, robdclark, linux-doc, linux-omap, devicetree,
	Archit Taneja, Andy Gross, DRI Development

Enable use of DT for DMM/Tiler.

Originally worked on by Andy Gross <andygro@gmail.com>

Cc: Andy Gross <andygro@gmail.com>
Cc: DRI Development <dri-devel@lists.freedesktop.org>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index acf6678..59f17de 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
 };
 #endif
 
+#if defined(CONFIG_OF)
+static const struct of_device_id dmm_of_match[] = {
+	{ .compatible = "ti,omap4-dmm", },
+	{ .compatible = "ti,omap5-dmm", },
+	{},
+};
+#else
+#define dmm_of_match NULL
+#endif
+
 struct platform_driver omap_dmm_driver = {
 	.probe = omap_dmm_probe,
 	.remove = omap_dmm_remove,
 	.driver = {
 		.owner = THIS_MODULE,
 		.name = DMM_DRIVER_NAME,
+		.of_match_table = dmm_of_match,
 #ifdef CONFIG_PM
 		.pm = &omap_dmm_pm_ops,
 #endif
-- 
1.8.1.2


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

* Re: [PATCH v4 2/2] drm: omap: Enable DT support for DMM
  2013-10-15  7:04   ` [PATCH v4 2/2] drm: omap: Enable DT support for DMM Archit Taneja
@ 2013-11-01  0:40     ` Mark Rutland
  2013-11-05  5:50       ` Archit Taneja
  0 siblings, 1 reply; 43+ messages in thread
From: Mark Rutland @ 2013-11-01  0:40 UTC (permalink / raw)
  To: Archit Taneja
  Cc: bcousson, tony, tomi.valkeinen, robdclark, linux-doc, linux-omap,
	devicetree, Andy Gross, DRI Development

On Tue, Oct 15, 2013 at 08:04:20AM +0100, Archit Taneja wrote:
> Enable use of DT for DMM/Tiler.
> 
> Originally worked on by Andy Gross <andygro@gmail.com>
> 
> Cc: Andy Gross <andygro@gmail.com>
> Cc: DRI Development <dri-devel@lists.freedesktop.org>
> Signed-off-by: Archit Taneja <archit@ti.com>
> ---
>  drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> index acf6678..59f17de 100644
> --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> @@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
>  };
>  #endif
>  
> +#if defined(CONFIG_OF)
> +static const struct of_device_id dmm_of_match[] = {
> +	{ .compatible = "ti,omap4-dmm", },
> +	{ .compatible = "ti,omap5-dmm", },
> +	{},
> +};
> +#else
> +#define dmm_of_match NULL
> +#endif
> +
>  struct platform_driver omap_dmm_driver = {
>  	.probe = omap_dmm_probe,
>  	.remove = omap_dmm_remove,
>  	.driver = {
>  		.owner = THIS_MODULE,
>  		.name = DMM_DRIVER_NAME,
> +		.of_match_table = dmm_of_match,

If you use of_match_ptr(dmm_of_match) here you don't need the #else case above.

Thanks,
Mark.

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

* Re: [PATCH v4 2/2] drm: omap: Enable DT support for DMM
  2013-11-01  0:40     ` Mark Rutland
@ 2013-11-05  5:50       ` Archit Taneja
  0 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-11-05  5:50 UTC (permalink / raw)
  To: Mark Rutland
  Cc: bcousson, tony, tomi.valkeinen, robdclark, linux-doc, linux-omap,
	devicetree, Andy Gross, DRI Development

On Friday 01 November 2013 06:10 AM, Mark Rutland wrote:
> On Tue, Oct 15, 2013 at 08:04:20AM +0100, Archit Taneja wrote:
>> Enable use of DT for DMM/Tiler.
>>
>> Originally worked on by Andy Gross <andygro@gmail.com>
>>
>> Cc: Andy Gross <andygro@gmail.com>
>> Cc: DRI Development <dri-devel@lists.freedesktop.org>
>> Signed-off-by: Archit Taneja <archit@ti.com>
>> ---
>>   drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 11 +++++++++++
>>   1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
>> index acf6678..59f17de 100644
>> --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
>> +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
>> @@ -968,12 +968,23 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
>>   };
>>   #endif
>>
>> +#if defined(CONFIG_OF)
>> +static const struct of_device_id dmm_of_match[] = {
>> +	{ .compatible = "ti,omap4-dmm", },
>> +	{ .compatible = "ti,omap5-dmm", },
>> +	{},
>> +};
>> +#else
>> +#define dmm_of_match NULL
>> +#endif
>> +
>>   struct platform_driver omap_dmm_driver = {
>>   	.probe = omap_dmm_probe,
>>   	.remove = omap_dmm_remove,
>>   	.driver = {
>>   		.owner = THIS_MODULE,
>>   		.name = DMM_DRIVER_NAME,
>> +		.of_match_table = dmm_of_match,
>
> If you use of_match_ptr(dmm_of_match) here you don't need the #else case above.

Thanks for the tip. I'll make this update.

Archit


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

* [PATCH v5 0/2] DMM DT adaptation
  2013-09-13  9:14 [PATCH 0/4] arm: omap: DMM DT adaptation Archit Taneja
                   ` (3 preceding siblings ...)
  2013-10-15  7:04 ` [PATCH v4 0/2] DMM DT adaptation Archit Taneja
@ 2013-12-17 10:02 ` Archit Taneja
  2013-12-17 10:02   ` [PATCH v5 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
                     ` (2 more replies)
  4 siblings, 3 replies; 43+ messages in thread
From: Archit Taneja @ 2013-12-17 10:02 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland
  Cc: robdclark, linux-omap, devicetree, linux-doc, Archit Taneja

The DMM/Tiler block can used by omapdrm to allocate frame buffers. With the
removal of address and irq data from the omap4 hwmods, the probe of DMM driver
fails and omapdrm isn't able to utilize the DMM hardware.

Add DMM bindings for OMAP4 and OMAP5 and DRA7x.

Changes in v5:
- Use of_match_ptr() in the dmm driver.
- Add DT node for DRA7x as dra7.dtsi is now in mainline.

Changes in v4:
- Clean up documentation further.

Changes in v3:
- Fix mistakes in documentation and remove aliases for dmm nodes.

Changes in v2:
- No changes, split out into a separate series containing only DT related parts.


Archit Taneja (2):
  arm: dts: omap4+: Add DMM bindings
  drm: omap: Enable DT support for DMM

 Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
 arch/arm/boot/dts/dra7.dtsi                        |  7 +++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           |  7 +++++++
 5 files changed, 50 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

-- 
1.8.3.2


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

* [PATCH v5 1/2] arm: dts: omap4+: Add DMM bindings
  2013-12-17 10:02 ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
@ 2013-12-17 10:02   ` Archit Taneja
  2014-03-02 19:53     ` Benoit Cousson
  2013-12-17 10:02   ` [PATCH v5 2/2] drm: omap: Enable DT support for DMM Archit Taneja
  2014-01-03 12:34   ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
  2 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2013-12-17 10:02 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland
  Cc: robdclark, linux-omap, devicetree, linux-doc, Archit Taneja, Andy Gross

Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 and DRA7x devices.
DMM only requires address and irq information.

Add documentation for the DMM bindings.

Originally worked on by Andy Gross <andygro@gmail.com>

Cc: Andy Gross <andygro@gmail.com>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
 arch/arm/boot/dts/dra7.dtsi                        |  7 +++++++
 arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
 arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
 4 files changed, 43 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
new file mode 100644
index 0000000..8bd6d0a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
@@ -0,0 +1,22 @@
+OMAP Dynamic Memory Manager (DMM) bindings
+
+The dynamic memory manager (DMM) is a module located immediately in front of the
+SDRAM controllers (called EMIFs on OMAP). DMM manages various aspects of memory
+accesses such as priority generation amongst initiators, configuration of SDRAM
+interleaving, optimizing transfer of 2D block objects, and provide MMU-like page
+translation for initiators which need contiguous dma bus addresses.
+
+Required properties:
+- compatible:	Should contain "ti,omap4-dmm" for OMAP4 family
+		Should contain "ti,omap5-dmm" for OMAP5 and DRA7x family
+- reg:		Contains DMM register address range (base address and length)
+- interrupts:	Should contain an interrupt-specifier for DMM_IRQ.
+- ti,hwmods:	Name of the hwmod associated to DMM, which is typically "dmm"
+
+Example:
+
+dmm@4e000000 {
+	compatible = "ti,omap4-dmm";
+	reg = <0x4e000000 0x800>;
+	ti,hwmods = "dmm";
+};
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index d0df4c4..c9bb006 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -425,6 +425,13 @@
 			ti,hwmods = "wd_timer2";
 		};
 
+		dmm@4e000000 {
+			compatible = "ti,omap5-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		i2c1: i2c@48070000 {
 			compatible = "ti,omap4-i2c";
 			reg = <0x48070000 0x100>;
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index a1e0585..3c67b2f 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -502,6 +502,13 @@
 			ti,hwmods = "kbd";
 		};
 
+		dmm@4e000000 {
+			compatible = "ti,omap4-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@4c000000 {
 			compatible = "ti,emif-4d";
 			reg = <0x4c000000 0x100>;
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index fc3fad5..878f635 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -621,6 +621,13 @@
 			ti,hwmods = "wd_timer2";
 		};
 
+		dmm@4e000000 {
+			compatible = "ti,omap5-dmm";
+			reg = <0x4e000000 0x800>;
+			interrupts = <0 113 0x4>;
+			ti,hwmods = "dmm";
+		};
+
 		emif1: emif@4c000000 {
 			compatible	= "ti,emif-4d5";
 			ti,hwmods	= "emif1";
-- 
1.8.3.2


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

* [PATCH v5 2/2] drm: omap: Enable DT support for DMM
  2013-12-17 10:02 ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
  2013-12-17 10:02   ` [PATCH v5 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2013-12-17 10:02   ` Archit Taneja
  2014-01-03 12:34   ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
  2 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2013-12-17 10:02 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland
  Cc: robdclark, linux-omap, devicetree, linux-doc, Archit Taneja,
	Andy Gross, DRI Development

Enable use of DT for DMM/Tiler.

Originally worked on by Andy Gross <andygro@gmail.com>

Cc: Andy Gross <andygro@gmail.com>
Cc: DRI Development <dri-devel@lists.freedesktop.org>
Signed-off-by: Archit Taneja <archit@ti.com>
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index 701c4c1..1b782aa 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -969,12 +969,19 @@ static const struct dev_pm_ops omap_dmm_pm_ops = {
 };
 #endif
 
+static const struct of_device_id dmm_of_match[] = {
+	{ .compatible = "ti,omap4-dmm", },
+	{ .compatible = "ti,omap5-dmm", },
+	{},
+};
+
 struct platform_driver omap_dmm_driver = {
 	.probe = omap_dmm_probe,
 	.remove = omap_dmm_remove,
 	.driver = {
 		.owner = THIS_MODULE,
 		.name = DMM_DRIVER_NAME,
+		.of_match_table = of_match_ptr(dmm_of_match),
 #ifdef CONFIG_PM
 		.pm = &omap_dmm_pm_ops,
 #endif
-- 
1.8.3.2


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

* Re: [PATCH v5 0/2] DMM DT adaptation
  2013-12-17 10:02 ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
  2013-12-17 10:02   ` [PATCH v5 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
  2013-12-17 10:02   ` [PATCH v5 2/2] drm: omap: Enable DT support for DMM Archit Taneja
@ 2014-01-03 12:34   ` Archit Taneja
  2014-01-17  7:32     ` Archit Taneja
  2 siblings, 1 reply; 43+ messages in thread
From: Archit Taneja @ 2014-01-03 12:34 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland; +Cc: robdclark, linux-omap, devicetree, linux-doc

Hullo,

On Tuesday 17 December 2013 03:32 PM, Archit Taneja wrote:
> The DMM/Tiler block can used by omapdrm to allocate frame buffers. With the
> removal of address and irq data from the omap4 hwmods, the probe of DMM driver
> fails and omapdrm isn't able to utilize the DMM hardware.
>
> Add DMM bindings for OMAP4 and OMAP5 and DRA7x.

Can this be pulled for 3.14? I've incorporated comments from Mark and 
other folks.

Thanks,
Archit

>
> Changes in v5:
> - Use of_match_ptr() in the dmm driver.
> - Add DT node for DRA7x as dra7.dtsi is now in mainline.
>
> Changes in v4:
> - Clean up documentation further.
>
> Changes in v3:
> - Fix mistakes in documentation and remove aliases for dmm nodes.
>
> Changes in v2:
> - No changes, split out into a separate series containing only DT related parts.
>
>
> Archit Taneja (2):
>    arm: dts: omap4+: Add DMM bindings
>    drm: omap: Enable DT support for DMM
>
>   Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
>   arch/arm/boot/dts/dra7.dtsi                        |  7 +++++++
>   arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>   arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>   drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           |  7 +++++++
>   5 files changed, 50 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
>


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

* Re: [PATCH v5 0/2] DMM DT adaptation
  2014-01-03 12:34   ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
@ 2014-01-17  7:32     ` Archit Taneja
  0 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2014-01-17  7:32 UTC (permalink / raw)
  To: bcousson, tony, mark.rutland
  Cc: robdclark, linux-omap, devicetree, linux-doc, Valkeinen, Tomi

Hi Mark,

On Friday 03 January 2014 06:04 PM, Archit Taneja wrote:
> Hullo,
>
> On Tuesday 17 December 2013 03:32 PM, Archit Taneja wrote:
>> The DMM/Tiler block can used by omapdrm to allocate frame buffers.
>> With the
>> removal of address and irq data from the omap4 hwmods, the probe of
>> DMM driver
>> fails and omapdrm isn't able to utilize the DMM hardware.
>>
>> Add DMM bindings for OMAP4 and OMAP5 and DRA7x.
>
> Can this be pulled for 3.14? I've incorporated comments from Mark and
> other folks.

Can you please ack the first patch in the series?

The second one is going via a pull request to the drm maintainer:

https://git.kernel.org/cgit/linux/kernel/git/tomba/linux.git/commit/?id=3d232346c5656b300028b6c920ddc10b229b5264

Thanks,
Archit

>
> Thanks,
> Archit
>
>>
>> Changes in v5:
>> - Use of_match_ptr() in the dmm driver.
>> - Add DT node for DRA7x as dra7.dtsi is now in mainline.
>>
>> Changes in v4:
>> - Clean up documentation further.
>>
>> Changes in v3:
>> - Fix mistakes in documentation and remove aliases for dmm nodes.
>>
>> Changes in v2:
>> - No changes, split out into a separate series containing only DT
>> related parts.
>>
>>
>> Archit Taneja (2):
>>    arm: dts: omap4+: Add DMM bindings
>>    drm: omap: Enable DT support for DMM
>>
>>   Documentation/devicetree/bindings/arm/omap/dmm.txt | 22
>> ++++++++++++++++++++++
>>   arch/arm/boot/dts/dra7.dtsi                        |  7 +++++++
>>   arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>>   arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>>   drivers/gpu/drm/omapdrm/omap_dmm_tiler.c           |  7 +++++++
>>   5 files changed, 50 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" 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] 43+ messages in thread

* Re: [PATCH v5 1/2] arm: dts: omap4+: Add DMM bindings
  2013-12-17 10:02   ` [PATCH v5 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2014-03-02 19:53     ` Benoit Cousson
  0 siblings, 0 replies; 43+ messages in thread
From: Benoit Cousson @ 2014-03-02 19:53 UTC (permalink / raw)
  To: Archit Taneja, tony, mark.rutland
  Cc: robdclark, linux-omap, devicetree, linux-doc, Andy Gross

Hi Archit,

On 17/12/2013 11:02, Archit Taneja wrote:
> Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 and DRA7x devices.
> DMM only requires address and irq information.
>
> Add documentation for the DMM bindings.
>
> Originally worked on by Andy Gross <andygro@gmail.com>
>
> Cc: Andy Gross <andygro@gmail.com>
> Signed-off-by: Archit Taneja <archit@ti.com>

I've just applied your patch.

Thanks,
Benoit

> ---
>   Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
>   arch/arm/boot/dts/dra7.dtsi                        |  7 +++++++
>   arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>   arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>   4 files changed, 43 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
>
> diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
> new file mode 100644
> index 0000000..8bd6d0a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
> @@ -0,0 +1,22 @@
> +OMAP Dynamic Memory Manager (DMM) bindings
> +
> +The dynamic memory manager (DMM) is a module located immediately in front of the
> +SDRAM controllers (called EMIFs on OMAP). DMM manages various aspects of memory
> +accesses such as priority generation amongst initiators, configuration of SDRAM
> +interleaving, optimizing transfer of 2D block objects, and provide MMU-like page
> +translation for initiators which need contiguous dma bus addresses.
> +
> +Required properties:
> +- compatible:	Should contain "ti,omap4-dmm" for OMAP4 family
> +		Should contain "ti,omap5-dmm" for OMAP5 and DRA7x family
> +- reg:		Contains DMM register address range (base address and length)
> +- interrupts:	Should contain an interrupt-specifier for DMM_IRQ.
> +- ti,hwmods:	Name of the hwmod associated to DMM, which is typically "dmm"
> +
> +Example:
> +
> +dmm@4e000000 {
> +	compatible = "ti,omap4-dmm";
> +	reg = <0x4e000000 0x800>;
> +	ti,hwmods = "dmm";
> +};
> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
> index d0df4c4..c9bb006 100644
> --- a/arch/arm/boot/dts/dra7.dtsi
> +++ b/arch/arm/boot/dts/dra7.dtsi
> @@ -425,6 +425,13 @@
>   			ti,hwmods = "wd_timer2";
>   		};
>
> +		dmm@4e000000 {
> +			compatible = "ti,omap5-dmm";
> +			reg = <0x4e000000 0x800>;
> +			interrupts = <0 113 0x4>;
> +			ti,hwmods = "dmm";
> +		};
> +
>   		i2c1: i2c@48070000 {
>   			compatible = "ti,omap4-i2c";
>   			reg = <0x48070000 0x100>;
> diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
> index a1e0585..3c67b2f 100644
> --- a/arch/arm/boot/dts/omap4.dtsi
> +++ b/arch/arm/boot/dts/omap4.dtsi
> @@ -502,6 +502,13 @@
>   			ti,hwmods = "kbd";
>   		};
>
> +		dmm@4e000000 {
> +			compatible = "ti,omap4-dmm";
> +			reg = <0x4e000000 0x800>;
> +			interrupts = <0 113 0x4>;
> +			ti,hwmods = "dmm";
> +		};
> +
>   		emif1: emif@4c000000 {
>   			compatible = "ti,emif-4d";
>   			reg = <0x4c000000 0x100>;
> diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
> index fc3fad5..878f635 100644
> --- a/arch/arm/boot/dts/omap5.dtsi
> +++ b/arch/arm/boot/dts/omap5.dtsi
> @@ -621,6 +621,13 @@
>   			ti,hwmods = "wd_timer2";
>   		};
>
> +		dmm@4e000000 {
> +			compatible = "ti,omap5-dmm";
> +			reg = <0x4e000000 0x800>;
> +			interrupts = <0 113 0x4>;
> +			ti,hwmods = "dmm";
> +		};
> +
>   		emif1: emif@4c000000 {
>   			compatible	= "ti,emif-4d5";
>   			ti,hwmods	= "emif1";
>


-- 
Benoît Cousson
BayLibre
Embedded Linux Technology Lab
www.baylibre.com
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" 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] 43+ messages in thread

* Re: [PATCH v4 1/2] arm: dts: omap4+: Add DMM bindings
  2013-10-15  7:04   ` [PATCH v4 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
@ 2014-03-11  7:15     ` Tomi Valkeinen
  2014-03-11  8:14       ` Archit Taneja
  0 siblings, 1 reply; 43+ messages in thread
From: Tomi Valkeinen @ 2014-03-11  7:15 UTC (permalink / raw)
  To: Archit Taneja, bcousson, tony, mark.rutland
  Cc: robdclark, linux-doc, linux-omap, devicetree, Andy Gross

[-- Attachment #1: Type: text/plain, Size: 756 bytes --]

Hi,

On 15/10/13 10:04, Archit Taneja wrote:
> Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
> only requires address and irq information.
> 
> Add documentation for the DMM bindings.
> 
> Originally worked on by Andy Gross <andygro@gmail.com>
> 
> Cc: Andy Gross <andygro@gmail.com>
> Signed-off-by: Archit Taneja <archit@ti.com>
> ---
>  Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
>  arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>  arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>  3 files changed, 36 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt

Has this been queued for 3.15?

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

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

* Re: [PATCH v4 1/2] arm: dts: omap4+: Add DMM bindings
  2014-03-11  7:15     ` Tomi Valkeinen
@ 2014-03-11  8:14       ` Archit Taneja
  0 siblings, 0 replies; 43+ messages in thread
From: Archit Taneja @ 2014-03-11  8:14 UTC (permalink / raw)
  To: Tomi Valkeinen, bcousson, tony, mark.rutland
  Cc: robdclark, linux-doc, linux-omap, devicetree, Andy Gross

On Tuesday 11 March 2014 12:45 PM, Tomi Valkeinen wrote:
> Hi,
>
> On 15/10/13 10:04, Archit Taneja wrote:
>> Add Dynamic Memory Manager (DMM) bindings for OMAP4 and OMAP5 devices. DMM
>> only requires address and irq information.
>>
>> Add documentation for the DMM bindings.
>>
>> Originally worked on by Andy Gross <andygro@gmail.com>
>>
>> Cc: Andy Gross <andygro@gmail.com>
>> Signed-off-by: Archit Taneja <archit@ti.com>
>> ---
>>   Documentation/devicetree/bindings/arm/omap/dmm.txt | 22 ++++++++++++++++++++++
>>   arch/arm/boot/dts/omap4.dtsi                       |  7 +++++++
>>   arch/arm/boot/dts/omap5.dtsi                       |  7 +++++++
>>   3 files changed, 36 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/omap/dmm.txt
>
> Has this been queued for 3.15?

Yes, It has got queued.

Archit


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

end of thread, other threads:[~2014-03-11  8:14 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-13  9:14 [PATCH 0/4] arm: omap: DMM DT adaptation Archit Taneja
2013-09-13  9:14 ` [PATCH 1/4] arm: omap: display: Create omapdrm inside omap_display_init Archit Taneja
     [not found]   ` <1379063679-4869-2-git-send-email-archit-l0cyMroinI0@public.gmane.org>
2013-09-13  9:24     ` Tomi Valkeinen
2013-09-13  9:38       ` Archit Taneja
     [not found]         ` <5232DCFE.5050700-l0cyMroinI0@public.gmane.org>
2013-09-13  9:39           ` Archit Taneja
     [not found]             ` <5232DD53.3010706-l0cyMroinI0@public.gmane.org>
2013-09-13  9:48               ` Tomi Valkeinen
     [not found]                 ` <5232DF61.6000109-l0cyMroinI0@public.gmane.org>
2013-09-13  9:51                   ` Archit Taneja
2013-09-13 10:02                     ` Tomi Valkeinen
2013-09-13 10:17                       ` Archit Taneja
2013-09-13 10:24                         ` Tomi Valkeinen
     [not found]                           ` <5232E7E2.7050606-l0cyMroinI0@public.gmane.org>
2013-09-13 10:32                             ` Archit Taneja
2013-09-13  9:42           ` Tomi Valkeinen
     [not found] ` <1379063679-4869-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
2013-09-13  9:14   ` [PATCH 2/4] ARM: dts: OMAP4+: Add DMM bindings Archit Taneja
2013-09-13  9:14   ` [PATCH 3/4] drm: omap: Enable DT support for DMM Archit Taneja
     [not found]     ` <1379063679-4869-4-git-send-email-archit-l0cyMroinI0@public.gmane.org>
2013-09-13 14:14       ` Rob Clark
     [not found]         ` <CAF6AEGu7eRFhrQZUD-43AOHNQtRWeyxYga1dnir=qUo1mQ9ebA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-16  6:28           ` Archit Taneja
     [not found]             ` <5236A503.90507-l0cyMroinI0@public.gmane.org>
2013-09-16 11:56               ` Rob Clark
2013-09-13  9:14   ` [PATCH 4/4] arm: omap: display: Don't build device " Archit Taneja
     [not found]     ` <1379063679-4869-5-git-send-email-archit-l0cyMroinI0@public.gmane.org>
2013-09-13  9:29       ` Tomi Valkeinen
2013-09-16  9:30   ` [PATCH v2 0/2] DMM DT adaptation Archit Taneja
2013-09-16  9:30     ` [PATCH v2 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
2013-09-16 11:19       ` Tomi Valkeinen
     [not found]         ` <5236E940.9070503-l0cyMroinI0@public.gmane.org>
2013-09-16 12:25           ` Archit Taneja
2013-09-16  9:30     ` [PATCH v2 2/2] drm: omap: Enable DT support for DMM Archit Taneja
     [not found]     ` <1379323815-14130-1-git-send-email-archit-l0cyMroinI0@public.gmane.org>
2013-09-16 11:30       ` [PATCH v2 0/2] DMM DT adaptation Tomi Valkeinen
2013-10-10  6:36 ` [PATCH v3 " Archit Taneja
2013-10-10  6:36   ` [PATCH v3 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
2013-10-10 10:08     ` Mark Rutland
2013-10-10 10:36       ` Archit Taneja
2013-10-10  6:36   ` [PATCH v3 2/2] drm: omap: Enable DT support for DMM Archit Taneja
2013-10-15  7:04 ` [PATCH v4 0/2] DMM DT adaptation Archit Taneja
2013-10-15  7:04   ` [PATCH v4 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
2014-03-11  7:15     ` Tomi Valkeinen
2014-03-11  8:14       ` Archit Taneja
2013-10-15  7:04   ` [PATCH v4 2/2] drm: omap: Enable DT support for DMM Archit Taneja
2013-11-01  0:40     ` Mark Rutland
2013-11-05  5:50       ` Archit Taneja
2013-12-17 10:02 ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
2013-12-17 10:02   ` [PATCH v5 1/2] arm: dts: omap4+: Add DMM bindings Archit Taneja
2014-03-02 19:53     ` Benoit Cousson
2013-12-17 10:02   ` [PATCH v5 2/2] drm: omap: Enable DT support for DMM Archit Taneja
2014-01-03 12:34   ` [PATCH v5 0/2] DMM DT adaptation Archit Taneja
2014-01-17  7:32     ` Archit Taneja

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.