public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Peng Fan <peng.fan@oss.nxp.com>
To: Marek Vasut <marex@denx.de>
Cc: "Alice Guo (OSS)" <alice.guo@oss.nxp.com>,
	Tom Rini <trini@konsulko.com>, Stefano Babic <sbabic@denx.de>,
	Fabio Estevam <festevam@gmail.com>,
	dl-uboot-imx <uboot-imx@nxp.com>, Lukasz Majewski <lukma@denx.de>,
	Sean Anderson <seanga2@gmail.com>, Simon Glass <sjg@chromium.org>,
	Alper Nebi Yasak <alpernebiyasak@gmail.com>,
	"u-boot@lists.denx.de" <u-boot@lists.denx.de>,
	"tharvey@gateworks.com" <tharvey@gateworks.com>,
	Viorel Suman <viorel.suman@nxp.com>, Ye Li <ye.li@nxp.com>
Subject: Re: 回复: 回复: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi: smt: Interrupt communication enable
Date: Fri, 10 Jan 2025 17:59:08 +0800	[thread overview]
Message-ID: <20250110095908.GC23168@localhost.localdomain> (raw)
In-Reply-To: <ab77f12a-35b3-4b26-a801-3db315aea1d2@denx.de>

On Wed, Jan 08, 2025 at 07:38:30PM +0100, Marek Vasut wrote:
>On 1/8/25 3:55 AM, Alice Guo (OSS) wrote:
>> > -----邮件原件-----
>> > 发件人: Marek Vasut <marex@denx.de>
>> > 发送时间: 2025年1月7日 19:11
>> > 收件人: Alice Guo (OSS) <alice.guo@oss.nxp.com>; Tom Rini
>> > <trini@konsulko.com>; Stefano Babic <sbabic@denx.de>; Fabio Estevam
>> > <festevam@gmail.com>; dl-uboot-imx <uboot-imx@nxp.com>; Lukasz
>> > Majewski <lukma@denx.de>; Sean Anderson <seanga2@gmail.com>; Simon
>> > Glass <sjg@chromium.org>; Alper Nebi Yasak <alpernebiyasak@gmail.com>
>> > 抄送: u-boot@lists.denx.de; tharvey@gateworks.com; Viorel Suman
>> > <viorel.suman@nxp.com>; Ye Li <ye.li@nxp.com>
>> > 主题: Re: 回复: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi: smt:
>> > Interrupt communication enable
>> > 
>> > On 1/7/25 4:24 AM, Alice Guo (OSS) wrote:
>> > > > 主题: Re: 回复: [EXT] Re: [PATCH v3 02/17] firmware: scmi: smt: Interrupt
>> > > > communication enable
>> > > > 
>> > > > On 1/6/25 7:17 AM, Alice Guo (OSS) wrote:
>> > > > > > On 1/3/25 7:45 AM, Alice Guo wrote:
>> > > > > > > From: Viorel Suman <viorel.suman@nxp.com>
>> > > > > > > 
>> > > > > > > When interrupt driven communication is supported
>> > > > > > 
>> > > > > > U-Boot does not use interrupts.
>> > > > > > 
>> > > > > > > , the transport allows
>> > > > > > > the caller to choose between interrupt and polling driven
>> > > > > > > communications. To make the choice, the channel flags are used.
>> > > > > > > i.MX95 uses interrupt driven communication so that Channel flags
>> > > > > > > should be set to 1.
>> > > > > > 
>> > > > > > How does this work in U-Boot, which does not use interrupts ?
>> > > > > 
>> > > > > Hi Marek,
>> > > > > 
>> > > > > The clearer explanation will be added in the commit log.
>> > > > > 
>> > > > > This is based on Arm® System Control and Management Interface
>> > > > > Platform
>> > > > Design Document Version 3.2 (Document number: DEN0056E) 5.1.2. When
>> > > > Bit[0] of Channel flags is 1, the System Manager runs on M core will
>> > > > trigger general-purpose interrupts to A core. U-Boot polls
>> > > > General-purpose Status (GSR) until GIPn is set.
>> > > > If U-Boot does polling, why does this bit need to be set, shouldn't
>> > > > the bit be cleared instead ?
>> > > 
>> > > My commit log may have caused your misunderstanding. If the bit is not set,
>> > the System Manager will not request doorbell interrupt. The following is the
>> > code from imx-sm:
>> > > 
>> > >               if (callee)
>> > >               {
>> > >                   /* Generate completion interrupt */
>> > >                   if ((buf->channelFlags & SMT_COMP_INT) != 0U)
>> > >                   {
>> > >                       status = RPC_SMT_DoorbellRing(smtChannel);
>> > >                   }
>> > >               }
>> > Can the SM be updated instead ?
>> 
>> System Manager not only interacts with U-Boot, but also with Linux/QNX/RTOS. System Manager cannot be changed.
>How come other SCMI providers (like optee) do not need this kind of change ?

Here to i.MX SM, this is just a doorbell to tell remote side that info
is ready. To U-Boot i.MX, MU GSR set means SM sends data back, so with COMP_INT
set, U-Boot could poll the MU GSR bit. Using interrupt here is not that
accurate, it is just a doorbell.

For OP-TEE, it is using SMC, it is sync transports, SMC return means SCMI done.
No need polling any bit or else.

