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 +++++++++++++++++++++++++++++++
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
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 >>
© 2016 - 2025 Red Hat, Inc.