linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP
@ 2019-07-03 19:04 Daniel Baluta
  2019-07-03 19:04 ` [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a Daniel Baluta
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Daniel Baluta @ 2019-07-03 19:04 UTC (permalink / raw)
  To: shawnguo
  Cc: s.hauer, kernel, festevam, linux-imx, aisheng.dong, ulf.hansson,
	linux-arm-kernel, linux-kernel, shengjiu.wang, Daniel Baluta

This patch adds power domain range for MU side b and irqsteer in
preparation for adding support for DSP <-> AP IPC communication.

Daniel Baluta (3):
  firmware: imx: scu-pid: Rename mu PD range to mu_a
  firmware: imx: scu-pd: Add mu_b side PD range
  firmware: imx: scu-pd: Add IRQSTR_DSP PD range

 drivers/firmware/imx/scu-pd.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a
  2019-07-03 19:04 [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta
@ 2019-07-03 19:04 ` Daniel Baluta
  2019-07-18  3:14   ` Aisheng Dong
  2019-07-03 19:04 ` [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range Daniel Baluta
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Daniel Baluta @ 2019-07-03 19:04 UTC (permalink / raw)
  To: shawnguo
  Cc: s.hauer, kernel, festevam, linux-imx, aisheng.dong, ulf.hansson,
	linux-arm-kernel, linux-kernel, shengjiu.wang, Daniel Baluta

The Messaging Unit module enables two processors within the SoC to
communicate and coordinate by passing messages through the MU interface.

MUs have 2 “sides” with independent programming interfaces. Rename
mu PD range to mu_a because it's actually side A of MUs.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 drivers/firmware/imx/scu-pd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
index 480cec69e2c9..950d30238186 100644
--- a/drivers/firmware/imx/scu-pd.c
+++ b/drivers/firmware/imx/scu-pd.c
@@ -92,7 +92,7 @@ static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
 	{ "gpt", IMX_SC_R_GPT_0, 5, true, 0 },
 	{ "kpp", IMX_SC_R_KPP, 1, false, 0 },
 	{ "fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
-	{ "mu", IMX_SC_R_MU_0A, 14, true, 0 },
+	{ "mu_a", IMX_SC_R_MU_0A, 14, true, 0 },
 
 	/* CONN SS */
 	{ "usb", IMX_SC_R_USB_0, 2, true, 0 },
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range
  2019-07-03 19:04 [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta
  2019-07-03 19:04 ` [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a Daniel Baluta
@ 2019-07-03 19:04 ` Daniel Baluta
  2019-07-18  3:29   ` Aisheng Dong
  2019-07-03 19:04 ` [PATCH 3/3] firmware: imx: scu-pd: Add IRQSTR_DSP " Daniel Baluta
  2019-07-17 20:18 ` [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta
  3 siblings, 1 reply; 9+ messages in thread
From: Daniel Baluta @ 2019-07-03 19:04 UTC (permalink / raw)
  To: shawnguo
  Cc: s.hauer, kernel, festevam, linux-imx, aisheng.dong, ulf.hansson,
	linux-arm-kernel, linux-kernel, shengjiu.wang, Daniel Baluta

LSIO subsystem contains 14 MU instances.

5 MUs to communicate between AP <-> SCU
  - side-A PD range managed by AP
  - side-B PD range managed by SCU

9 MUs to communicate between AP <-> M4
  - side-A PD range managed by AP
  - side-B PD range managed by AP

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 drivers/firmware/imx/scu-pd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
index 950d30238186..30adc3104347 100644
--- a/drivers/firmware/imx/scu-pd.c
+++ b/drivers/firmware/imx/scu-pd.c
@@ -93,6 +93,7 @@ static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
 	{ "kpp", IMX_SC_R_KPP, 1, false, 0 },
 	{ "fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
 	{ "mu_a", IMX_SC_R_MU_0A, 14, true, 0 },
+	{ "mu_b", IMX_SC_R_MU_5B, 9, true, 0 },
 
 	/* CONN SS */
 	{ "usb", IMX_SC_R_USB_0, 2, true, 0 },
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] firmware: imx: scu-pd: Add IRQSTR_DSP PD range
  2019-07-03 19:04 [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta
  2019-07-03 19:04 ` [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a Daniel Baluta
  2019-07-03 19:04 ` [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range Daniel Baluta
@ 2019-07-03 19:04 ` Daniel Baluta
  2019-07-18  3:30   ` Aisheng Dong
  2019-07-17 20:18 ` [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta
  3 siblings, 1 reply; 9+ messages in thread
From: Daniel Baluta @ 2019-07-03 19:04 UTC (permalink / raw)
  To: shawnguo
  Cc: s.hauer, kernel, festevam, linux-imx, aisheng.dong, ulf.hansson,
	linux-arm-kernel, linux-kernel, shengjiu.wang, Daniel Baluta

The DSP interrupt steer gathers interrupts from the system
and can be used to steer them to DSP.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 drivers/firmware/imx/scu-pd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
index 30adc3104347..f4d1b55999fc 100644
--- a/drivers/firmware/imx/scu-pd.c
+++ b/drivers/firmware/imx/scu-pd.c
@@ -131,6 +131,7 @@ static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
 	{ "lcd0-pwm", IMX_SC_R_LCD_0_PWM_0, 1, true, 0 },
 	{ "lpuart", IMX_SC_R_UART_0, 4, true, 0 },
 	{ "lpspi", IMX_SC_R_SPI_0, 4, true, 0 },
+	{ "irqstr_dsp", IMX_SC_R_IRQSTR_DSP, 1, false, 0 },
 
 	/* VPU SS */
 	{ "vpu", IMX_SC_R_VPU, 1, false, 0 },
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP
  2019-07-03 19:04 [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta
                   ` (2 preceding siblings ...)
  2019-07-03 19:04 ` [PATCH 3/3] firmware: imx: scu-pd: Add IRQSTR_DSP " Daniel Baluta
@ 2019-07-17 20:18 ` Daniel Baluta
  3 siblings, 0 replies; 9+ messages in thread
From: Daniel Baluta @ 2019-07-17 20:18 UTC (permalink / raw)
  To: Daniel Baluta, Shawn Guo, S.j. Wang, Aisheng Dong
  Cc: Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	dl-linux-imx, Ulf Hansson, linux-arm-kernel,
	Linux Kernel Mailing List

Aisheng/Shengjiu,

Care to help with review on this?

On Wed, Jul 3, 2019 at 10:06 PM Daniel Baluta <daniel.baluta@nxp.com> wrote:
>
> This patch adds power domain range for MU side b and irqsteer in
> preparation for adding support for DSP <-> AP IPC communication.
>
> Daniel Baluta (3):
>   firmware: imx: scu-pid: Rename mu PD range to mu_a
>   firmware: imx: scu-pd: Add mu_b side PD range
>   firmware: imx: scu-pd: Add IRQSTR_DSP PD range
>
>  drivers/firmware/imx/scu-pd.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> --
> 2.17.1
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a
  2019-07-03 19:04 ` [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a Daniel Baluta
@ 2019-07-18  3:14   ` Aisheng Dong
  0 siblings, 0 replies; 9+ messages in thread
From: Aisheng Dong @ 2019-07-18  3:14 UTC (permalink / raw)
  To: Daniel Baluta, shawnguo
  Cc: s.hauer, kernel, festevam, dl-linux-imx, ulf.hansson,
	linux-arm-kernel, linux-kernel, S.j. Wang, Daniel Baluta

> From: Daniel Baluta <daniel.baluta@nxp.com>
> Sent: Thursday, July 4, 2019 3:04 AM
> Subject: [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a

s/pid/pd

> 
> The Messaging Unit module enables two processors within the SoC to
> communicate and coordinate by passing messages through the MU interface.
> 
> MUs have 2 “sides” with independent programming interfaces. Rename mu
> PD range to mu_a because it's actually side A of MUs.
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>

Otherwise:

Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>

Regards
Aisheng

> ---
>  drivers/firmware/imx/scu-pd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
> index 480cec69e2c9..950d30238186 100644
> --- a/drivers/firmware/imx/scu-pd.c
> +++ b/drivers/firmware/imx/scu-pd.c
> @@ -92,7 +92,7 @@ static const struct imx_sc_pd_range
> imx8qxp_scu_pd_ranges[] = {
>  	{ "gpt", IMX_SC_R_GPT_0, 5, true, 0 },
>  	{ "kpp", IMX_SC_R_KPP, 1, false, 0 },
>  	{ "fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
> -	{ "mu", IMX_SC_R_MU_0A, 14, true, 0 },
> +	{ "mu_a", IMX_SC_R_MU_0A, 14, true, 0 },
> 
>  	/* CONN SS */
>  	{ "usb", IMX_SC_R_USB_0, 2, true, 0 },
> --
> 2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range
  2019-07-03 19:04 ` [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range Daniel Baluta
@ 2019-07-18  3:29   ` Aisheng Dong
  2019-07-18  6:38     ` Daniel Baluta
  0 siblings, 1 reply; 9+ messages in thread
From: Aisheng Dong @ 2019-07-18  3:29 UTC (permalink / raw)
  To: Daniel Baluta, shawnguo
  Cc: s.hauer, kernel, festevam, dl-linux-imx, ulf.hansson,
	linux-arm-kernel, linux-kernel, S.j. Wang, Daniel Baluta

> From: Daniel Baluta <daniel.baluta@nxp.com>
> Sent: Thursday, July 4, 2019 3:04 AM
> Subject: [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range
> 
> LSIO subsystem contains 14 MU instances.
> 
> 5 MUs to communicate between AP <-> SCU
>   - side-A PD range managed by AP
>   - side-B PD range managed by SCU
> 
> 9 MUs to communicate between AP <-> M4

The left 9MUs are general and can be used by all cores,
e.g AP/M4/DSP.
So below description is not correct.

>   - side-A PD range managed by AP
>   - side-B PD range managed by AP
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
> ---
>  drivers/firmware/imx/scu-pd.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
> index 950d30238186..30adc3104347 100644
> --- a/drivers/firmware/imx/scu-pd.c
> +++ b/drivers/firmware/imx/scu-pd.c
> @@ -93,6 +93,7 @@ static const struct imx_sc_pd_range
> imx8qxp_scu_pd_ranges[] = {
>  	{ "kpp", IMX_SC_R_KPP, 1, false, 0 },
>  	{ "fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
>  	{ "mu_a", IMX_SC_R_MU_0A, 14, true, 0 },
> +	{ "mu_b", IMX_SC_R_MU_5B, 9, true, 0 },

Should start from 5?
{ "mu_b", IMX_SC_R_MU_5B, 9, true, 5 },

Regards
Aisheng

> 
>  	/* CONN SS */
>  	{ "usb", IMX_SC_R_USB_0, 2, true, 0 },
> --
> 2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [PATCH 3/3] firmware: imx: scu-pd: Add IRQSTR_DSP PD range
  2019-07-03 19:04 ` [PATCH 3/3] firmware: imx: scu-pd: Add IRQSTR_DSP " Daniel Baluta
@ 2019-07-18  3:30   ` Aisheng Dong
  0 siblings, 0 replies; 9+ messages in thread
From: Aisheng Dong @ 2019-07-18  3:30 UTC (permalink / raw)
  To: Daniel Baluta, shawnguo
  Cc: s.hauer, kernel, festevam, dl-linux-imx, ulf.hansson,
	linux-arm-kernel, linux-kernel, S.j. Wang, Daniel Baluta

> From: Daniel Baluta <daniel.baluta@nxp.com>
> Sent: Thursday, July 4, 2019 3:04 AM
> 
> The DSP interrupt steer gathers interrupts from the system and can be used to
> steer them to DSP.
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>

Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>

Regards
Aisheng

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range
  2019-07-18  3:29   ` Aisheng Dong
@ 2019-07-18  6:38     ` Daniel Baluta
  0 siblings, 0 replies; 9+ messages in thread
From: Daniel Baluta @ 2019-07-18  6:38 UTC (permalink / raw)
  To: Aisheng Dong
  Cc: Daniel Baluta, shawnguo, s.hauer, kernel, festevam, dl-linux-imx,
	ulf.hansson, linux-arm-kernel, linux-kernel, S.j. Wang

On Thu, Jul 18, 2019 at 6:30 AM Aisheng Dong <aisheng.dong@nxp.com> wrote:
>
> > From: Daniel Baluta <daniel.baluta@nxp.com>
> > Sent: Thursday, July 4, 2019 3:04 AM
> > Subject: [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range
> >
> > LSIO subsystem contains 14 MU instances.
> >
> > 5 MUs to communicate between AP <-> SCU
> >   - side-A PD range managed by AP
> >   - side-B PD range managed by SCU
> >
> > 9 MUs to communicate between AP <-> M4
>
> The left 9MUs are general and can be used by all cores,
> e.g AP/M4/DSP.
> So below description is not correct.
>
Indeed. In the particular case of the DSP it is true.

I don't know exactly who will use MUs 5..12. I only
know that MU 13 is assigned to DSP and we prefer
to power up side-b from AP because powering up
from DSP would be a pain.

This means that DSP needs a way to communicate with SCU
so basically it needs another MU for that.

> >   - side-A PD range managed by AP
> >   - side-B PD range managed by AP
> >
> > Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
> > ---
> >  drivers/firmware/imx/scu-pd.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
> > index 950d30238186..30adc3104347 100644
> > --- a/drivers/firmware/imx/scu-pd.c
> > +++ b/drivers/firmware/imx/scu-pd.c
> > @@ -93,6 +93,7 @@ static const struct imx_sc_pd_range
> > imx8qxp_scu_pd_ranges[] = {
> >       { "kpp", IMX_SC_R_KPP, 1, false, 0 },
> >       { "fspi", IMX_SC_R_FSPI_0, 2, true, 0 },
> >       { "mu_a", IMX_SC_R_MU_0A, 14, true, 0 },
> > +     { "mu_b", IMX_SC_R_MU_5B, 9, true, 0 },
>
> Should start from 5?
> { "mu_b", IMX_SC_R_MU_5B, 9, true, 5 },

I guess you are right. I think start_from is used
to form the pd name, because the actual rsrc
is computed as follows:

sc_pd->rsrc = pd_ranges->rsrc + idx;

So, I think for this reason it just worked for me.

Anyhow, I'm thinking about powering up only MU13_B from AP side
and let the user of other MU sides B to decide from themselves.

So, the change will be:

> > +     { "mu_b", IMX_SC_R_MU_13B, 1, true, 13 },

Will send v2 asap.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-07-18  6:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-03 19:04 [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta
2019-07-03 19:04 ` [PATCH 1/3] firmware: imx: scu-pid: Rename mu PD range to mu_a Daniel Baluta
2019-07-18  3:14   ` Aisheng Dong
2019-07-03 19:04 ` [PATCH 2/3] firmware: imx: scu-pd: Add mu_b side PD range Daniel Baluta
2019-07-18  3:29   ` Aisheng Dong
2019-07-18  6:38     ` Daniel Baluta
2019-07-03 19:04 ` [PATCH 3/3] firmware: imx: scu-pd: Add IRQSTR_DSP " Daniel Baluta
2019-07-18  3:30   ` Aisheng Dong
2019-07-17 20:18 ` [PATCH 0/3] Add power domain range for MU side b / IRQSTR_DSP Daniel Baluta

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).