diff options
author | Tony Lofthouse <a0741364@ti.com> | 2012-02-28 17:02:29 -0600 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-01 13:00:05 +0200 |
commit | 4dfbc76450ccd4f618bb0b81fc5f7e778505f58d (patch) | |
tree | 11d8297f209e383274c487fc526eb7f5f1fbb5c7 /arch | |
parent | a5685c0fdae8c48d3d1cbd32a8ead53d60c4f86e (diff) | |
download | kernel_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')
-rw-r--r-- | arch/arm/plat-omap/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/dsscomp.h | 4 | ||||
-rw-r--r-- | arch/arm/plat-omap/omap_dsscomp.c | 56 |
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); + |