From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cam-smtp0.cambridge.arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BA8FF820F6 for ; Thu, 16 Feb 2017 14:14:40 -0800 (PST) Received: from E107800.Emea.Arm.com (e107800.emea.arm.com [10.1.29.56]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id v1GMEbK1013954; Thu, 16 Feb 2017 22:14:37 GMT From: evan.lloyd@arm.com To: edk2-devel@ml01.01.org Cc: Ard Biesheuvel , Leif Lindholm , Ryan Harkin Date: Thu, 16 Feb 2017 22:14:26 +0000 Message-Id: <20170216221431.280072-1-evan.lloyd@arm.com> X-Mailer: git-send-email 2.8.3 Subject: [PATCH 0/5] HardwareInterrupt2 protocol X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Feb 2017 22:14:41 -0000 From: Evan Lloyd This v2 series of patches corrects a problem detected on the ARM Juno platform that is actually generic (at least to ARM GIC platforms). The HardwareInterrupt protocol had no means of handling characteristics like Edge/Level triggered and polarity. A new HardwareInterrupt2 protocol is added, and code changed to utilise the new capabilities. The code is available for examination on Github at: https://github.com/EvanLloyd/tianocore/tree/376_irqtype_v2 Note: Significant defects exist in the (original) Watchdog handling, and a new patch will follow shortly. Ard Biesheuvel (3): EmbeddedPkg: Introduce HardwareInterrupt2 protocol ArmPkg/ArmGicDxe: Expose HardwareInterrupt2 protocol ArmPkg/GenericWatchdogDxe: Set Watchdog interrupt type Evan Lloyd (2): ArmPkg: Tidy GIC code before changes. ArmPkg: Tidy up GenericWatchdogDxe.c EmbeddedPkg/EmbeddedPkg.dec | 1 + ArmPkg/Drivers/ArmGic/ArmGicDxe.inf | 3 +- ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf | 6 +- ArmPkg/Drivers/ArmGic/ArmGicDxe.h | 37 +++- ArmPkg/Include/Library/ArmGicLib.h | 39 ++-- EmbeddedPkg/Include/Protocol/HardwareInterrupt2.h | 182 +++++++++++++++++ ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c | 80 ++++++-- ArmPkg/Drivers/ArmGic/ArmGicLib.c | 72 +++++-- ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c | 192 +++++++++++++++-- ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c | 215 +++++++++++++++++--- ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c | 151 +++++++------- 11 files changed, 798 insertions(+), 180 deletions(-) create mode 100644 EmbeddedPkg/Include/Protocol/HardwareInterrupt2.h -- Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")