public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sami Mujawar" <sami.mujawar@arm.com>
To: Thomas Abraham <thomas.abraham@arm.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	Sahil <Sahil@arm.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Leif Lindholm <leif@nuviainc.com>, nd <nd@arm.com>,
	Pierre Gondois <Pierre.Gondois@arm.com>,
	Andre Przywara <Andre.Przywara@arm.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 1/1] Platform/ARM/N1Sdp: Modify IRQ ID of Debug UART and routing to IOFPGA UART1
Date: Thu, 26 Jan 2023 10:34:13 +0000	[thread overview]
Message-ID: <C5FDD782-6AF7-45E1-B6E4-899A7CC31C58@arm.com> (raw)
In-Reply-To: <9b511d96-6c9d-ab61-56dd-a4826961acc2@arm.com>

Hi Sahil, Thomas, 

Please find my response inline marked [SAMI].

Regards,

Sami Mujawar

On 25/01/2023, 19:53, "Thomas Abraham" <thomas.abraham@arm.com> wrote:

    Hi Sahil,

    On 06/01/2023 06:09, sahil via groups.io wrote:
    > From: Himanshu Sharma <Himanshu.Sharma@arm.com>
    > 
    > In DBG2 table, IRQ ID was set as 0 for the UART. This overwrote the
[SAMI] The above line is incorrect. It is not the DBG2 table where the IRQ ID is set. 
It is the AML description for the UART that is configured as the serial debug port where the IRQ ID needs to be configured correctly.
[/SAMI]

    > IPI0 trigger method to "level", which prevented SGI0 to be enabled
    > again after a CPU offline/online cycle.
    > 
    > This patch fixes the above issue by assigning a reserved IRQ ID
[SAMI] I am not sure what you mean here. Is the IRQ ID 250 (configured in code below) not for the UART?

    > for the Debug UART, other than 0 and also routing it to use IOFPGA
    > UART1 by unsharing it from currently using serial terminal.
    > 
    > Signed-off-by: Himanshu Sharma <Himanshu.Sharma@arm.com>
[SAMI] This should be signed off only by the person who sends the patch. 

    > ---
    >   Platform/ARM/N1Sdp/N1SdpPlatform.dsc                                                   | 8 ++++----
    >   Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c | 2 +-
    >   2 files changed, 5 insertions(+), 5 deletions(-)
    > 
    > diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
    > index d04b22d3ef51..676ab677257a 100644
    > --- a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
    > +++ b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
    > @@ -4,7 +4,7 @@
    >   # This provides platform specific component descriptions and libraries that
    > 
    >   # conform to EFI/Framework standards.
    > 
    >   #
    > 
    > -# Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR>
    > 
    > +# Copyright (c) 2018 - 2023, ARM Limited. All rights reserved.<BR>
    > 
    >   #
    > 
    >   # SPDX-License-Identifier: BSD-2-Clause-Patent
    > 
    >   #
    > 
    > @@ -136,9 +136,9 @@ [PcdsFixedAtBuild.common]
    >     gArmPlatformTokenSpaceGuid.PL011UartInterrupt|95
    > 
    >   
    > 
    >     # PL011 Serial Debug UART (DBG2)
    > 
    > -  gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
    > 
    > -  gArmPlatformTokenSpaceGuid.PcdSerialDbgUartBaudRate|gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
    > 
    > -  gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz|50000000
    > 
    > +  gArmPlatformTokenSpaceGuid.PcdSerialDbgRegisterBase|0x1C0A0000
    > 
    > +  gArmPlatformTokenSpaceGuid.PcdSerialDbgUartBaudRate|115200
    > 
    > +  gArmPlatformTokenSpaceGuid.PcdSerialDbgUartClkInHz|24000000
    > 
    >   
    > 
    >     # SBSA Watchdog
    > 
    >     gArmTokenSpaceGuid.PcdGenericWatchdogEl2IntrNum|93
    > 
    > diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
    > index b11c0425fe25..44046a0026bb 100644
    > --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
    > +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
    > @@ -320,7 +320,7 @@ EDKII_PLATFORM_REPOSITORY_INFO N1sdpRepositoryInfo = {
    >     // Debug Serial Port
    > 
    >     {
    > 
    >       FixedPcdGet64 (PcdSerialDbgRegisterBase),               // BaseAddress
    > 
    > -    0,                                                      // Interrupt -unused
    > 
    > +    250,                                                    // Interrupt (reserved)

    I have not looked into ConfigurationManager but why would IRQ number be 
    mandatory for debug UART? Isn't there a way to just avoid specifying a 
    interrupt number?
[SAMI] This information is used for:
1. Generating the DBG2 table, which does not require the interrupt number (and is hence ignored).
2. Generating the AML description for the UART port which requires the Interrupt to be specified, see example below:
   // UART PL011
    Device(COM0) {
      Name(_HID, "ARMH0011")
      Name(_UID, Zero)
      Name(_CRS, ResourceTemplate() {
        Memory32Fixed(ReadWrite, 0x7FF80000, 0x1000)
        Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 115 }
      })
    }

The commit message is misleading and needs to be fixed.

[/SAMI]
    Thanks,
    Thomas.

    > 
    >       FixedPcdGet64 (PcdSerialDbgUartBaudRate),               // BaudRate
    > 
    >       FixedPcdGet32 (PcdSerialDbgUartClkInHz),                // Clock
    > 
    >       EFI_ACPI_DBG2_PORT_SUBTYPE_SERIAL_ARM_PL011_UART        // Port subtype
    > 


      reply	other threads:[~2023-01-26 10:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-06  6:09 [edk2-platforms][PATCH V1 1/1] Platform/ARM/N1Sdp: Modify IRQ ID of Debug UART and routing to IOFPGA UART1 sahil
2023-01-25 19:53 ` [edk2-devel] " Thomas Abraham
2023-01-26 10:34   ` Sami Mujawar [this message]

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-list 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=C5FDD782-6AF7-45E1-B6E4-899A7CC31C58@arm.com \
    --to=devel@edk2.groups.io \
    /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