From patchwork Mon Nov 19 10:49:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 999703 X-Patchwork-Delegate: bmeng.cn@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NmwGK7Ii"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42z57t24mgz9s55 for ; Mon, 19 Nov 2018 21:44:58 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 72BA5C21E29; Mon, 19 Nov 2018 10:44:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id E25C4C21C2F; Mon, 19 Nov 2018 10:44:51 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A0C27C21D83; Mon, 19 Nov 2018 10:44:50 +0000 (UTC) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by lists.denx.de (Postfix) with ESMTPS id 80228C21C2C for ; Mon, 19 Nov 2018 10:44:48 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id n2so6494152pgm.3 for ; Mon, 19 Nov 2018 02:44:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=4NTIpYq50aCpVFp/mK+hxCQocJLBOBbex8HFr7W6pAw=; b=NmwGK7IiStYFdnxIh71y6WMAiKKQN/rYaGiVwzDnUEBaPkJKw7lyUeaKCMekkvVo7B A6/VtuSyjJfPrkS6T+bupWTCA5TmStP1GL9SOBleknStlPzUxyIX9PoQ++6JD3ivxDW2 dcqdHBQMCl1V95WiTx9/1oP1qiL28/X2Q0pOiO2uEEU2roYuSZePSo3xERWUSr8k8SiH 1WUv8DBtcxEVIriEXRbYIu5rNWZQVHSsF/3ojibmy9s6Nj1Vn14DtaHeT9P0QlWK3M4E HgzMKCogfpbZzYwN8FIRwBqB96Uo6t7S/DGbJ2+RDdBTXqKN2pH4Fg32xySaVHLs89SX IjPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=4NTIpYq50aCpVFp/mK+hxCQocJLBOBbex8HFr7W6pAw=; b=fARInWuD5w6Bqz3IHsg50huPtA0FkVWzk+u9Al9i7y/oMQJNAGu5qCBkGZv/jm0C8V Sl63ow8hXVTfylQfeFil6zgJT5Snt7tIwo1HlMvSr++qu7GG8XloxuGSBpFcWORV/bu9 9f0o+kqdpEmDlXhf4Fvxh3L/jAVNU35q5hUxcPQWMIqtgbK5hjd9/PV9ERKpHwFfOZje WlOL93fojx6X6oooC6D51a78Qfo662JHutx4E4erMT3VFKTSF44bGCZWCNTcfFFykpxw D0g06pnjlxp4m11gcbQKq+mL125eVrgd3Lek3OuZXDnC0Svo2r3yR3fYqUA6b2fmAebM f2RA== X-Gm-Message-State: AGRZ1gLD0OLhN13BjoOML2FPF21i5+PosEaAhCVoIldCSfY5SIvoSnow IW5LqcDvUxlGdqM1USHtcwk= X-Google-Smtp-Source: AJdET5e4vXAelwI7U82vulQtykgpeWjWhlYt1M9AQRmud0bUkoW8XemSSMih9bO6q8syXCDqPsB72Q== X-Received: by 2002:a62:b615:: with SMTP id j21-v6mr22584044pff.199.1542624287034; Mon, 19 Nov 2018 02:44:47 -0800 (PST) Received: from ala-d2121-lx1.wrs.com (unknown-156-139.windriver.com. [147.11.156.139]) by smtp.gmail.com with ESMTPSA id o13sm9974324pfk.57.2018.11.19.02.44.45 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 19 Nov 2018 02:44:46 -0800 (PST) From: Bin Meng To: Simon Glass , U-Boot Mailing List Date: Mon, 19 Nov 2018 02:49:45 -0800 Message-Id: <1542624586-30855-1-git-send-email-bmeng.cn@gmail.com> X-Mailer: git-send-email 1.7.9.5 Subject: [U-Boot] [PATCH 1/2] x86: Wrap calls to 8259 with CONFIG_I8259_PIC X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" mask_irq(), unmask_irq() and specific_eoi() are provided by the i8259 PIC driver and should be wrapped with CONFIG_I8259_PIC. Signed-off-by: Bin Meng Tested-by: Hannes Schmelzer --- arch/x86/lib/interrupts.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/x86/lib/interrupts.c b/arch/x86/lib/interrupts.c index 297067d..b1dc6e1 100644 --- a/arch/x86/lib/interrupts.c +++ b/arch/x86/lib/interrupts.c @@ -64,7 +64,9 @@ void irq_install_handler(int irq, interrupt_handler_t *handler, void *arg) irq_handlers[irq].arg = arg; irq_handlers[irq].count = 0; +#if CONFIG_IS_ENABLED(I8259_PIC) unmask_irq(irq); +#endif if (status) enable_interrupts(); @@ -83,7 +85,9 @@ void irq_free_handler(int irq) status = disable_interrupts(); +#if CONFIG_IS_ENABLED(I8259_PIC) mask_irq(irq); +#endif irq_handlers[irq].handler = NULL; irq_handlers[irq].arg = NULL; @@ -104,14 +108,17 @@ void do_irq(int hw_irq) } if (irq_handlers[irq].handler) { +#if CONFIG_IS_ENABLED(I8259_PIC) mask_irq(irq); +#endif irq_handlers[irq].handler(irq_handlers[irq].arg); irq_handlers[irq].count++; +#if CONFIG_IS_ENABLED(I8259_PIC) unmask_irq(irq); specific_eoi(irq); - +#endif } else { if ((irq & 7) != 7) { spurious_irq_cnt++;