2023-01-05 09:27:16

by MD Danish Anwar

[permalink] [raw]
Subject: [PATCH v13 2/6] remoteproc: pru: Add enum for PRU Core Identifiers.

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 <[email protected]>
Reviewed-by: Roger Quadros <[email protected]>
---
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 <[email protected]>
+ */
+
+#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


2023-01-05 21:14:39

by Mathieu Poirier

[permalink] [raw]
Subject: Re: [PATCH v13 2/6] remoteproc: pru: Add enum for PRU Core Identifiers.

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 <[email protected]>
> Reviewed-by: Roger Quadros <[email protected]>
> ---
> 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 <[email protected]>
> + */
> +
> +#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
>

2023-01-06 12:09:49

by Anwar, Md Danish

[permalink] [raw]
Subject: Re: [EXTERNAL] Re: [PATCH v13 2/6] remoteproc: pru: Add enum for PRU Core Identifiers.

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 <[email protected]>
>> Reviewed-by: Roger Quadros <[email protected]>
>> ---
>> 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 <[email protected]>
>> + */
>> +
>> +#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
>>