Message ID | 20230105092149.686201-3-danishanwar@ti.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Introduce PRU remoteproc consumer API | expand |
On Thu, Jan 05, 2023 at 02:51:45PM +0530, MD Danish Anwar wrote: > Introducing enum pruss_pru_id for PRU Core Identifiers. > PRUSS_PRU0 indicates PRU Core 0. > PRUSS_PRU1 indicates PRU Core 1. > PRUSS_NUM_PRUS indicates the total number of PRU Cores. > > Signed-off-by: MD Danish Anwar <danishanwar@ti.com> > Reviewed-by: Roger Quadros <rogerq@kernel.org> > --- > drivers/remoteproc/pru_rproc.c | 7 ++++--- > include/linux/pruss.h | 31 +++++++++++++++++++++++++++++++ Please add this under include/linux/remoteproc/ to avoid adding an orphan file under include/linux/. Thanks, Mathieu > 2 files changed, 35 insertions(+), 3 deletions(-) > create mode 100644 include/linux/pruss.h > > diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c > index 128bf9912f2c..a1a208b31846 100644 > --- a/drivers/remoteproc/pru_rproc.c > +++ b/drivers/remoteproc/pru_rproc.c > @@ -16,6 +16,7 @@ > #include <linux/module.h> > #include <linux/of_device.h> > #include <linux/of_irq.h> > +#include <linux/pruss.h> > #include <linux/pruss_driver.h> > #include <linux/remoteproc.h> > > @@ -438,7 +439,7 @@ static void *pru_d_da_to_va(struct pru_rproc *pru, u32 da, size_t len) > dram0 = pruss->mem_regions[PRUSS_MEM_DRAM0]; > dram1 = pruss->mem_regions[PRUSS_MEM_DRAM1]; > /* PRU1 has its local RAM addresses reversed */ > - if (pru->id == 1) > + if (pru->id == PRUSS_PRU1) > swap(dram0, dram1); > shrd_ram = pruss->mem_regions[PRUSS_MEM_SHRD_RAM2]; > > @@ -747,14 +748,14 @@ static int pru_rproc_set_id(struct pru_rproc *pru) > case RTU0_IRAM_ADDR_MASK: > fallthrough; > case PRU0_IRAM_ADDR_MASK: > - pru->id = 0; > + pru->id = PRUSS_PRU0; > break; > case TX_PRU1_IRAM_ADDR_MASK: > fallthrough; > case RTU1_IRAM_ADDR_MASK: > fallthrough; > case PRU1_IRAM_ADDR_MASK: > - pru->id = 1; > + pru->id = PRUSS_PRU1; > break; > default: > ret = -EINVAL; > diff --git a/include/linux/pruss.h b/include/linux/pruss.h > new file mode 100644 > index 000000000000..e94a81e97a4c > --- /dev/null > +++ b/include/linux/pruss.h > @@ -0,0 +1,31 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +/** > + * PRU-ICSS Subsystem user interfaces > + * > + * Copyright (C) 2015-2022 Texas Instruments Incorporated - http://www.ti.com > + * Suman Anna <s-anna@ti.com> > + */ > + > +#ifndef __LINUX_PRUSS_H > +#define __LINUX_PRUSS_H > + > +#include <linux/device.h> > +#include <linux/types.h> > + > +#define PRU_RPROC_DRVNAME "pru-rproc" > + > +/** > + * enum pruss_pru_id - PRU core identifiers > + * @PRUSS_PRU0: PRU Core 0. > + * @PRUSS_PRU1: PRU Core 1. > + * @PRUSS_NUM_PRUS: Total number of PRU Cores available. > + * > + */ > + > +enum pruss_pru_id { > + PRUSS_PRU0 = 0, > + PRUSS_PRU1, > + PRUSS_NUM_PRUS, > +}; > + > +#endif /* __LINUX_PRUSS_H */ > -- > 2.25.1 >
Hi Mathieu, On 06/01/23 01:53, Mathieu Poirier wrote: > On Thu, Jan 05, 2023 at 02:51:45PM +0530, MD Danish Anwar wrote: >> Introducing enum pruss_pru_id for PRU Core Identifiers. >> PRUSS_PRU0 indicates PRU Core 0. >> PRUSS_PRU1 indicates PRU Core 1. >> PRUSS_NUM_PRUS indicates the total number of PRU Cores. >> >> Signed-off-by: MD Danish Anwar <danishanwar@ti.com> >> Reviewed-by: Roger Quadros <rogerq@kernel.org> >> --- >> drivers/remoteproc/pru_rproc.c | 7 ++++--- >> include/linux/pruss.h | 31 +++++++++++++++++++++++++++++++ > > Please add this under include/linux/remoteproc/ to avoid adding an orphan file > under include/linux/. > > Thanks, > Mathieu > Sure, I will remove this header file from here and add it under include/linux/remoteproc/ . Thanks, Danish. >> 2 files changed, 35 insertions(+), 3 deletions(-) >> create mode 100644 include/linux/pruss.h >> >> diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c >> index 128bf9912f2c..a1a208b31846 100644 >> --- a/drivers/remoteproc/pru_rproc.c >> +++ b/drivers/remoteproc/pru_rproc.c >> @@ -16,6 +16,7 @@ >> #include <linux/module.h> >> #include <linux/of_device.h> >> #include <linux/of_irq.h> >> +#include <linux/pruss.h> >> #include <linux/pruss_driver.h> >> #include <linux/remoteproc.h> >> >> @@ -438,7 +439,7 @@ static void *pru_d_da_to_va(struct pru_rproc *pru, u32 da, size_t len) >> dram0 = pruss->mem_regions[PRUSS_MEM_DRAM0]; >> dram1 = pruss->mem_regions[PRUSS_MEM_DRAM1]; >> /* PRU1 has its local RAM addresses reversed */ >> - if (pru->id == 1) >> + if (pru->id == PRUSS_PRU1) >> swap(dram0, dram1); >> shrd_ram = pruss->mem_regions[PRUSS_MEM_SHRD_RAM2]; >> >> @@ -747,14 +748,14 @@ static int pru_rproc_set_id(struct pru_rproc *pru) >> case RTU0_IRAM_ADDR_MASK: >> fallthrough; >> case PRU0_IRAM_ADDR_MASK: >> - pru->id = 0; >> + pru->id = PRUSS_PRU0; >> break; >> case TX_PRU1_IRAM_ADDR_MASK: >> fallthrough; >> case RTU1_IRAM_ADDR_MASK: >> fallthrough; >> case PRU1_IRAM_ADDR_MASK: >> - pru->id = 1; >> + pru->id = PRUSS_PRU1; >> break; >> default: >> ret = -EINVAL; >> diff --git a/include/linux/pruss.h b/include/linux/pruss.h >> new file mode 100644 >> index 000000000000..e94a81e97a4c >> --- /dev/null >> +++ b/include/linux/pruss.h >> @@ -0,0 +1,31 @@ >> +/* SPDX-License-Identifier: GPL-2.0-only */ >> +/** >> + * PRU-ICSS Subsystem user interfaces >> + * >> + * Copyright (C) 2015-2022 Texas Instruments Incorporated - http://www.ti.com >> + * Suman Anna <s-anna@ti.com> >> + */ >> + >> +#ifndef __LINUX_PRUSS_H >> +#define __LINUX_PRUSS_H >> + >> +#include <linux/device.h> >> +#include <linux/types.h> >> + >> +#define PRU_RPROC_DRVNAME "pru-rproc" >> + >> +/** >> + * enum pruss_pru_id - PRU core identifiers >> + * @PRUSS_PRU0: PRU Core 0. >> + * @PRUSS_PRU1: PRU Core 1. >> + * @PRUSS_NUM_PRUS: Total number of PRU Cores available. >> + * >> + */ >> + >> +enum pruss_pru_id { >> + PRUSS_PRU0 = 0, >> + PRUSS_PRU1, >> + PRUSS_NUM_PRUS, >> +}; >> + >> +#endif /* __LINUX_PRUSS_H */ >> -- >> 2.25.1 >>
diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c index 128bf9912f2c..a1a208b31846 100644 --- a/drivers/remoteproc/pru_rproc.c +++ b/drivers/remoteproc/pru_rproc.c @@ -16,6 +16,7 @@ #include <linux/module.h> #include <linux/of_device.h> #include <linux/of_irq.h> +#include <linux/pruss.h> #include <linux/pruss_driver.h> #include <linux/remoteproc.h> @@ -438,7 +439,7 @@ static void *pru_d_da_to_va(struct pru_rproc *pru, u32 da, size_t len) dram0 = pruss->mem_regions[PRUSS_MEM_DRAM0]; dram1 = pruss->mem_regions[PRUSS_MEM_DRAM1]; /* PRU1 has its local RAM addresses reversed */ - if (pru->id == 1) + if (pru->id == PRUSS_PRU1) swap(dram0, dram1); shrd_ram = pruss->mem_regions[PRUSS_MEM_SHRD_RAM2]; @@ -747,14 +748,14 @@ static int pru_rproc_set_id(struct pru_rproc *pru) case RTU0_IRAM_ADDR_MASK: fallthrough; case PRU0_IRAM_ADDR_MASK: - pru->id = 0; + pru->id = PRUSS_PRU0; break; case TX_PRU1_IRAM_ADDR_MASK: fallthrough; case RTU1_IRAM_ADDR_MASK: fallthrough; case PRU1_IRAM_ADDR_MASK: - pru->id = 1; + pru->id = PRUSS_PRU1; break; default: ret = -EINVAL; diff --git a/include/linux/pruss.h b/include/linux/pruss.h new file mode 100644 index 000000000000..e94a81e97a4c --- /dev/null +++ b/include/linux/pruss.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/** + * PRU-ICSS Subsystem user interfaces + * + * Copyright (C) 2015-2022 Texas Instruments Incorporated - http://www.ti.com + * Suman Anna <s-anna@ti.com> + */ + +#ifndef __LINUX_PRUSS_H +#define __LINUX_PRUSS_H + +#include <linux/device.h> +#include <linux/types.h> + +#define PRU_RPROC_DRVNAME "pru-rproc" + +/** + * enum pruss_pru_id - PRU core identifiers + * @PRUSS_PRU0: PRU Core 0. + * @PRUSS_PRU1: PRU Core 1. + * @PRUSS_NUM_PRUS: Total number of PRU Cores available. + * + */ + +enum pruss_pru_id { + PRUSS_PRU0 = 0, + PRUSS_PRU1, + PRUSS_NUM_PRUS, +}; + +#endif /* __LINUX_PRUSS_H */