All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Kepplinger <martink@posteo.de>
To: Abel Vesa <abel.vesa@nxp.com>
Cc: Abel Vesa <abelvesa@gmail.com>, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Lucas Stach <l.stach@pengutronix.de>,
	Jacky Bai <ping.bai@nxp.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Carlo Caione <ccaione@baylibre.com>,
	dl-linux-imx <linux-imx@nxp.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC 0/2] Add workaround for core wake-up on IPI for i.MX8MQ
Date: Mon, 4 Nov 2019 09:49:18 +0100	[thread overview]
Message-ID: <523f92bd-7e89-b48a-afd0-0a9a8bca8344@posteo.de> (raw)
In-Reply-To: <20191030080727.7pcvhd4466dproy4@fsr-ub1664-175>

On 30.10.19 09:08, Abel Vesa wrote:
> On 19-10-30 07:11:37, Martin Kepplinger wrote:
>> On 23.06.19 13:47, Martin Kepplinger wrote:
>>> On 10.06.19 14:13, Abel Vesa wrote:
>>>> This is another alternative for the RFC:
>>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.org%2Flkml%2F2019%2F3%2F27%2F545&amp;data=02%7C01%7Cabel.vesa%40nxp.com%7Cf5f8d8dd37974234fcb108d75d000944%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637080127051582184&amp;sdata=qZEo1fY1lkTjqZWuuQftYJ5euEsSxjEAqGILCY8ChnU%3D&amp;reserved=0
>>>>
>>>> This new workaround proposal is a little bit more hacky but more contained
>>>> since everything is done within the irq-imx-gpcv2 driver.
>>>>
>>>> Basically, it 'hijacks' the registered gic_raise_softirq __smp_cross_call
>>>> handler and registers instead a wrapper which calls in the 'hijacked' 
>>>> handler, after that calling into EL3 which will take care of the actual
>>>> wake up. This time, instead of expanding the PSCI ABI, we use a new vendor SIP.
>>>>
>>>> I also have the patches ready for TF-A but I'll hold on to them until I see if
>>>> this has a chance of getting in.
>>>
>>
>> Hi Abel,
>>
>> Running this workaround doesn't seem to work anymore on 5.4-rcX. Linux
>> doesn't boot, with ATF unchanged (includes your workaround changes). I
>> can try to add more details to this...
>>
> 
> This is happening because the system counter is now enabled on 8mq.
> And since the irq-imx-gpcv2 is using as irq_set_affinity the 
> irq_chip_set_affinity_parent. This is because the actual implementation
> of the driver relies on GIC to set the right affinity. On a SoC
> that has the wake_request signales linked to the power controller this
> works fine. Since the system counter is actually the tick broadcast
> device and the set affinity relies only on GIC, the cores can't be
> woken up by the broadcast interrupt.
> 
>> Have you tested this for 5.4? Could you update this workaround? Please
>> let me know if I missed any earlier update on this (having a cpu-sleep
>> idle state).
>>
> 
> The solution is to implement the set affinity in the irq-imx-gpcv2 driver
> which would allow the gpc to wake up the target core when the broadcast
> irq arrives.
> 
> I have a patch for this. I just need to clean it up a little bit.
> Unfortunately, it won't go upstream since everuone thinks the gic
> should be the one to control the affinity. This obviously doesn't work
> on 8mq.
> 
> Currently, I'm at ELCE in Lyon. Will get back at the office tomorrow
> and sned you what I have.
> 

Hi Abel,

Do you have any news on said patch for testing? That'd be great for my
plannings.

thanks a lot,

                                 martin


WARNING: multiple messages have this Message-ID (diff)
From: Martin Kepplinger <martink@posteo.de>
To: Abel Vesa <abel.vesa@nxp.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Jacky Bai <ping.bai@nxp.com>, Carlo Caione <ccaione@baylibre.com>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Fabio Estevam <festevam@gmail.com>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Abel Vesa <abelvesa@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Lucas Stach <l.stach@pengutronix.de>
Subject: Re: [RFC 0/2] Add workaround for core wake-up on IPI for i.MX8MQ
Date: Mon, 4 Nov 2019 09:49:18 +0100	[thread overview]
Message-ID: <523f92bd-7e89-b48a-afd0-0a9a8bca8344@posteo.de> (raw)
In-Reply-To: <20191030080727.7pcvhd4466dproy4@fsr-ub1664-175>