Regards,
Peng


  parent reply	other threads:[~2025-01-10  8:53 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-03  6:45 [PATCH v3 00/17] imx: add i.MX95 support Alice Guo
2025-01-03  6:45 ` [PATCH v3 01/17] mailbox: add i.MX95 Messaging Unit (MU) driver Alice Guo
2025-01-05 20:56   ` Marek Vasut
2025-01-06  5:27     ` 回复: [EXT] " Alice Guo (OSS)
2025-01-06 20:39       ` Marek Vasut
2025-01-07  5:01         ` Peng Fan
2025-01-07 11:10           ` Marek Vasut
2025-01-07 12:12             ` Peng Fan
2025-01-03  6:45 ` [PATCH v3 02/17] firmware: scmi: smt: Interrupt communication enable Alice Guo
2025-01-05 20:59   ` Marek Vasut
2025-01-06  6:17     ` 回复: [EXT] " Alice Guo (OSS)
2025-01-06 20:42       ` Marek Vasut
2025-01-07  3:24         ` 回复: " Alice Guo (OSS)
2025-01-07 11:10           ` Marek Vasut
2025-01-08  2:55             ` 回复: " Alice Guo (OSS)
2025-01-08 18:38               ` Marek Vasut
2025-01-09  0:49                 ` Peng Fan
2025-01-09 20:03                   ` Marek Vasut
2025-01-10  9:59                 ` Peng Fan [this message]
2025-01-12 22:03                   ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 03/17] pinctrl: nxp: add SCMI pin control protocol driver Alice Guo
2025-01-05 21:05   ` Marek Vasut
2025-01-06  9:56     ` 回复: [EXT] " Alice Guo (OSS)
2025-01-06 20:46       ` Marek Vasut
2025-01-07  6:39         ` 回复: " Alice Guo (OSS)
2025-01-07 11:16           ` Marek Vasut
2025-01-07 12:11             ` Peng Fan
2025-01-07 12:37               ` Marek Vasut
2025-01-10  9:54                 ` Peng Fan
2025-01-03  6:45 ` [PATCH v3 04/17] scmi_protocols: add SCMI misc protocol protocol_id and message_id for getting the ROM passover data Alice Guo
2025-01-03  6:45 ` [PATCH v3 05/17] scmi_protocols: add SCMI Performance domain management protocol message IDs Alice Guo
2025-01-03  6:45 ` [PATCH v3 06/17] clk: scmi: add the command CLOCK_PARENT_SET Alice Guo
2025-01-03  6:45 ` [PATCH v3 07/17] clk: scmi: check the clock state/parent/rate control permissions Alice Guo
2025-01-05 21:07   ` Marek Vasut
2025-01-07  8:00     ` 回复: [EXT] " Alice Guo (OSS)
2025-01-07 11:08       ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 08/17] scmi_protocols: update struct scmi_base_discover_list_protocols_out Alice Guo
2025-01-05 21:08   ` Marek Vasut
2025-01-06 10:41     ` 回复: [EXT] " Alice Guo (OSS)
2025-01-06 20:46       ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 09/17] imx9: scmi: add i.MX95 SoC and clock related code Alice Guo
2025-01-05 21:29   ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 10/17] imx9: add i.MX95 Kconfig and Makefile Alice Guo
2025-01-05 21:30   ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 11/17] imx9: scmi: soc: Override h_spl_load_read with trampoline buffer Alice Guo
2025-01-05 21:43   ` Marek Vasut
2025-01-07 10:04     ` 回复: [EXT] " Alice Guo (OSS)
2025-01-07 11:21       ` Marek Vasut
2025-01-05 21:56   ` Marek Vasut
2025-01-10  9:49     ` Peng Fan
2025-01-12 21:50       ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 12/17] scmi: add the macro SCMI_MSG Alice Guo
2025-01-03  6:45 ` [PATCH v3 13/17] imx: Kconfig: IMX8_ROMAPI is not configured for i.MX95 Alice Guo
2025-01-03  6:45 ` [PATCH v3 14/17] binman: add a new entry type for packing DDR PHY firmware images Alice Guo
2025-01-05 21:52   ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 15/17] tools: imx8image: add i.MX95 support Alice Guo
2025-01-05 21:59   ` Marek Vasut
2025-01-03  6:45 ` [PATCH v3 16/17] imx: add V2X container support on i.MX95 Alice Guo
2025-01-03  6:45 ` [PATCH v3 17/17] imx95_evk: add i.MX95 19x19 EVK board basic support Alice Guo
2025-01-05 22:07   ` Marek Vasut
2025-01-14 22:34   ` Tim Harvey
2025-01-14 23:28     ` Marek Vasut
2025-01-15 17:10       ` Tim Harvey
2025-01-15 19:07         ` Marek Vasut
2025-01-15  1:31     ` 回复: [EXT] " Alice Guo (OSS)

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=20250110095908.GC23168@localhost.localdomain \
    --to=peng.fan@oss.nxp.com \
    --cc=alice.guo@oss.nxp.com \
    --cc=alpernebiyasak@gmail.com \
    --cc=festevam@gmail.com \
    --cc=lukma@denx.de \
    --cc=marex@denx.de \
    --cc=sbabic@denx.de \
    --cc=seanga2@gmail.com \
    --cc=sjg@chromium.org \
    --cc=tharvey@gateworks.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=uboot-imx@nxp.com \
    --cc=viorel.suman@nxp.com \
    --cc=ye.li@nxp.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox