Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1867540ybv; Fri, 14 Feb 2020 07:22:28 -0800 (PST) X-Google-Smtp-Source: APXvYqyrqT902pFcGQkhchoIjjpu6hi5oJREphjuA3PXoEjSi3sSs4xsfE6UAx11kOWni9za3XxL X-Received: by 2002:aca:d507:: with SMTP id m7mr2143234oig.48.1581693748429; Fri, 14 Feb 2020 07:22:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581693748; cv=none; d=google.com; s=arc-20160816; b=EAZ7h5oVX4FCALeEyVcQmEGmqVt5fbzQf7t2sXhjB7W4b/tVul6un0cymAQFBvtznL 8vdF8BlJf6lZMn1lzGHKSC1TyGqV663zp7g5UuGyPx4uySCykQrLXT/g4VPx6ZvlC5rh fHkf5Mm4hO+36YRj0vazNJoI7Du2W4RHSvriAk7jEgWdE7sUazB8Ut74eqCqaP1DgMwb p6TvZFsPWhjbQPWfKPjLp9ZimaipU8MwhEnnAcYZ80WiyxOq74o0YnWvTny4LFsuDKXO KF7bNVFOWsadmYtixfRxhJELlCzRIRzy+xrEabyAmP7DAfA9xqV5zGvm05P14j9Ut5oe gfjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MjZpvf7PC4vcQIoGKaFLeUATJ1nRbuwbUQiMaq9+RcA=; b=mjWKhhL8mxSWWC1XfPDOdWR2lHwMyMMF3viKN2XWRoDE9s+euWZkwWdRGEdhPvFHUL fvxhbvalRPFDVA7A2snXaomaNKKKd6DGIhSp1PVOkr1nSuORwqElL/Pwkaa+lo3oneCx K/5QNKJTviV43Fm9H1jJuJuIwX8Ugr62aLk2QxeLiAXS7JBc2KCxtwkVONA7CB/Fbi+T JU8Tf0TsG1u7wfikFNaYyWGVPufGtWcFWZAeIXoc1g6fgV/KrgDirPNIHhwhk2Iz5dDe 0GPMgHC+Qqp+BnVu8Yi+67/3Vc+PPeoXfXPs1cY4/WfSGc3+s10F8xf3O7fUDc5pKhcI 8uZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VIHFxtiK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 25si2817313oiz.230.2020.02.14.07.22.16; Fri, 14 Feb 2020 07:22:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VIHFxtiK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387562AbgBNPVO (ORCPT + 99 others); Fri, 14 Feb 2020 10:21:14 -0500 Received: from mail.kernel.org ([198.145.29.99]:34332 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387536AbgBNPVN (ORCPT ); Fri, 14 Feb 2020 10:21:13 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 50A352168B; Fri, 14 Feb 2020 15:21:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1581693672; bh=T0HXT57QkCmJWt2fIEDW9u7ILipbmmqwzalNG/8iegk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VIHFxtiKtfU38kguCWl1J3BlJ4DXk9xpOHfdQoivMDlsUcmfEDEb2MgpkMJkpgI7V bKbuWvPlo5PlZIDDvXPJhYKyJKN4lQrShJN7+gkPWcJU/8ykAOsCsB4VNAVbu7yC5M OG34l3GhSlncEeFYgehQrCHBxn1gRsjj0NMFo0so= Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j2cPj-0057sw-4Y; Fri, 14 Feb 2020 14:57:55 +0000 From: Marc Zyngier To: linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Lorenzo Pieralisi , Jason Cooper , Robert Richter , Thomas Gleixner , Zenghui Yu , Eric Auger , James Morse , Julien Thierry , Suzuki K Poulose Subject: [PATCH v4 12/20] irqchip/gic-v4.1: Add VSGI property setup Date: Fri, 14 Feb 2020 14:57:28 +0000 Message-Id: <20200214145736.18550-13-maz@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200214145736.18550-1-maz@kernel.org> References: <20200214145736.18550-1-maz@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, lorenzo.pieralisi@arm.com, jason@lakedaemon.net, rrichter@marvell.com, tglx@linutronix.de, yuzenghui@huawei.com, eric.auger@redhat.com, james.morse@arm.com, julien.thierry.kdev@gmail.com, suzuki.poulose@arm.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add the SGI configuration entry point for KVM to use. Signed-off-by: Marc Zyngier --- drivers/irqchip/irq-gic-v4.c | 13 +++++++++++++ include/linux/irqchip/arm-gic-v4.h | 1 + 2 files changed, 14 insertions(+) diff --git a/drivers/irqchip/irq-gic-v4.c b/drivers/irqchip/irq-gic-v4.c index 99b33f60ac63..f3f06c5c7e54 100644 --- a/drivers/irqchip/irq-gic-v4.c +++ b/drivers/irqchip/irq-gic-v4.c @@ -320,6 +320,19 @@ int its_prop_update_vlpi(int irq, u8 config, bool inv) return irq_set_vcpu_affinity(irq, &info); } +int its_prop_update_vsgi(int irq, u8 priority, bool group) +{ + struct its_cmd_info info = { + .cmd_type = PROP_UPDATE_SGI, + { + .priority = priority, + .group = group, + }, + }; + + return irq_set_vcpu_affinity(irq, &info); +} + int its_init_v4(struct irq_domain *domain, const struct irq_domain_ops *vpe_ops, const struct irq_domain_ops *sgi_ops) diff --git a/include/linux/irqchip/arm-gic-v4.h b/include/linux/irqchip/arm-gic-v4.h index 9fbd0418f569..46c167a6349f 100644 --- a/include/linux/irqchip/arm-gic-v4.h +++ b/include/linux/irqchip/arm-gic-v4.h @@ -129,6 +129,7 @@ int its_map_vlpi(int irq, struct its_vlpi_map *map); int its_get_vlpi(int irq, struct its_vlpi_map *map); int its_unmap_vlpi(int irq); int its_prop_update_vlpi(int irq, u8 config, bool inv); +int its_prop_update_vsgi(int irq, u8 priority, bool group); struct irq_domain_ops; int its_init_v4(struct irq_domain *domain, -- 2.20.1