On 30.10.19 09:08, Abel Vesa wrote:
> On 19-10-30 07:11:37, Martin Kepplinger wrote:
>> On 23.06.19 13:47, Martin Kepplinger wrote:
>>> On 10.06.19 14:13, Abel Vesa wrote:
>>>> This is another alternative for the RFC:
>>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.org%2Flkml%2F2019%2F3%2F27%2F545&amp;data=02%7C01%7Cabel.vesa%40nxp.com%7Cf5f8d8dd37974234fcb108d75d000944%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637080127051582184&amp;sdata=qZEo1fY1lkTjqZWuuQftYJ5euEsSxjEAqGILCY8ChnU%3D&amp;reserved=0
>>>>
>>>> This new workaround proposal is a little bit more hacky but more contained
>>>> since everything is done within the irq-imx-gpcv2 driver.
>>>>
>>>> Basically, it 'hijacks' the registered gic_raise_softirq __smp_cross_call
>>>> handler and registers instead a wrapper which calls in the 'hijacked' 
>>>> handler, after that calling into EL3 which will take care of the actual
>>>> wake up. This time, instead of expanding the PSCI ABI, we use a new vendor SIP.
>>>>
>>>> I also have the patches ready for TF-A but I'll hold on to them until I see if
>>>> this has a chance of getting in.
>>>
>>
>> Hi Abel,
>>
>> Running this workaround doesn't seem to work anymore on 5.4-rcX. Linux
>> doesn't boot, with ATF unchanged (includes your workaround changes). I
>> can try to add more details to this...
>>
> 
> This is happening because the system counter is now enabled on 8mq.
> And since the irq-imx-gpcv2 is using as irq_set_affinity the 
> irq_chip_set_affinity_parent. This is because the actual implementation
> of the driver relies on GIC to set the right affinity. On a SoC
> that has the wake_request signales linked to the power controller this
> works fine. Since the system counter is actually the tick broadcast
> device and the set affinity relies only on GIC, the cores can't be
> woken up by the broadcast interrupt.
> 
>> Have you tested this for 5.4? Could you update this workaround? Please
>> let me know if I missed any earlier update on this (having a cpu-sleep
>> idle state).
>>
> 
> The solution is to implement the set affinity in the irq-imx-gpcv2 driver
> which would allow the gpc to wake up the target core when the broadcast
> irq arrives.
> 
> I have a patch for this. I just need to clean it up a little bit.
> Unfortunately, it won't go upstream since everuone thinks the gic
> should be the one to control the affinity. This obviously doesn't work
> on 8mq.
> 
> Currently, I'm at ELCE in Lyon. Will get back at the office tomorrow
> and sned you what I have.
> 

Hi Abel,

Do you have any news on said patch for testing? That'd be great for my
plannings.

