* [PATCH v4 0/9] ARM: davinci: remoteproc support [not found] <1355967254-16726-1-git-send-email-rtivy@ti.com> @ 2012-12-21 22:09 ` Tivy, Robert 2013-01-04 12:10 ` Sekhar Nori [not found] ` <1355967254-16726-2-git-send-email-rtivy@ti.com> ` (5 subsequent siblings) 6 siblings, 1 reply; 9+ messages in thread From: Tivy, Robert @ 2012-12-21 22:09 UTC (permalink / raw) To: linux-arm-kernel I have uploaded the commits corresponding to this patch set to a public repo on GitHub, forked from Linus' v3.7-rc2 tag on his "linux" repo. These commits are on a branch named "davinci-remoteproc", here is the URL: https://github.com/RTivy/linux/tree/davinci-remoteproc This should make for an easier review of the changes. Regards, - Rob > -----Original Message----- > From: Tivy, Robert > Sent: Wednesday, December 19, 2012 5:34 PM > To: davinci-linux-open-source at linux.davincidsp.com; linux-arm- > kernel at lists.infradead.org; Nori, Sekhar; ohad at wizery.com; > rob at landley.net; linux-doc at vger.kernel.org; Ring, Chris; Grosen, Mark > Cc: Tivy, Robert > Subject: [PATCH v4 0/9] ARM: davinci: remoteproc support > > This patch series adds remoteproc support for OMAP-L138, along with > needed > supporting mach-davinci infrastructure. > > Some notes for reviewers... > > DOCUMENTATION maintainers: patch 6/9 in this series contains a change > to > kernel-parameters.txt that adds a description for a new kernel command- > line > parameter, along with the code that defines the new kernel command-line > parameter. You are, of course, free to look at the whole series, but > only > patch 6/9 is of particular interest. > > Robert Tivy (9): > ARM: davinci: da850 board: change pr_warning() to pr_warn() > ARM: davinci: devices-da8xx.c: change pr_warning() to pr_warn() > ARM: davinci: psc.c: change pr_warning() to pr_warn() > ARM: davinci: da850: added pll0_sysclk1 for DSP usage > New reset assert/deassert functionality/API provided for Davinci DSP > Remoteproc platform device creation data/code for DA8xx devices > Added .reserve function and rproc platform registration > Added dsp clock definition, keyed to "davinci-rproc.0" > Remoteproc driver support for OMAP-L138 DSP > > Documentation/kernel-parameters.txt | 7 + > arch/arm/mach-davinci/board-da850-evm.c | 110 ++++----- > arch/arm/mach-davinci/board-omapl138-hawk.c | 38 +-- > arch/arm/mach-davinci/clock.c | 31 +++ > arch/arm/mach-davinci/clock.h | 3 + > arch/arm/mach-davinci/da850.c | 18 ++ > arch/arm/mach-davinci/devices-da8xx.c | 93 +++++++- > arch/arm/mach-davinci/include/mach/clock.h | 3 + > arch/arm/mach-davinci/include/mach/da8xx.h | 6 + > arch/arm/mach-davinci/include/mach/psc.h | 3 + > arch/arm/mach-davinci/psc.c | 32 ++- > drivers/remoteproc/Kconfig | 20 ++ > drivers/remoteproc/Makefile | 1 + > drivers/remoteproc/davinci_remoteproc.c | 303 > ++++++++++++++++++++++++ > include/linux/platform_data/da8xx-remoteproc.h | 33 +++ > 15 files changed, 617 insertions(+), 84 deletions(-) > create mode 100644 drivers/remoteproc/davinci_remoteproc.c > create mode 100644 include/linux/platform_data/da8xx-remoteproc.h > > -- > 1.7.9.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 0/9] ARM: davinci: remoteproc support 2012-12-21 22:09 ` [PATCH v4 0/9] ARM: davinci: remoteproc support Tivy, Robert @ 2013-01-04 12:10 ` Sekhar Nori 2013-01-11 0:48 ` Tivy, Robert 0 siblings, 1 reply; 9+ messages in thread From: Sekhar Nori @ 2013-01-04 12:10 UTC (permalink / raw) To: linux-arm-kernel On 12/22/2012 3:39 AM, Tivy, Robert wrote: > I have uploaded the commits corresponding to this patch set to a public repo on GitHub, forked from Linus' v3.7-rc2 tag on his "linux" repo. These commits are on a branch named "davinci-remoteproc", here is the URL: https://github.com/RTivy/linux/tree/davinci-remoteproc > > This should make for an easier review of the changes. Thanks. Is there a sample application we could use to exercise the driver? Looks like we need some firmware to load on the DSP too. Thanks, Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 0/9] ARM: davinci: remoteproc support 2013-01-04 12:10 ` Sekhar Nori @ 2013-01-11 0:48 ` Tivy, Robert 0 siblings, 0 replies; 9+ messages in thread From: Tivy, Robert @ 2013-01-11 0:48 UTC (permalink / raw) To: linux-arm-kernel Sekhar, At this point we have some examples/tests that exercise the davinci remoteproc framework using a socket layer that exists only in personal repos. Ohad created rpmsg-based socket support for the kernel using vrings, and along with SYS/BIOS-based content developed by my TI team and others, it allows a SysLink-like MessageQ implementation to be used between the DSP and Linux user apps. These apps consist of a Linux app communicating with the DSP firmware file loaded by remoteproc. They rely on the rpmsg-based socket support, so they're of no use without that. What I can do, for now, is provide a simple DSP firmware file that prints a "Hello, world" to a SYS/BIOS trace buffer that is known to remoteproc, and the remoteproc driver can be used to display the trace buffer contents through debugfs. However, this won't exercise the run-time component of davinci remoteproc (which is really just interrupt support between the DSP and ARM). I will do this and upload the firmware file and a README to my GitHub repo. I will provide just the firmware binary since the capability to build it from source relies on SYS/BIOS, TI IPC, and XDC packages/installations. Regards, - Rob > -----Original Message----- > From: Nori, Sekhar > Sent: Friday, January 04, 2013 4:11 AM > To: Tivy, Robert > Cc: davinci-linux-open-source at linux.davincidsp.com; linux-arm- > kernel at lists.infradead.org; ohad at wizery.com; rob at landley.net; linux- > doc at vger.kernel.org; Ring, Chris; Grosen, Mark > Subject: Re: [PATCH v4 0/9] ARM: davinci: remoteproc support > > On 12/22/2012 3:39 AM, Tivy, Robert wrote: > > I have uploaded the commits corresponding to this patch set to a > public repo on GitHub, forked from Linus' v3.7-rc2 tag on his "linux" > repo. These commits are on a branch named "davinci-remoteproc", here > is the URL: https://github.com/RTivy/linux/tree/davinci-remoteproc > > > > This should make for an easier review of the changes. > > Thanks. Is there a sample application we could use to exercise the > driver? Looks like we need some firmware to load on the DSP too. > > Thanks, > Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1355967254-16726-2-git-send-email-rtivy@ti.com>]
* [PATCH v4 1/9] ARM: davinci: da850 board: change pr_warning() to pr_warn() [not found] ` <1355967254-16726-2-git-send-email-rtivy@ti.com> @ 2013-01-04 9:01 ` Sekhar Nori 0 siblings, 0 replies; 9+ messages in thread From: Sekhar Nori @ 2013-01-04 9:01 UTC (permalink / raw) To: linux-arm-kernel On 12/20/2012 7:04 AM, Robert Tivy wrote: > Also, while modifying those pr_warning() calls I changed hardcoded > function names to use '"%s:", __func__' instead, and converted acronym > usage to upper case > > Signed-off-by: Robert Tivy <rtivy@ti.com> > --- > Clean up files that will be otherwise modified in subsequent patch. > > Applies to v3.7-rc2 tag (commit 6f0c0580b70c89094b3422ba81118c7b959c7556) of > Linus' mainline kernel at git.kernel.org. This doesnt apply to the latest (v3.8-rc2) kernel anymore. Can you please rebase and resend? Nit: Patch description should be complete even when read without the subject line. Please fix this as well when reposting. Looks fine otherwise. Thanks, Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1355967254-16726-3-git-send-email-rtivy@ti.com>]
* [PATCH v4 2/9] ARM: davinci: devices-da8xx.c: change pr_warning() to pr_warn() [not found] ` <1355967254-16726-3-git-send-email-rtivy@ti.com> @ 2013-01-04 9:15 ` Sekhar Nori 0 siblings, 0 replies; 9+ messages in thread From: Sekhar Nori @ 2013-01-04 9:15 UTC (permalink / raw) To: linux-arm-kernel On 12/20/2012 7:04 AM, Robert Tivy wrote: > Signed-off-by: Robert Tivy <rtivy@ti.com> Need a description even for trivial patches and even if its mostly a reworded subject line. Thanks, Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1355967254-16726-6-git-send-email-rtivy@ti.com>]
* [PATCH v4 5/9] ARM: davinci: New reset functionality/API provided for Davinci DSP [not found] ` <1355967254-16726-6-git-send-email-rtivy@ti.com> @ 2013-01-04 11:16 ` Sekhar Nori 0 siblings, 0 replies; 9+ messages in thread From: Sekhar Nori @ 2013-01-04 11:16 UTC (permalink / raw) To: linux-arm-kernel On 12/20/2012 7:04 AM, Robert Tivy wrote: > Since there is no general "reset" support for SoC devices, and since the > remoteproc driver needs explicit control of the DSP's reset line, a new > Davinci-specific API is added. You should probably note here that the private API will disappear with DT migration and provide a link to the latest discussions on reset handling in DT case. > > Signed-off-by: Robert Tivy <rtivy@ti.com> > --- > arch/arm/mach-davinci/clock.c | 31 ++++++++++++++++++++++++++++ > arch/arm/mach-davinci/clock.h | 3 +++ > arch/arm/mach-davinci/include/mach/clock.h | 3 +++ > arch/arm/mach-davinci/include/mach/psc.h | 3 +++ > arch/arm/mach-davinci/psc.c | 28 +++++++++++++++++++++++++ > 5 files changed, 68 insertions(+) > > diff --git a/arch/arm/mach-davinci/clock.c b/arch/arm/mach-davinci/clock.c > index 34668ea..d50664f 100644 > --- a/arch/arm/mach-davinci/clock.c > +++ b/arch/arm/mach-davinci/clock.c > @@ -52,6 +52,37 @@ static void __clk_disable(struct clk *clk) > __clk_disable(clk->parent); > } > > +int davinci_clk_reset(struct clk *clk, bool reset) > +{ > + unsigned long flags; > + > + if (clk == NULL || IS_ERR(clk)) > + return -EINVAL; > + > + spin_lock_irqsave(&clockfw_lock, flags); > + if (clk->flags & CLK_PSC) > + davinci_psc_reset_config(clk->domain, clk->gpsc, clk->lpsc, > + reset, clk->flags); Not sure if you really need to pass flags down to this function. You could straightaway check for (clk->flags & PSC_LRST) here. > + spin_unlock_irqrestore(&clockfw_lock, flags); > + > + return 0; > +} > +EXPORT_SYMBOL(davinci_clk_reset); > + > +int davinci_reset_assert(struct clk *clk) davinci_clk_reset_assert for consistency? > +{ > + BUG_ON(!clk->reset); Triggering a bug is too harsh. No need to crash without even allowing to save data. Just return error. > + return clk->reset(clk, true); > +} > +EXPORT_SYMBOL(davinci_reset_assert); > + > +int davinci_reset_deassert(struct clk *clk) > +{ > + BUG_ON(!clk->reset); > + return clk->reset(clk, false); > +} > +EXPORT_SYMBOL(davinci_reset_deassert); > + > int clk_enable(struct clk *clk) > { > unsigned long flags; > diff --git a/arch/arm/mach-davinci/clock.h b/arch/arm/mach-davinci/clock.h > index 46f0f1b..8694b39 100644 > --- a/arch/arm/mach-davinci/clock.h > +++ b/arch/arm/mach-davinci/clock.h > @@ -103,6 +103,7 @@ struct clk { > unsigned long (*recalc) (struct clk *); > int (*set_rate) (struct clk *clk, unsigned long rate); > int (*round_rate) (struct clk *clk, unsigned long rate); > + int (*reset) (struct clk *clk, bool reset); > }; > > /* Clock flags: SoC-specific flags start at BIT(16) */ > @@ -112,6 +113,7 @@ struct clk { > #define PRE_PLL BIT(4) /* source is before PLL mult/div */ > #define PSC_SWRSTDISABLE BIT(5) /* Disable state is SwRstDisable */ > #define PSC_FORCE BIT(6) /* Force module state transtition */ > +#define PSC_LRST BIT(8) /* Use local reset on enable/disable */ > > #define CLK(dev, con, ck) \ > { \ > @@ -126,6 +128,7 @@ int davinci_set_pllrate(struct pll_data *pll, unsigned int prediv, > int davinci_set_sysclk_rate(struct clk *clk, unsigned long rate); > int davinci_set_refclk_rate(unsigned long rate); > int davinci_simple_set_rate(struct clk *clk, unsigned long rate); > +int davinci_clk_reset(struct clk *clk, bool reset); > > extern struct platform_device davinci_wdt_device; > extern void davinci_watchdog_reset(struct platform_device *); > diff --git a/arch/arm/mach-davinci/include/mach/clock.h b/arch/arm/mach-davinci/include/mach/clock.h > index a3b0402..cdb8f2f 100644 > --- a/arch/arm/mach-davinci/include/mach/clock.h > +++ b/arch/arm/mach-davinci/include/mach/clock.h > @@ -18,4 +18,7 @@ struct clk; > extern int clk_register(struct clk *clk); > extern void clk_unregister(struct clk *clk); > > +int davinci_reset_assert(struct clk *c); > +int davinci_reset_deassert(struct clk *c); > + > #endif > diff --git a/arch/arm/mach-davinci/include/mach/psc.h b/arch/arm/mach-davinci/include/mach/psc.h > index 40a0027..21746bd 100644 > --- a/arch/arm/mach-davinci/include/mach/psc.h > +++ b/arch/arm/mach-davinci/include/mach/psc.h > @@ -246,6 +246,7 @@ > > #define MDSTAT_STATE_MASK 0x3f > #define PDSTAT_STATE_MASK 0x1f > +#define MDCTL_LRST BIT(8) > #define MDCTL_FORCE BIT(31) > #define PDCTL_NEXT BIT(0) > #define PDCTL_EPCGOOD BIT(8) > @@ -253,6 +254,8 @@ > #ifndef __ASSEMBLER__ > > extern int davinci_psc_is_clk_active(unsigned int ctlr, unsigned int id); > +extern void davinci_psc_reset_config(unsigned int domain, unsigned int ctlr, > + unsigned int id, bool reset, u32 flags); > extern void davinci_psc_config(unsigned int domain, unsigned int ctlr, > unsigned int id, bool enable, u32 flags); > > diff --git a/arch/arm/mach-davinci/psc.c b/arch/arm/mach-davinci/psc.c > index bddaba9..a2a33d4 100644 > --- a/arch/arm/mach-davinci/psc.c > +++ b/arch/arm/mach-davinci/psc.c > @@ -48,6 +48,34 @@ int __init davinci_psc_is_clk_active(unsigned int ctlr, unsigned int id) > return mdstat & BIT(12); > } > > +/* Control "reset" line associated with PSC domain */ > +void davinci_psc_reset_config(unsigned int domain, unsigned int ctlr, > + unsigned int id, bool reset, u32 flags) You don't use domain in this function. No need to pass it. Thanks, Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1355967254-16726-7-git-send-email-rtivy@ti.com>]
* [PATCH v4 6/9] ARM: davinci: Remoteproc platform device creation data/code [not found] ` <1355967254-16726-7-git-send-email-rtivy@ti.com> @ 2013-01-04 11:45 ` Sekhar Nori 0 siblings, 0 replies; 9+ messages in thread From: Sekhar Nori @ 2013-01-04 11:45 UTC (permalink / raw) To: linux-arm-kernel On 12/20/2012 7:04 AM, Robert Tivy wrote: > Contains CMA-based reservation of physical memory block. A new kernel > command-line parameter has been added to allow boot-time specification of > physical memory block. > > Signed-off-by: Robert Tivy <rtivy@ti.com> The driver patch should precede platform data creation in the patch series since it is more logical to review that way. > --- > Documentation/kernel-parameters.txt | 7 ++ > arch/arm/mach-davinci/devices-da8xx.c | 87 +++++++++++++++++++++++- > arch/arm/mach-davinci/include/mach/da8xx.h | 6 ++ > include/linux/platform_data/da8xx-remoteproc.h | 33 +++++++++ > 4 files changed, 132 insertions(+), 1 deletion(-) > create mode 100644 include/linux/platform_data/da8xx-remoteproc.h > > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt > index 9776f06..87efcc6 100644 > --- a/Documentation/kernel-parameters.txt > +++ b/Documentation/kernel-parameters.txt > @@ -44,6 +44,7 @@ parameter is applicable: > AVR32 AVR32 architecture is enabled. > AX25 Appropriate AX.25 support is enabled. > BLACKFIN Blackfin architecture is enabled. > + CMA Contiguous Memory Area support is enabled. > DRM Direct Rendering Management support is enabled. > DYNAMIC_DEBUG Build in debug messages and enable them at runtime > EDD BIOS Enhanced Disk Drive Services (EDD) is enabled > @@ -2579,6 +2580,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. > Useful for devices that are detected asynchronously > (e.g. USB and MMC devices). > > + rproc_mem=nn[KMG][@address] > + [KNL,ARM,CMA] Remoteproc physical memory block. > + Memory area to be used by remote processor image, > + managed by CMA. Suitable defaults exist if not > + specified. > + > rw [KNL] Mount root device read-write on boot > > S [KNL] Run init in single mode > diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c > index 466b70c..aa151df 100644 > --- a/arch/arm/mach-davinci/devices-da8xx.c > +++ b/arch/arm/mach-davinci/devices-da8xx.c > @@ -12,10 +12,13 @@ > */ > #include <linux/init.h> > #include <linux/platform_device.h> > -#include <linux/dma-mapping.h> > +#ifdef CONFIG_CMA > +#include <linux/dma-contiguous.h> > +#endif Ifdefs around includes are typically not required. Do you hit any issue if you don't have them? > #include <linux/serial_8250.h> > #include <linux/ahci_platform.h> > #include <linux/clk.h> > +#include <linux/platform_data/da8xx-remoteproc.h> > > #include <mach/cputype.h> > #include <mach/common.h> > @@ -655,6 +658,88 @@ int __init da850_register_mmcsd1(struct davinci_mmc_config *config) > } > #endif > > +static struct resource da8xx_rproc_resources[] = { > + { /* DSP boot address */ > + .start = DA8XX_SYSCFG0_BASE + DA8XX_HOST1CFG_REG, > + .end = DA8XX_SYSCFG0_BASE + DA8XX_HOST1CFG_REG, DA8XX_SYSCFG0_BASE + DA8XX_HOST1CFG_REG + 3? > + .flags = IORESOURCE_MEM, > + }, > + { /* dsp irq */ > + .start = IRQ_DA8XX_CHIPINT0, > + .end = IRQ_DA8XX_CHIPINT0, > + .flags = IORESOURCE_IRQ, > + }, > +}; > + > +static struct da8xx_rproc_pdata rproc_pdata = { > + .name = "dsp", > + .firmware = "da8xx-dsp.xe674", I thought we agreed not have firmware name in platform data. > +}; > + > +static struct platform_device da8xx_dsp = { > + .name = "davinci-rproc", > + .id = 0, > + .dev = { > + .platform_data = &rproc_pdata, > + .coherent_dma_mask = DMA_BIT_MASK(32), > + }, > + .num_resources = ARRAY_SIZE(da8xx_rproc_resources), > + .resource = da8xx_rproc_resources, > +}; > + > +#ifdef CONFIG_CMA #if IS_ENABLED(DAVINCI_PROC) (or the appropriate config symbol) is more correct here. CMA could be enabled for other reasons. > + > +#define DAVINCI_DSP_RPROC_CMA_BASE 0xc3000000 > +#define DAVINCI_DSP_RPROC_CMA_SIZE 0x01000000 > + > +static phys_addr_t rproc_base __initdata = DAVINCI_DSP_RPROC_CMA_BASE; > +static unsigned long rproc_size __initdata = DAVINCI_DSP_RPROC_CMA_SIZE; Please get rid of these hardcoded defines. Dont want to have them even as back-up if kernel parameters are not passed. There is absolutely no way this will work for all users. > + > +static int __init early_rproc_mem(char *p) > +{ > + char *endp; > + > + if (p == NULL) > + return 0; > + > + rproc_size = memparse(p, &endp); > + if (*endp == '@') > + rproc_base = memparse(endp + 1, NULL); > + > + return 0; > +} > +early_param("rproc_mem", early_rproc_mem); > + > +void __init da8xx_rproc_reserve_cma(void) > +{ > + int ret; > + > + pr_info("%s: reserving 0x%lx @ 0x%lx...\n", > + __func__, rproc_size, (unsigned long)rproc_base); > + > + ret = dma_declare_contiguous(&da8xx_dsp.dev, rproc_size, rproc_base, 0); > + if (ret) > + pr_err("%s: dma_declare_contiguous failed %d\n", __func__, ret); > +} > + > +#endif > + > +int __init da8xx_register_rproc(void) > +{ > + int ret; > + > + ret = platform_device_register(&da8xx_dsp); > + if (ret) { > + pr_err("%s: platform_device_register: %d\n", __func__, ret); > + > + return ret; > + } > + > + dev_set_name(&da8xx_dsp.dev, "%s.%d", da8xx_dsp.name, da8xx_dsp.id); Why is this needed? This should have already been done by platform_device_register() call above. > + > + return 0; > +}; > + > static struct resource da8xx_rtc_resources[] = { > { > .start = DA8XX_RTC_BASE, > diff --git a/arch/arm/mach-davinci/include/mach/da8xx.h b/arch/arm/mach-davinci/include/mach/da8xx.h > index aaccdc4..331fc28 100644 > --- a/arch/arm/mach-davinci/include/mach/da8xx.h > +++ b/arch/arm/mach-davinci/include/mach/da8xx.h > @@ -53,6 +53,7 @@ extern unsigned int da850_max_speed; > #define DA8XX_SYSCFG0_BASE (IO_PHYS + 0x14000) > #define DA8XX_SYSCFG0_VIRT(x) (da8xx_syscfg0_base + (x)) > #define DA8XX_JTAG_ID_REG 0x18 > +#define DA8XX_HOST1CFG_REG 0x44 > #define DA8XX_CFGCHIP0_REG 0x17c > #define DA8XX_CFGCHIP2_REG 0x184 > #define DA8XX_CFGCHIP3_REG 0x188 > @@ -102,6 +103,11 @@ int __init da850_register_vpif_display > int __init da850_register_vpif_capture > (struct vpif_capture_config *capture_config); > void da8xx_restart(char mode, const char *cmd); > +#ifdef CONFIG_CMA > +void __init da8xx_rproc_reserve_cma(void); > +#endif You dont typically use ifdefs around function declaration. You can define this to be a function with empty implementation if remote proc is not used. > +int da8xx_register_rproc(void); > + > > extern struct platform_device da8xx_serial_device; > extern struct emac_platform_data da8xx_emac_pdata; > diff --git a/include/linux/platform_data/da8xx-remoteproc.h b/include/linux/platform_data/da8xx-remoteproc.h > new file mode 100644 > index 0000000..50e8c55 > --- /dev/null > +++ b/include/linux/platform_data/da8xx-remoteproc.h > @@ -0,0 +1,33 @@ > +/* > + * Remote Processor > + * > + * Copyright (C) 2011-2012 Texas Instruments, Inc. > + * > + * 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. > + */ > + > +#ifndef __DA8XX_REMOTEPROC_H__ > +#define __DA8XX_REMOTEPROC_H__ > + > +#include <linux/remoteproc.h> > + > +/** > + * struct da8xx_rproc_pdata - da8xx remoteproc's platform data > + * @name: the remoteproc's name > + * @firmware: name of firmware file to load > + * @ops: start/stop rproc handlers > + */ > +struct da8xx_rproc_pdata { > + const char *name; > + const char *firmware; > + const struct rproc_ops *ops; > +}; This file should be added a part of driver patch. Thanks, Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1355967254-16726-8-git-send-email-rtivy@ti.com>]
* [PATCH v4 7/9] ARM: davinci: da850 board: Added .reserve function and rproc platform registration [not found] ` <1355967254-16726-8-git-send-email-rtivy@ti.com> @ 2013-01-04 11:47 ` Sekhar Nori 0 siblings, 0 replies; 9+ messages in thread From: Sekhar Nori @ 2013-01-04 11:47 UTC (permalink / raw) To: linux-arm-kernel On 12/20/2012 7:04 AM, Robert Tivy wrote: > Signed-off-by: Robert Tivy <rtivy@ti.com> > --- > arch/arm/mach-davinci/board-da850-evm.c | 8 ++++++++ > arch/arm/mach-davinci/board-omapl138-hawk.c | 8 ++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c > index b7cfb3e..0c959e9 100644 > --- a/arch/arm/mach-davinci/board-da850-evm.c > +++ b/arch/arm/mach-davinci/board-da850-evm.c > @@ -1550,6 +1550,11 @@ static __init void da850_evm_init(void) > pr_warn("%s: SATA registration failed: %d\n", __func__, ret); > > da850_evm_setup_mac_addr(); > + > + ret = da8xx_register_rproc(); > + if (ret) > + pr_warn("%s: dsp/rproc registration failed: %d\n", > + __func__, ret); > } > > #ifdef CONFIG_SERIAL_8250_CONSOLE > @@ -1577,4 +1582,7 @@ MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM") > .init_late = davinci_init_late, > .dma_zone_size = SZ_128M, > .restart = da8xx_restart, > +#ifdef CONFIG_CMA > + .reserve = da8xx_rproc_reserve_cma, > +#endif Please get rid of this ifdef as well. You can have an empty function if remote proc is not enabled in the build. Thanks, Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <1355967254-16726-9-git-send-email-rtivy@ti.com>]
* [PATCH v4 8/9] ARM: davinci: da850: Added dsp clock definition, keyed to "davinci-rproc.0" [not found] ` <1355967254-16726-9-git-send-email-rtivy@ti.com> @ 2013-01-04 11:50 ` Sekhar Nori 0 siblings, 0 replies; 9+ messages in thread From: Sekhar Nori @ 2013-01-04 11:50 UTC (permalink / raw) To: linux-arm-kernel On 12/20/2012 7:04 AM, Robert Tivy wrote: > Signed-off-by: Robert Tivy <rtivy@ti.com> > --- > arch/arm/mach-davinci/da850.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c > index 31ff65a..afc814f 100644 > --- a/arch/arm/mach-davinci/da850.c > +++ b/arch/arm/mach-davinci/da850.c > @@ -369,6 +369,15 @@ static struct clk sata_clk = { > .flags = PSC_FORCE, > }; > > +static struct clk dsp_clk = { > + .name = "dsp", > + .parent = &pll0_sysclk1, > + .domain = DAVINCI_GPSC_DSPDOMAIN, > + .lpsc = DA8XX_LPSC0_GEM, > + .flags = PSC_LRST, > + .reset = davinci_clk_reset, Instead of each clock node initializing the reset function, this can be once in davinci_clk_init() whenever PSC_LRST is set in flags. Thanks, Sekhar ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-01-11 0:48 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1355967254-16726-1-git-send-email-rtivy@ti.com> 2012-12-21 22:09 ` [PATCH v4 0/9] ARM: davinci: remoteproc support Tivy, Robert 2013-01-04 12:10 ` Sekhar Nori 2013-01-11 0:48 ` Tivy, Robert [not found] ` <1355967254-16726-2-git-send-email-rtivy@ti.com> 2013-01-04 9:01 ` [PATCH v4 1/9] ARM: davinci: da850 board: change pr_warning() to pr_warn() Sekhar Nori [not found] ` <1355967254-16726-3-git-send-email-rtivy@ti.com> 2013-01-04 9:15 ` [PATCH v4 2/9] ARM: davinci: devices-da8xx.c: " Sekhar Nori [not found] ` <1355967254-16726-6-git-send-email-rtivy@ti.com> 2013-01-04 11:16 ` [PATCH v4 5/9] ARM: davinci: New reset functionality/API provided for Davinci DSP Sekhar Nori [not found] ` <1355967254-16726-7-git-send-email-rtivy@ti.com> 2013-01-04 11:45 ` [PATCH v4 6/9] ARM: davinci: Remoteproc platform device creation data/code Sekhar Nori [not found] ` <1355967254-16726-8-git-send-email-rtivy@ti.com> 2013-01-04 11:47 ` [PATCH v4 7/9] ARM: davinci: da850 board: Added .reserve function and rproc platform registration Sekhar Nori [not found] ` <1355967254-16726-9-git-send-email-rtivy@ti.com> 2013-01-04 11:50 ` [PATCH v4 8/9] ARM: davinci: da850: Added dsp clock definition, keyed to "davinci-rproc.0" Sekhar Nori
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).