public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Leif Lindholm <leif.lindholm@linaro.org>
To: evan.lloyd@arm.com
Cc: edk2-devel@lists.01.org,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Matteo Carlini <Matteo.Carlini@arm.com>,
	nd@arm.com, Marcin Wojtas <mw@semihalf.com>,
	Arvind Chauhan <Arvind.Chauhan@arm.com>,
	Daniil Egranov <Daniil.Egranov@arm.com>,
	Thomas Panakamattam Abraham <thomas.abraham@arm.com>
Subject: Re: [PATCH 4/5] ArmPkg/GenericWatchdogDxe: Set Watchdog interrupt type
Date: Thu, 14 Sep 2017 18:06:27 +0100	[thread overview]
Message-ID: <20170914170627.nnu6awijp5ewnkay@bivouac.eciton.net> (raw)
In-Reply-To: <20170911152335.72672-5-evan.lloyd@arm.com>

On Mon, Sep 11, 2017 at 04:23:34PM +0100, evan.lloyd@arm.com wrote:
> From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> 
> Utilise the new HardwareInterrupt2 protocol to adjust the
> Edge/Level characteristics of the Watchdog interrupt.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Signed-off-by: Girish Pathak <girish.pathak@arm.com>
> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
> Tested-by: Girish Pathak <girish.pathak@arm.com>

Looks plausible, but I would loke to see it tested by someone not
directly involved in development.
Armada70x0 also uses this, so adding Marcin on cc.

Beyond that, I'm told in Ryan's absence Arvind, Daniil and Thomas are
"platform owners" for Juno, so if one of you could have a spin, that'd
be great.

Pending another Tested-by:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

/
    Leif

> ---
>  ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf |  6 ++---
>  ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c   | 28 ++++++++++++--------
>  2 files changed, 20 insertions(+), 14 deletions(-)
> 
> diff --git a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
> index fece14cc18315cd15510680c438288687b60c018..ba0403d7fdc3589803c643c27a44918e73afa97e 100644
> --- a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
> +++ b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
> @@ -1,5 +1,5 @@
>  #
> -#  Copyright (c) 2013-2014, ARM Limited. All rights reserved.
> +#  Copyright (c) 2013-2017, ARM Limited. All rights reserved.
>  #
>  #  This program and the accompanying materials
>  #  are licensed and made available under the terms and conditions of the BSD License
> @@ -47,7 +47,7 @@ [Pcd.common]
>  
>  [Protocols]
>    gEfiWatchdogTimerArchProtocolGuid
> -  gHardwareInterruptProtocolGuid
> +  gHardwareInterrupt2ProtocolGuid
>  
>  [Depex]
> -  gHardwareInterruptProtocolGuid
> +  gHardwareInterrupt2ProtocolGuid
> diff --git a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c
> index 6d102e25047253048ac555d6fb5de7223d78f381..69844db2e11f51907e6c8bff5c67d27ceb498150 100644
> --- a/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c
> +++ b/ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c
> @@ -1,6 +1,6 @@
>  /** @file
>  *
> -*  Copyright (c) 2013-2014, ARM Limited. All rights reserved.
> +*  Copyright (c) 2013-2017, ARM Limited. All rights reserved.
>  *
>  *  This program and the accompanying materials
>  *  are licensed and made available under the terms and conditions of the BSD
> @@ -24,8 +24,8 @@
>  #include <Library/UefiLib.h>
>  #include <Library/ArmGenericTimerCounterLib.h>
>  
> +#include <Protocol/HardwareInterrupt2.h>
>  #include <Protocol/WatchdogTimer.h>
> -#include <Protocol/HardwareInterrupt.h>
>  
>  #include "GenericWatchdog.h"
>  
> @@ -41,7 +41,7 @@ UINTN mTimerFrequencyHz = 0;
>  // It is therefore stored here. 0 means the timer is not running.
>  UINT64 mNumTimerTicks = 0;
>  
> -EFI_HARDWARE_INTERRUPT_PROTOCOL *mInterruptProtocol;
> +EFI_HARDWARE_INTERRUPT2_PROTOCOL *mInterruptProtocol;
>  
>  EFI_STATUS
>  WatchdogWriteOffsetRegister (
> @@ -320,7 +320,7 @@ GenericWatchdogEntry (
>    if (!EFI_ERROR (Status)) {
>      // Install interrupt handler
>      Status = gBS->LocateProtocol (
> -                    &gHardwareInterruptProtocolGuid,
> +                    &gHardwareInterrupt2ProtocolGuid,
>                      NULL,
>                      (VOID **)&mInterruptProtocol
>                      );
> @@ -331,13 +331,19 @@ GenericWatchdogEntry (
>                                      WatchdogInterruptHandler
>                                      );
>        if (!EFI_ERROR (Status)) {
> -        // Install the Timer Architectural Protocol onto a new handle
> -        Handle = NULL;
> -        Status = gBS->InstallMultipleProtocolInterfaces (
> -                        &Handle,
> -                        &gEfiWatchdogTimerArchProtocolGuid, &gWatchdogTimer,
> -                        NULL
> -                        );
> +        Status = mInterruptProtocol->SetTriggerType (
> +                                    mInterruptProtocol,
> +                                    FixedPcdGet32 (PcdGenericWatchdogEl2IntrNum),
> +                                    EFI_HARDWARE_INTERRUPT2_TRIGGER_EDGE_RISING);
> +        if (!EFI_ERROR (Status)) {
> +          // Install the Timer Architectural Protocol onto a new handle
> +          Handle = NULL;
> +          Status = gBS->InstallMultipleProtocolInterfaces (
> +                          &Handle,
> +                          &gEfiWatchdogTimerArchProtocolGuid, &gWatchdogTimer,
> +                          NULL
> +                          );
> +        }
>        }
>      }
>    }
> -- 
> Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
> 


  reply	other threads:[~2017-09-14 17:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-11 15:23 [PATCH 0/5] Add HardwareInterrupt2 for ARM evan.lloyd
2017-09-11 15:23 ` [PATCH 1/5] ArmPkg: Tidy GIC code before changes evan.lloyd
2017-09-14 16:41   ` Leif Lindholm
2017-09-21 15:34     ` Evan Lloyd
2017-09-21 17:43       ` Leif Lindholm
2017-09-11 15:23 ` [PATCH 2/5] EmbeddedPkg: Introduce HardwareInterrupt2 protocol evan.lloyd
2017-09-14 16:42   ` Leif Lindholm
2017-09-15  9:21     ` Alexei Fedorov
2017-09-11 15:23 ` [PATCH 3/5] ArmPkg/ArmGicDxe: Expose " evan.lloyd
2017-09-14 17:00   ` Leif Lindholm
2017-09-11 15:23 ` [PATCH 4/5] ArmPkg/GenericWatchdogDxe: Set Watchdog interrupt type evan.lloyd
2017-09-14 17:06   ` Leif Lindholm [this message]
2017-09-11 15:23 ` [PATCH 5/5] ArmPkg: Tidy up GenericWatchdogDxe.c evan.lloyd
2017-09-14 17:10   ` Leif Lindholm
  -- strict thread matches above, loose matches on Subject: below --
2017-02-16 22:14 [PATCH 0/5] HardwareInterrupt2 protocol evan.lloyd
2017-02-16 22:14 ` [PATCH 4/5] ArmPkg/GenericWatchdogDxe: Set Watchdog interrupt type evan.lloyd

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=20170914170627.nnu6awijp5ewnkay@bivouac.eciton.net \
    --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