thanks a lot,

                                 martin


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-11-04  8:49 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-10 12:13 [RFC 0/2] Add workaround for core wake-up on IPI for i.MX8MQ Abel Vesa
2019-06-10 12:13 ` Abel Vesa
2019-06-10 12:13 ` Abel Vesa
2019-06-10 12:13 ` [RFC 1/2] irqchip: irq-imx-gpcv2: Add workaround for i.MX8MQ ERR11171 Abel Vesa
2019-06-10 12:13   ` Abel Vesa
2019-06-10 12:38   ` Leonard Crestez
2019-06-10 12:38     ` Leonard Crestez
2019-06-10 12:38     ` Leonard Crestez
2019-06-10 13:24   ` Marc Zyngier
2019-06-10 13:24     ` Marc Zyngier
2019-06-10 13:38     ` Abel Vesa
2019-06-10 13:38       ` Abel Vesa
2019-06-10 13:38       ` Abel Vesa
2019-06-10 13:51       ` Marc Zyngier
2019-06-10 13:51         ` Marc Zyngier
2019-06-10 13:51         ` Marc Zyngier
2019-06-10 14:12         ` Abel Vesa
2019-06-10 14:12           ` Abel Vesa
2019-06-10 14:12           ` Abel Vesa
2019-06-10 14:28           ` Marc Zyngier
2019-06-10 14:28             ` Marc Zyngier
2019-06-10 14:28             ` Marc Zyngier
2019-06-10 12:13 ` [RFC 2/2] arm64: dts: imx8mq: Add idle states and gpcv2 wake_request broken property Abel Vesa
2019-06-10 12:13   ` Abel Vesa
2019-06-10 13:19 ` [RFC 0/2] Add workaround for core wake-up on IPI for i.MX8MQ Mark Rutland
2019-06-10 13:19   ` Mark Rutland
2019-06-10 13:29   ` Abel Vesa
2019-06-10 13:29     ` Abel Vesa
2019-06-10 13:29     ` Abel Vesa
2019-06-10 13:39     ` Marc Zyngier
2019-06-10 13:39       ` Marc Zyngier
2019-06-10 13:39       ` Marc Zyngier
2019-06-10 13:55       ` Abel Vesa
2019-06-10 13:55         ` Abel Vesa
2019-06-10 13:55         ` Abel Vesa
2019-06-10 14:07         ` Marc Zyngier
2019-06-10 14:07           ` Marc Zyngier
2019-06-10 14:07           ` Marc Zyngier
2019-06-10 14:32           ` Leonard Crestez
2019-06-10 14:32             ` Leonard Crestez
2019-06-10 14:32             ` Leonard Crestez
2019-06-10 14:52             ` Marc Zyngier
2019-06-10 14:52               ` Marc Zyngier
2019-06-10 14:52               ` Marc Zyngier
2019-06-12  7:14             ` Thomas Gleixner
2019-06-12  7:14               ` Thomas Gleixner
2019-06-12  7:14               ` Thomas Gleixner
2019-06-12  7:35               ` Marc Zyngier
2019-06-12  7:35                 ` Marc Zyngier
2019-06-12  7:35                 ` Marc Zyngier
2019-06-12  7:37                 ` Thomas Gleixner
2019-06-12  7:37                   ` Thomas Gleixner
2019-06-12  7:37                   ` Thomas Gleixner
2019-06-23 11:47 ` Martin Kepplinger
2019-06-23 11:47   ` Martin Kepplinger
2019-06-28  8:54   ` Abel Vesa
2019-06-28  8:54     ` Abel Vesa
2019-06-28  8:54     ` Abel Vesa
2019-07-02  6:47     ` Martin Kepplinger
2019-07-02  6:47       ` Martin Kepplinger
2019-07-02  6:47       ` Martin Kepplinger
2019-07-02 11:33       ` Abel Vesa
2019-07-02 11:33         ` Abel Vesa
2019-07-02 11:33         ` Abel Vesa
2019-07-08  7:54         ` Martin Kepplinger
2019-07-08  7:54           ` Martin Kepplinger
2019-07-08  7:54           ` Martin Kepplinger
2019-07-08 12:20           ` Martin Kepplinger
2019-07-08 12:20             ` Martin Kepplinger
2019-07-08 12:20             ` Martin Kepplinger
2019-10-30  6:11   ` Martin Kepplinger
2019-10-30  6:11     ` Martin Kepplinger
2019-10-30  7:33     ` Martin Kepplinger
2019-10-30  7:33       ` Martin Kepplinger
2019-10-30  8:08     ` Abel Vesa
2019-10-30  8:08       ` Abel Vesa
2019-10-30  8:14       ` Martin Kepplinger
2019-10-30  8:14         ` Martin Kepplinger
2019-11-04  8:49       ` Martin Kepplinger [this message]
2019-11-04  8:49         ` Martin Kepplinger
2019-11-04 10:35         ` Abel Vesa
2019-11-04 10:35           ` Abel Vesa
2019-11-06 11:59           ` Martin Kepplinger
2019-11-06 11:59             ` Martin Kepplinger
2019-11-06 22:36             ` Leonard Crestez
2019-11-06 22:36               ` Leonard Crestez
2019-11-08 11:21               ` Martin Kepplinger
2019-11-08 11:21                 ` Martin Kepplinger
2019-11-08 11:50                 ` Abel Vesa
2019-11-08 11:50                   ` Abel Vesa
2019-11-08 14:17                   ` Martin Kepplinger
2019-11-08 14:17                     ` Martin Kepplinger
2019-11-11  7:54                     ` Abel Vesa
2019-11-11  7:54                       ` Abel Vesa
2019-11-25 17:23               ` Martin Kepplinger
2019-11-25 17:23                 ` Martin Kepplinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=523f92bd-7e89-b48a-afd0-0a9a8bca8344@posteo.de \
    --to=martink@posteo.de \
    --cc=abel.vesa@nxp.com \
    --cc=abelvesa@gmail.com \
    --cc=ccaione@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=l.stach@pengutronix.de \
    --cc=leonard.crestez@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=ping.bai@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.