diff options
| author | Koen Kooi <koen@openembedded.org> | 2009-08-26 11:35:14 +0200 |
|---|---|---|
| committer | Koen Kooi <koen@openembedded.org> | 2009-08-26 11:35:14 +0200 |
| commit | 172cb63ce5e91d489993590ec09e418aba019b4e (patch) | |
| tree | e10d322895620ec0c96c2ab0efcd296bfc93b6b9 /recipes/dvsdk/files | |
| parent | bac5eef9c8a73672ee114926011addabb36610eb (diff) | |
dvsdk: rename to ti now that other things like bitblit live in that dir now
Diffstat (limited to 'recipes/dvsdk/files')
32 files changed, 0 insertions, 2307 deletions
diff --git a/recipes/dvsdk/files/Makefile-dsplink-dsp b/recipes/dvsdk/files/Makefile-dsplink-dsp deleted file mode 100755 index 0861f1ee21..0000000000 --- a/recipes/dvsdk/files/Makefile-dsplink-dsp +++ /dev/null @@ -1,59 +0,0 @@ -# -# ======== makeunix ======== -# - -# Import Tools Path from Rules.make -#include Rules.make - -PROJECT_BASE_DIR = $(shell pwd) -LINUXKERNEL_INSTALL_DIR:=some-path/kernel -LINK_INSTALL_DIR := some-path/dsplink_1_51/dsplink - -# The prefix to be added before the GNU compiler tools (optionally including -# path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-". -GPPTOOL_DIR:=some-path/cross - -# ---- DSP tools ---- -DSP_BASE_CGTOOLS := some-path/cg6x_6_0_19 -DSP_BASE_BIOS := some-path/bios_5_32_03 -DSP_BASE_RTDX := some-path/bios_5_32_03/packages/ti/rtdx -OSINC_PLATFORM1 := something -ARCHIVER_AR := something - - -# ---- construct Link build make vars ---- -GPP_MAKE_OPTS := COMPILER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \ - LINKER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \ - LD=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \ - ARCHIVER1=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \ - ARCHIVER2=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-ld \ - CROSS_COMPILE=arm-angstrom-linux-gnueabi- \ - DSPLINK=$(LINK_INSTALL_DIR) \ - BASE_TOOLCHAIN=$(GPPTOOL_DIR) \ - BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR) \ - ARCHIVER=$(ARCHIVER_AR) OSINC_PLATFORM=$(OSINC_PLATFORM1) \ - -DSP_MAKE_OPTS := DSPLINK=$(DSPLINK) \ - DPPROOT=$(DSPLINK)/dsp \ - BASE_SABIOS=$(DSP_BASE_BIOS) \ - BASE_CGTOOLS=$(DSP_BASE_CGTOOLS) \ - BASE_RTDX=$(DSP_BASE_RTDX) - - -# ======== all ======== -all: $(LINK_INSTALL_DIR)/packages/dsplink/gpp/export/BIN/Linux/Davinci/RELEASE/dsplinkk.ko - -$(LINK_INSTALL_DIR)/packages/dsplink/gpp/export/BIN/Linux/Davinci/RELEASE/dsplinkk.ko: - #@echo Building DSPLINK GPP driver, libs - #make -s -C $(LINK_INSTALL_DIR)/gpp/src $(GPP_MAKE_OPTS) - #make -s -C $(DSPLINK)/gpp/src/samples $(GPP_MAKE_OPTS) - @echo Building DSPLINK DSP libs and message sample for DaVinci... - make -C $(DSPLINK)/dsp/src $(DSP_MAKE_OPTS) - make -C $(DSPLINK)/dsp/src/samples $(DSP_MAKE_OPTS) - -# clean rules -clean: - @echo Cleaning DSPLINK GPP driver, libs - make -s -C $(LINK_INSTALL_DIR)/gpp/src $(GPP_MAKE_OPTS) clean - @rm -rf $(LINK_INSTALL_DIR)/gpp/export/BIN/* - @rm -rf $(LINK_INSTALL_DIR)/gpp/export/INCLUDE/* diff --git a/recipes/dvsdk/files/Makefile-dsplink-gpp b/recipes/dvsdk/files/Makefile-dsplink-gpp deleted file mode 100755 index d9f2f6209a..0000000000 --- a/recipes/dvsdk/files/Makefile-dsplink-gpp +++ /dev/null @@ -1,120 +0,0 @@ -# Composite Makefile -DIRSEP=/ - -TI_DSPLINK_RELATIVE_PATH :=../../../../ - -# include the CURRENTCFG.mk -include $(DSPLINK)$(DIRSEP)config$(DIRSEP)BUILD$(DIRSEP)CURRENTCFG.MK - -# Generate the list of sources -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)arch$(DIRSEP)SOURCES -ARCH_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)arch$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP)SOURCES -LDRV_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES -LDRV_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)ldrv$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)gen$(DIRSEP)SOURCES -GEN_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)gen$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)SOURCES -PMGR_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES -PMGR_SOURCES += $(addpreifx $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP)SOURCES -PMGR_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)pmgr$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)SOURCES -OSAL_SOURCES := $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES -OSAL_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP)SOURCES -OSAL_SOURCES += $(addprefix $(TI_DSPLINK_RELATIVE_PATH)gpp$(DIRSEP)src$(DIRSEP)osal$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(TI_DSPLINK_GPPOSVERSION)$(DIRSEP),$(SOURCES)) - -DSPLINK_SOURCES := $(ARCH_SOURCES) $(LDRV_SOURCES) $(GEN_SOURCES) $(OSAL_SOURCES) $(PMGR_SOURCES) -DSPLINK_OBJS := $(foreach srcFile, $(DSPLINK_SOURCES),$(basename $(srcFile)).o) - -# EXTRA_CFLAGS -EXTRA_CFLAGS += $(addprefix -D, $(TI_DSPLINK_GPP_DEFINES)) -EXTRA_CFLAGS += $(addprefix -I, $(TI_DSPLINK_GPP_INC_PATH)) -EXTRA_CFLAGS += -DEXPORT_SYMTAB -EXTRA_CFLAGS += -DTRACE_KERNEL - -ifneq ($(KERNELRELEASE),) -obj-m := dsplinkk.o -dsplinkk-objs := $(DSPLINK_OBJS) -else -KDIR := /path/to/kernel/ -PWD := $(shell pwd) -driver: - $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules -endif - -clean: - @echo DSPLINK - cleaning driver, library and samples - find $(DSPLINK) -name "*.o" -exec rm {} \; - rm -fr dsplinkk.ko dsplinkk.mod.c Module.symvers *gpp *.a *.lib - -################################################################################################ -# USER SIDE -BUILD_CONFIG := ..$(DIRSEP)..$(DIRSEP)..$(DIRSEP)config$(DIRSEP)BUILD -# Generate the list of sources -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP)SOURCES -API_SOURCES := $(addprefix $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP),$(SOURCES)) -SOURCES := -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)SOURCES -API_SOURCES += $(addprefix $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)api$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP),$(SOURCES)) - -# Update the CFLAG -#CC = arm-none-linux-gnueabi-gcc -#AR = arm-none-linux-gnueabi-ar -#LD = arm-none-linux-gnueabi-ld -ARFLAGS = -rs -LDFLAGS = -r -EXTRA_CFLAGS += $(addprefix -D, $(TI_DSPLINK_GPP_DEFINES)) $(addprefix -I, $(TI_DSPLINK_GPP_INC_PATH)) - -define CONFIG_template -$(shell cp $(DSPLINK)$(DIRSEP)config$(DIRSEP)all$(DIRSEP)$(1) $(DSPLINK)$(DIRSEP)config$(DIRSEP)BUILD$(DIRSEP)) -endef - -define PROGRAM_template -$(basename $(1)).o: $(1) - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $(1) -o $(basename $(1)).o -endef -$(foreach prog,$(API_SOURCES),$(eval $(call PROGRAM_template,$(prog)))) -$(foreach prog,$(CONFIG),$(eval $(call CONFIG_template,$(prog)))) - -DSPLINK_API_OBJS := $(foreach srcFile, $(API_SOURCES),$(basename $(srcFile)).o) - -library: $(DSPLINK_API_OBJS) - @echo DSPLINK - building user library - dsplink.lib - $(LD) $(LDFLAGS) -o dsplink.lib $(DSPLINK_API_OBJS) - $(AR) $(ARFLAGS) dsplink.a $(DSPLINK_API_OBJS) - - -######################################### SAMPLES ################################### -SOURCES := -define SAMPLES_template -ifneq ($(1),message_multi) -$(1): $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(1).c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(1)_os.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS) -o $(1)gpp $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(1).c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)$(1)_os.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)main.c dsplink.lib -lpthread -else -$(1): $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)message.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)message_os.c - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1) -I$(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS) -o $(1)gpp $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)message.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)message_os.c $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)$(1)$(DIRSEP)$(TI_DSPLINK_GPPOS)$(DIRSEP)main.c dsplink.lib -lpthread -endif -endef - -include $(TI_DSPLINK_GPPROOT)$(DIRSEP)src$(DIRSEP)samples$(DIRSEP)DIRS -$(foreach prog,$(DIRS),$(eval $(call SAMPLES_template,$(prog)))) - -samples: $(foreach prog,$(DIRS),$(prog)) - -all: driver library samples diff --git a/recipes/dvsdk/files/cmem-class-device-27-and-sched-include-fix.patch b/recipes/dvsdk/files/cmem-class-device-27-and-sched-include-fix.patch deleted file mode 100644 index 8eb3210bb1..0000000000 --- a/recipes/dvsdk/files/cmem-class-device-27-and-sched-include-fix.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -uNr codec_engine_2_21/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c codec_engine_2_21_fix/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c ---- codec_engine_2_21/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2009-02-12 22:02:15.000000000 +0000 -+++ codec_engine_2_21_fix/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2009-02-12 22:08:49.000000000 +0000 -@@ -29,6 +29,7 @@ - #include <linux/mm.h> - #include <linux/seq_file.h> - #include <linux/vmalloc.h> -+#include <linux/sched.h> - #include <asm/cacheflush.h> - #include <asm/uaccess.h> - #include <asm/pgtable.h> -@@ -1710,7 +1711,11 @@ - #ifdef USE_CLASS_DEVICE - class_device_create(cmem_class, NULL, MKDEV(cmem_major, 0), NULL, "cmem"); - #else -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) -+ device_create(cmem_class, NULL, MKDEV(cmem_major, 0), NULL, "cmem"); -+#else - device_create(cmem_class, NULL, MKDEV(cmem_major, 0), "cmem"); -+#endif // LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27) - #endif // USE_CLASS_DEVICE - #endif // USE_CLASS_SIMPLE - #endif // USE_UDEV diff --git a/recipes/dvsdk/files/cmem-remove-show-pte-function.patch b/recipes/dvsdk/files/cmem-remove-show-pte-function.patch deleted file mode 100644 index 2d0fe672ef..0000000000 --- a/recipes/dvsdk/files/cmem-remove-show-pte-function.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- codec_engine_2_23_01/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2009-04-20 14:43:31.000000000 -0400 -+++ codec_engine_2_23_01.new/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2009-07-28 10:48:38.000000000 -0400 -@@ -1018,53 +1018,6 @@ - } - - --/* -- * This is useful to dump out the page tables associated with -- * 'addr' in mm 'mm'. -- */ --void show_pte(struct mm_struct *mm, unsigned long addr) --{ -- pgd_t *pgd; -- -- if (!mm) -- mm = &init_mm; -- -- printk(KERN_ALERT "pgd = %p\n", mm->pgd); -- pgd = pgd_offset(mm, addr); -- printk(KERN_ALERT "[%08lx] *pgd=%08lx", addr, pgd_val(*pgd)); -- -- do { -- pmd_t *pmd; -- pte_t *pte; -- -- if (pgd_none(*pgd)) -- break; -- -- if (pgd_bad(*pgd)) { -- printk("(bad)"); -- break; -- } -- -- pmd = pmd_offset(pgd, addr); -- -- if (pmd_none(*pmd)) -- break; -- -- if (pmd_bad(*pmd)) { -- printk("(bad)"); -- break; -- } -- -- /* We must not map this if we have highmem enabled */ -- pte = pte_offset_map(pmd, addr); -- printk(", *pte=%08lx", pte_val(*pte)); -- printk(", *ppte=%08lx", pte_val(pte[-PTRS_PER_PTE])); -- pte_unmap(pte); -- } while(0); -- -- printk("\n"); --} -- - static int set_noncached(struct vm_area_struct *vma) - { - vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); diff --git a/recipes/dvsdk/files/config.bld b/recipes/dvsdk/files/config.bld deleted file mode 100644 index 2e99cab0b0..0000000000 --- a/recipes/dvsdk/files/config.bld +++ /dev/null @@ -1,48 +0,0 @@ -/* - * CROSS_DIR - toolchain installation location - * PLATFORM - platform to be build - * doBuildArm - true (to build arm) - * doBuildDsp - true (to build dsp) - * buildDualCpu - build example for dual cpu - */ - -var buildTable = { - "Arm": [{doBuild: doBuildArm, - target: "gnu.targets.arm.GCArmv5T", - cgtoolsRootDir: "CROSS_DIR", - platforms: [ - {platform: "PLATFORM", dualCpu: buildDualCpu, outDir: "bin/PLATFORM"}, - ], - }], - "DSP": [{doBuild: doBuildDsp, - target: "ti.targets.C64P", - cgtoolsRootDir: "TICGTOOLSDIR", - platforms: [ - {platform: "PLATFORM", outDir: "bin/PLATFORM"}, - ], - }] - -}; - -var targets = []; -var userbldBuildPlatforms = {}; -for each (var cpu in buildTable) { - for (var t = 0; t < cpu.length; t++) { - if (cpu[t].doBuild) { - var targ = xdc.useModule(cpu[t].target); - targets.push(targ); - targ.rootDir = cpu[t].cgtoolsRootDir; - userbldBuildPlatforms[targ.name] = cpu[t].platforms; - } - } -} - -Build.targets = targets; -for (var i = 0; i < Build.targets.length; i++) { - var t = targets[i]; - - if (t.name == "GCArmv5T") { - t.LONGNAME = "bin/CROSS_PREFIX"; - } -} - diff --git a/recipes/dvsdk/files/dm355mm_1_30.patch b/recipes/dvsdk/files/dm355mm_1_30.patch deleted file mode 100644 index 6ee6064f5a..0000000000 --- a/recipes/dvsdk/files/dm355mm_1_30.patch +++ /dev/null @@ -1,498 +0,0 @@ -diff -uNr dm355_codecs_1_13_000/dm355mm/module/dm350mmap.c dm355_codecs_1_13_000.new/dm355mm/module/dm350mmap.c ---- dm355_codecs_1_13_000/dm355mm/module/dm350mmap.c 2009-05-20 11:22:57.000000000 -0500 -+++ dm355_codecs_1_13_000.new/dm355mm/module/dm350mmap.c 2009-06-09 10:43:25.000000000 -0500 -@@ -7,7 +7,7 @@ - * Use of this software is controlled by the terms and conditions found in the - * license agreement under which this software has been supplied or provided. - * ============================================================================ -- */ -+ */ - #include <linux/module.h> - #include <linux/init.h> - #include <linux/moduleparam.h> -@@ -20,274 +20,283 @@ - #include <linux/proc_fs.h> - #include <linux/kernel.h> - #include <linux/device.h> -- -+#include <linux/clk.h> -+ - #include <asm/page.h> - #include <asm/uaccess.h> - #include <asm/pgtable.h> - #include <asm/io.h> --#include<asm/system.h> --#include<asm-arm/memory.h> -+#include <asm/system.h> -+#include <asm/memory.h> -+ - #include <asm/irq.h> -- -+ -+#include <linux/version.h> - #include <linux/completion.h> --#include <asm/arch/edma.h> -- -+#include <mach/edma.h> -+ - #define ASQINT_ENABLE -- typedef struct _edma_params --{ -- unsigned long src; -- unsigned long dst; -- unsigned int srcmode; -- unsigned int srcfifowidth; -- int srcbidx; -- int srccidx; -- unsigned int dstmode; -- unsigned int dstfifowidth; -- int dstbidx; -- int dstcidx; -- int acnt; -- int bcnt; -- int ccnt; -- int bcntrld; -- int syncmode; -- } edma_params; -+typedef struct _edma_params { -+ unsigned long src; -+ unsigned long dst; -+ unsigned int srcmode; -+ unsigned int srcfifowidth; -+ int srcbidx; -+ int srccidx; -+ unsigned int dstmode; -+ unsigned int dstfifowidth; -+ int dstbidx; -+ int dstcidx; -+ int acnt; -+ int bcnt; -+ int ccnt; -+ int bcntrld; -+ int syncmode; -+} edma_params; - - #define DM350MMAP_IOCMEMCPY 0x7 - #define DM350MMAP_IOCWAIT 0x8 - #define DM350MMAP_IOCCLEAR_PENDING 0x9 -- -+ - #ifdef __DEBUG --#define __D(fmt, args...) printk(KERN_DEBUG "DM350MMAP Debug: " fmt, ## args) -+# define __D(fmt, args...) printk(KERN_DEBUG "DM350MMAP Debug: " fmt, ## args) - #else /* */ --#define __D(fmt, args...) -+# define __D(fmt, args...) - #endif /* */ -- -+ - #define __E(fmt, args...) printk(KERN_ERR "DM350MMAP Error: " fmt, ## args) -- -+ - #define MAXTYPE(T) ((T) (((T)1 << ((sizeof(T) * 8) - 1) ^ ((T) -1)))) -- -+ - static int major = 0; - - #if (USE_UDEV==1) - static struct class *dm350mmap_class; -- - #endif // USE_UDEV --static DECLARE_MUTEX_LOCKED (dm350mmap_reply_mutex); --int master_ch; --struct completion edmacompletion; -- --/* Forward declaration of system calls */ --static int ioctl (struct inode *inode, struct file *filp, unsigned int cmd, -- unsigned long args); --static int mmap (struct file *filp, struct vm_area_struct *vma); --static int open (struct inode *inode, struct file *filp); --static int release (struct inode *inode, struct file *filp); -+ -+static DECLARE_MUTEX(dm350mmap_reply_mutex); -+static struct completion edmacompletion; -+ -+/* Forward declaration of system calls */ -+static int ioctl(struct inode *inode, struct file *filp, unsigned int cmd, -+ unsigned long args); -+static int mmap(struct file *filp, struct vm_area_struct *vma); -+static int open(struct inode *inode, struct file *filp); -+static int release(struct inode *inode, struct file *filp); - static struct file_operations dm350mmap_fxns = { ioctl: ioctl, mmap: mmap, open: open, release:release -- - }; - --static irqreturn_t irq_handler (int irq, void *dev_id, struct pt_regs *regs) -+/* Structure to hold mjcp clock info */ -+static struct clk *mjcp = NULL; -+ -+//static irqreturn_t irq_handler (int irq, void *dev_id, struct pt_regs *regs) -+static irqreturn_t irq_handler(int irq, void *dev_id) - { -- -- /* Release the mutex, suggesting sequencer processing complete */ -- up (&dm350mmap_reply_mutex); -- return IRQ_HANDLED; -+ /* Release the mutex, suggesting sequencer processing complete */ -+ up(&dm350mmap_reply_mutex); -+ return IRQ_HANDLED; - } - --static void memcpy_dma_irq_handler (int lch, u16 ch_status, void *data) -+static void memcpy_dma_irq_handler(unsigned lch, u16 ch_status, void *data) - { -- complete_all (&edmacompletion); --} -+ complete_all(&edmacompletion); -+} - --static int mmap (struct file *filp, struct vm_area_struct *vma) -+static int mmap(struct file *filp, struct vm_area_struct *vma) - { -- __D ("mmap: vma->vm_start = %#lx\n", vma->vm_start); -- __D ("mmap: vma->vm_pgoff = %#lx\n", vma->vm_pgoff); -- __D ("mmap: vma->vm_end = %#lx\n", vma->vm_end); -- __D ("mmap: size = %#lx\n", vma->vm_end - vma->vm_start); -- vma->vm_page_prot = pgprot_noncached (vma->vm_page_prot); -- if (remap_pfn_range (vma, vma->vm_start, -- --#ifdef LINUX_2_6_18 -- (vma->vm_pgoff >> PAGE_SHIFT), -+ __D("mmap: vma->vm_start = %#lx\n", vma->vm_start); -+ __D("mmap: vma->vm_pgoff = %#lx\n", vma->vm_pgoff); -+ __D("mmap: vma->vm_end = %#lx\n", vma->vm_end); -+ __D("mmap: size = %#lx\n", vma->vm_end - vma->vm_start); -+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); -+ if (remap_pfn_range(vma, vma->vm_start, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) -+ (vma->vm_pgoff >> PAGE_SHIFT), - #else /* */ -- vma->vm_pgoff, -+ vma->vm_pgoff, - #endif /* */ -- -- vma->vm_end - vma->vm_start, vma->vm_page_prot)) -- { -- __E ("mmap: failed remap_pfn_range\n"); -- return -EAGAIN; -+ vma->vm_end - vma->vm_start, vma->vm_page_prot)) { -+ __E("mmap: failed remap_pfn_range\n"); -+ return -EAGAIN; - } -- return 0; -+ return 0; - } - - --static int ioctl (struct inode *inode, struct file *filp, unsigned int cmd, -- unsigned long args) -+static int ioctl(struct inode *inode, struct file *filp, unsigned int cmd, -+ unsigned long args) - { -- unsigned int __user *argp = (unsigned int __user *) args; -- edma_params edmaparams; -- int err = 0, tcc = EDMA_TCC_ANY; -- struct paramentry_descriptor paramentry; -- switch (cmd) -- { -- -- /* -- * Tries to clear any previously unaccounted interrupt. -- */ -- case DM350MMAP_IOCCLEAR_PENDING: -- -- { -- int retval; -- __D ("Clear Pending Call received.\n"); -- init_MUTEX_LOCKED(&dm350mmap_reply_mutex); -- return 0; -- } -- break; -- -- /* -- * Blocks till the sequencer completion interrupt arrives. -- */ -- case DM350MMAP_IOCWAIT: -- -- { -- int retval; -- __D ("WAIT Call received.\n"); -- retval = down_interruptible (&dm350mmap_reply_mutex); -- return retval; -- } -- break; -- case DM350MMAP_IOCMEMCPY: -- __D ("MEMCPY ioctl received.\n"); -- if (copy_from_user (&edmaparams, argp, sizeof (edmaparams))) -- { -- return -EFAULT; -- } -- err = -- davinci_request_dma (EDMA_DMA_CHANNEL_ANY, "EDMA memcpy", -- memcpy_dma_irq_handler, NULL, &master_ch, &tcc, -- EVENTQ_1); -- -- /* Handle Failure condition here */ -- if (err < 0) -- { -- __E ("Error in requesting Master channel %d = 0x%x\n", master_ch, -- err); -- return err; -- } -- davinci_stop_dma (master_ch); -- init_completion (&edmacompletion); -- davinci_set_dma_src_params (master_ch, -- (unsigned long) edmaparams.src, -- edmaparams.srcmode, -- edmaparams.srcfifowidth); -- davinci_set_dma_dest_params (master_ch, -- (unsigned long) edmaparams.dst, -- edmaparams.dstmode, -- edmaparams.dstfifowidth); -- davinci_set_dma_src_index (master_ch, edmaparams.srcbidx, -- edmaparams.srccidx); -- davinci_set_dma_dest_index (master_ch, edmaparams.dstbidx, -- edmaparams.dstcidx); -- davinci_set_dma_transfer_params (master_ch, edmaparams.acnt, -- edmaparams.bcnt, edmaparams.ccnt, -- edmaparams.bcntrld, -- edmaparams.syncmode); -- davinci_get_dma_params (master_ch, ¶mentry); -- -- /*printk("%x : %x : %x : %x : %x : %x : %x\n", paramentry.opt, -- paramentry.a_b_cnt, paramentry.src_dst_bidx, -- paramentry.src_dst_cidx, paramentry.ccnt, paramentry.src, -- paramentry.dst); */ -- davinci_set_dma_params (master_ch, ¶mentry); -- davinci_start_dma (master_ch); -- wait_for_completion (&edmacompletion); -- -- //printk("Dma completed... \n"); -- davinci_stop_dma (master_ch); -- davinci_free_dma (master_ch); -- break; -- default: -- __E ("Unknown ioctl received = %d.\n", cmd); -- return -EINVAL; -+ unsigned int __user *argp = (unsigned int __user *) args; -+ edma_params edmaparams; -+ int edma_channel; -+ int retval = 0; -+ struct edmacc_param p_ram; -+ -+ switch (cmd) { -+ -+ /* -+ * Tries to clear any previously unaccounted interrupt. -+ */ -+ case DM350MMAP_IOCCLEAR_PENDING: -+ __D("Clear Pending Call received.\n"); -+ init_MUTEX_LOCKED(&dm350mmap_reply_mutex); -+ break; -+ -+ /* -+ * Blocks till the sequencer completion interrupt arrives. -+ */ -+ case DM350MMAP_IOCWAIT: -+ __D("WAIT Call received.\n"); -+ retval = down_interruptible(&dm350mmap_reply_mutex); -+ break; -+ -+ case DM350MMAP_IOCMEMCPY: -+ __D("MEMCPY ioctl received.\n"); -+ if (copy_from_user(&edmaparams, argp, sizeof(edmaparams))) { -+ retval = -EFAULT; -+ break; -+ } -+ -+ edma_channel = -+ edma_alloc_channel(EDMA_CHANNEL_ANY, &memcpy_dma_irq_handler, -+ NULL, EVENTQ_1); -+ -+ /* Handle Failure condition here */ -+ if (edma_channel < 0) { -+ __E("Error in requesting Master channel = 0x%x\n", -+ edma_channel); -+ retval = edma_channel; -+ break; -+ } -+ -+ edma_stop(edma_channel); -+ -+ init_completion(&edmacompletion); -+ -+ edma_set_src(edma_channel, -+ (dma_addr_t) edmaparams.src, -+ edmaparams.srcmode, edmaparams.srcfifowidth); -+ -+ edma_set_dest(edma_channel, -+ (dma_addr_t) edmaparams.dst, -+ edmaparams.dstmode, edmaparams.dstfifowidth); -+ -+ edma_set_src_index(edma_channel, edmaparams.srcbidx, -+ edmaparams.srccidx); -+ edma_set_dest_index(edma_channel, edmaparams.dstbidx, -+ edmaparams.dstcidx); -+ -+ edma_set_transfer_params(edma_channel, -+ edmaparams.acnt, -+ edmaparams.bcnt, -+ edmaparams.ccnt, -+ edmaparams.bcntrld, edmaparams.syncmode); -+ -+ edma_read_slot(edma_channel, &p_ram); -+ p_ram.opt |= TCINTEN | EDMA_TCC(edma_channel); -+ edma_write_slot(edma_channel, &p_ram); -+ -+ edma_start(edma_channel); -+ wait_for_completion(&edmacompletion); -+ edma_stop(edma_channel); -+ edma_free_channel(edma_channel); -+ break; -+ -+ default: -+ __E("Unknown ioctl received = %d.\n", cmd); -+ retval = -EINVAL; -+ break; - } -- return 0; -+ -+ return retval; - } - - --static int open (struct inode *inode, struct file *filp) -+static int open(struct inode *inode, struct file *filp) - { -- __D ("open: called.\n"); -- return 0; -+ __D("open: called.\n"); -+ return 0; - } - - --stat |
