aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap
diff options
context:
space:
mode:
authorTony Lofthouse <a0741364@ti.com>2012-02-28 17:02:29 -0600
committerZiyann <jaraidaniel@gmail.com>2014-10-01 13:00:05 +0200
commit4dfbc76450ccd4f618bb0b81fc5f7e778505f58d (patch)
tree11d8297f209e383274c487fc526eb7f5f1fbb5c7 /arch/arm/plat-omap
parenta5685c0fdae8c48d3d1cbd32a8ead53d60c4f86e (diff)
downloadkernel_samsung_tuna-4dfbc76450ccd4f618bb0b81fc5f7e778505f58d.zip
kernel_samsung_tuna-4dfbc76450ccd4f618bb0b81fc5f7e778505f58d.tar.gz
kernel_samsung_tuna-4dfbc76450ccd4f618bb0b81fc5f7e778505f58d.tar.bz2
OMAPDSS: DSSCOMP: move device to omap plat to configure tiler1d slot
Different devices will have varying requirements on tiler resources. This change moves the platform device registration for dsscomp to the omap platform level so at device initialization time we can set the appropriate Tiler1D slot size. Change-Id: I5edf5b7cfb056a45ab038b244d2efc758a840b00 Signed-off-by: Tony Lofthouse <a0741364@ti.com> Signed-off-by: Lajos Molnar <lajos@ti.com>
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r--arch/arm/plat-omap/Makefile1
-rw-r--r--arch/arm/plat-omap/include/plat/dsscomp.h4
-rw-r--r--arch/arm/plat-omap/omap_dsscomp.c56
3 files changed, 61 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
index 476d817..954ace3 100644
--- a/arch/arm/plat-omap/Makefile
+++ b/arch/arm/plat-omap/Makefile
@@ -34,3 +34,4 @@ obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o
obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-interface.o
obj-$(CONFIG_OMAP_PM) += omap-pm-interface.o omap-pm-helper.o
+obj-$(CONFIG_DSSCOMP) += omap_dsscomp.o
diff --git a/arch/arm/plat-omap/include/plat/dsscomp.h b/arch/arm/plat-omap/include/plat/dsscomp.h
index 06c6ce6..55d93d8 100644
--- a/arch/arm/plat-omap/include/plat/dsscomp.h
+++ b/arch/arm/plat-omap/include/plat/dsscomp.h
@@ -4,6 +4,10 @@
#include <video/omapdss.h>
#include <video/dsscomp.h>
+struct dsscomp_platform_data {
+ unsigned int tiler1d_slotsz;
+};
+
/* queuing operations */
typedef struct dsscomp_data *dsscomp_t; /* handle */
diff --git a/arch/arm/plat-omap/omap_dsscomp.c b/arch/arm/plat-omap/omap_dsscomp.c
new file mode 100644
index 0000000..418ea91
--- /dev/null
+++ b/arch/arm/plat-omap/omap_dsscomp.c
@@ -0,0 +1,56 @@
+/*
+ * File: arch/arm/plat-omap/omap_dsscomp.c
+ *
+ * dsscomp resources registration for TI OMAP platforms
+ *
+ * Copyright (C) 2012 Texas Instruments
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * 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, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include <linux/kernel.h>
+#include <linux/mm.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <plat/board.h>
+
+#include <video/dsscomp.h>
+#include <plat/dsscomp.h>
+
+static struct dsscomp_platform_data dsscomp_config = {
+ .tiler1d_slotsz = SZ_32M,
+};
+
+static struct platform_device omap_dsscomp_device = {
+ .name = "dsscomp",
+ .id = -1,
+ .dev = {
+ .platform_data = &dsscomp_config,
+ },
+ .num_resources = 0,
+};
+
+void dsscomp_set_platform_data(struct dsscomp_platform_data *data)
+{
+ dsscomp_config = *data;
+}
+
+static int __init omap_init_dsscomp(void)
+{
+ return platform_device_register(&omap_dsscomp_device);
+}
+
+arch_initcall(omap_init_dsscomp);
+