From patchwork Fri Apr 10 12:28:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1269058 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=lnv/d51j; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48zHST6HWBz9sSX for ; Fri, 10 Apr 2020 22:31:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 925FA8180B; Fri, 10 Apr 2020 14:30:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lnv/d51j"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 986CC81445; Fri, 10 Apr 2020 14:29:17 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id BE58380555 for ; Fri, 10 Apr 2020 14:28:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x741.google.com with SMTP id x66so1880365qkd.9 for ; Fri, 10 Apr 2020 05:28:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gbwsBLxFwiyNcvtETUmvQQiZsQK09ScLaLe223L4pMg=; b=lnv/d51jUW8o+hhjZWSIcPEFvZgfbNqbDKH594Z55o7lqyQ6C4V6bhv64xdhPvyAts 5q7kVWSN4MaI6vxpbDCSmPBbNBh6ncnwwYHvghggJHPOMAIamJxC9jsGJXmIV1HxMFa9 TzpJjiX4/qbe4MsYV4lJlGNqaN9xYGAXDDTUcQDerTJ6oWfcUlhCmbdDr8LB1I77+sOd lFWEi3ZZxbug3xFzQWk8jL/3aIoeRpAC6c5iWuNOTtvf9QOjqTYq1CN1VW0pTtQbaHEj 6gF21vVZIAPP1ZJvMJeJBHvaKvtU2WJdq2qh8j5cGGO6I1aSqgnHE17BuAawZoltNJMT /DOw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=gbwsBLxFwiyNcvtETUmvQQiZsQK09ScLaLe223L4pMg=; b=BDFhkL1J0rQzd8oELp5N6hMZwPpfXiXD25bTFeOAcG7SKHqENY1S7Nc8eAAwfUuQEw IZkyAlC3ELK/cjxo+QTwafnH7rk3Vpu7FwmOGas089viqcjuWdQfZhyEkjBAl6Zk8mT8 ihQzcXbJcQm2dbq67WNCSEHyTl1i6EQEKRTMOw3AYMwrsneaNfsdstVFG6HU7VddCOzY pnc6xhsjY5jirh4YL2bu5y/VFXBh6CFQvTTkERFQcE80XImETRrysrOgKZ+8ioOQcs68 ubeoeM3zMSyNZ4Ed4Y0OSf4zZK5v84gbH8u8u5mAucuM/cZTuBUOhsYtG+x5AIAUVbCZ 6Hfg== X-Gm-Message-State: AGi0Pub6uJF3fsXuSfw1trFKzad5SPF5hwxQVOhx0V+pmG/iKk/Eo+Aa VLWZ26ogRruymqjTUa/EZCDwkZ0eEWa/fQ== X-Google-Smtp-Source: APiQypLiZDk5eGnXCk69uQ+4WfvRJDOy/4rJdo1LKJNFDW/qwr1nOwaIjlYFrBeH++NTkHzeK4RlXA== X-Received: by 2002:a05:620a:16b0:: with SMTP id s16mr3881579qkj.204.1586521734486; Fri, 10 Apr 2020 05:28:54 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id b1sm1465594qkf.103.2020.04.10.05.28.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2020 05:28:53 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Rick Chen , Bin Meng , Sean Anderson , Rick Chen , Lukas Auer Subject: [PATCH v8 13/21] riscv: Clear pending interrupts before enabling IPIs Date: Fri, 10 Apr 2020 08:28:06 -0400 Message-Id: <20200410122814.423237-14-seanga2@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200410122814.423237-1-seanga2@gmail.com> References: <20200410122814.423237-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean On some platforms (k210), the previous stage bootloader may have not cleared pending IPIs before transferring control to U-Boot. This can cause race conditions, as multiple harts all attempt to initialize the IPI controller at once. This patch clears IPIs before enabling them, ensuring that only one hart modifies shared memory at once. Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- Changes in v7: - Split of into its own patch arch/riscv/cpu/start.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S index 6b3ff99c38..e8740c8568 100644 --- a/arch/riscv/cpu/start.S +++ b/arch/riscv/cpu/start.S @@ -67,6 +67,8 @@ _start: #else li t0, SIE_SSIE #endif + /* Clear any pending IPIs */ + csrc MODE_PREFIX(ip), t0 csrs MODE_PREFIX(ie), t0 #endif