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 ED33281F3E for ; Thu, 9 Feb 2017 11:26:31 -0800 (PST) Received: from E107800.Emea.Arm.com (e107800.emea.arm.com [10.1.31.76]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id v19JQSof006780; Thu, 9 Feb 2017 19:26:29 GMT From: evan.lloyd@arm.com To: edk2-devel@ml01.01.org Cc: Ard Biesheuvel , Leif Lindholm , Ryan Harkin Date: Thu, 9 Feb 2017 19:26:19 +0000 Message-Id: <20170209192623.262044-1-evan.lloyd@arm.com> X-Mailer: git-send-email 2.8.3 Subject: [PATCH 0/4] 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, 09 Feb 2017 19:26:32 -0000 From: Evan Lloyd This 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 (provided by Ard) 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_v1 Ard Biesheuvel (3): EmbeddedPkg: introduce HardwareInterrupt2 protocol ArmPkg/ArmGicDxe: expose HardwareInterrupt2 protocol ArmPkg/GenericWatchdogDxe: Set Watchdog interrupt type Girish Pathak (1): ArmPkg:Provide GetTriggerType/SetTriggerType functions EmbeddedPkg/EmbeddedPkg.dec | 1 + ArmPkg/Drivers/ArmGic/ArmGicDxe.inf | 1 + ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf | 4 +- ArmPkg/Drivers/ArmGic/ArmGicDxe.h | 2 + ArmPkg/Include/Library/ArmGicLib.h | 4 + EmbeddedPkg/Include/Protocol/HardwareInterrupt2.h | 181 ++++++++++++++++++++ ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c | 2 + ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c | 181 +++++++++++++++++++- ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c | 178 ++++++++++++++++++- ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c | 27 +-- 10 files changed, 567 insertions(+), 14 deletions(-) create mode 100644 EmbeddedPkg/Include/Protocol/HardwareInterrupt2.h -- Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")