Received: by 2002:ab2:6a05:0:b0:1f8:1780:a4ed with SMTP id w5csp2972361lqo; Tue, 14 May 2024 15:46:51 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVXFBtC7ZLB6egCdapHO4mkfbGW8Qn1DlxYGEZ7/RNZ20NfIu2x8x5Cwkdg381eRmj0Tpe1+LCSf/oaxD2tgk1/YmRFVNqt8eCMl2psMw== X-Google-Smtp-Source: AGHT+IErt42oxjZNH7CGyz/e3G5jrn7Gko3hsE2HFc8dcvJF1rzZWR3+oVBMarA5DgWwS8qM6ZxL X-Received: by 2002:a05:6214:3388:b0:6a0:b905:95ca with SMTP id 6a1803df08f44-6a1682575f8mr163613606d6.44.1715726810961; Tue, 14 May 2024 15:46:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715726810; cv=pass; d=google.com; s=arc-20160816; b=rdQylFhoy3dyIMOL7eL/zeKPKxDFiF6TmvsKhG+Vd+gs/jQVBlGrV/gLNXItTdJCI8 oYs6YuZj64W9EeGWWHGBv1hb3B5MXgOsuA8D5COaBC9dQnRepcHJIS6TflaJU8IJ6aq5 dFeK+4fkCieUHQzzc8PdJORrBWdTTv3RXBIWeKAI21acFS6JDx6HQjGr+A2l7+DcORq9 wON/Tbs7KQBeAY4bzRsDb6lIL/AKNqHsZ4jHqIZ2+/sXiPq+Wjd9RHk4lP1mHW26W0nZ P2SgEhZuzjcAunjWtUFYvu6fqEORf5oszHL+NAoo4OSCwoYmvGZyjUGsvOwCHN+S3Q+l XJWw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature:dkim-filter; bh=nn4KQV68n4WSbSFFxJJQzluv/kgRud1rPVzivgVs9S0=; fh=5+mhPmlvReuuO3ip8XQ+GwIQVcZGbRQ3OJ50BSBicsY=; b=jqmyD4zympKsdnyqa4Nj1VVx5TK2wIivy3MJWIISszckNnzRCYkOo4vO6OaHTP1S2E QIr/2bEYzBcjUxs92t57WWUmaEofxzmwJ4mzM4N4wauEjnBBhtcPZ9Zp3wXQ+2qKA4VH 6BPhx42cJHdoT/+m1uVTbdzjJ6eyFpz/uBjkb/+oktW+yE0nApJYNKXbSAe3HNAZoakf pQ9JmUB13X8M5VjdRl55aDrC7J7zrZwqQ4vPUNgAPreYv4rCSW0yFKnEO6Lr/o9H3fxP WvoCWyHXPz3C++jld5LX4TGezs6xOurrAuUlYRH+thkPT4em50ot+2UjFrUTaR4WtXC0 hZ0g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b="XaX/+GHn"; arc=pass (i=1 spf=pass spfdomain=linux.microsoft.com dkim=pass dkdomain=linux.microsoft.com dmarc=pass fromdomain=linux.microsoft.com); spf=pass (google.com: domain of linux-kernel+bounces-179236-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-179236-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id 6a1803df08f44-6a15f2b67b5si128635136d6.389.2024.05.14.15.46.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 May 2024 15:46:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-179236-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b="XaX/+GHn"; arc=pass (i=1 spf=pass spfdomain=linux.microsoft.com dkim=pass dkdomain=linux.microsoft.com dmarc=pass fromdomain=linux.microsoft.com); spf=pass (google.com: domain of linux-kernel+bounces-179236-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-179236-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id A783C1C20B2C for ; Tue, 14 May 2024 22:46:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 44659184136; Tue, 14 May 2024 22:45:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="XaX/+GHn" Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6DB61182C8C; Tue, 14 May 2024 22:45:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715726730; cv=none; b=B8M8INrcazBfZFFmt3DwYcmOVX53TnEOLiccvR+5FuNQuF6MlruB0vlUQ1SJPeyfEBELMtddR1XlqZU5A5imzW4YWok3gLYqGSNbWi33pHCFTx8bVetbeFnUMgijnikq4LLjWs8QsZrE9CsPYMcy5CY1q5qG/fPY/Gr8MV8WuuM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715726730; c=relaxed/simple; bh=Zv26x/T8ogrdxgGzOuPHS9PDINbVhcAXhtoB3XLW4Qk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QfOn84RrnywBp2UtsxOwS9gGMWQrqrO8nljpXVtW6+JnZIBcAwghhOV4j2xH8WZkkkjwIBOtW5odcoTr6CR+zIDLRomBeQl7/R47hPldG7OWZgTwqxQJCfZYCxuW/QxHyV8W0u3yo6+N23TJPt6JoSA6S9VLyrzL1xqPMOJAu7o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=XaX/+GHn; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Received: from xps-8930.corp.microsoft.com (unknown [131.107.160.48]) by linux.microsoft.com (Postfix) with ESMTPSA id 594892095D11; Tue, 14 May 2024 15:45:22 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 594892095D11 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1715726722; bh=nn4KQV68n4WSbSFFxJJQzluv/kgRud1rPVzivgVs9S0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XaX/+GHnNrg4XA0FawTJAnlgsIOEcHB9P133ahRuzmaWgZZ6922vOaNOwsOEObWM7 AKTg8l8OU+3i7fIREg8gSUe0LulylVa3E4yiL/5WxMUHcppdm87ciWmuuZ4a9P2COu hpuzTKW1wNC60oQ1+gokVeFkzm41EemxwR99IiVY= From: Roman Kisel To: arnd@arndb.de, bhelgaas@google.com, bp@alien8.de, catalin.marinas@arm.com, dave.hansen@linux.intel.com, decui@microsoft.com, haiyangz@microsoft.com, hpa@zytor.com, kw@linux.com, kys@microsoft.com, lenb@kernel.org, lpieralisi@kernel.org, mingo@redhat.com, mhklinux@outlook.com, rafael@kernel.org, robh@kernel.org, tglx@linutronix.de, wei.liu@kernel.org, will@kernel.org, linux-acpi@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, x86@kernel.org Cc: ssengar@microsoft.com, sunilmut@microsoft.com, vdso@hexbites.dev Subject: [PATCH v2 6/6] drivers/pci/hyperv/arm64: vPCI MSI IRQ domain from DT Date: Tue, 14 May 2024 15:43:53 -0700 Message-ID: <20240514224508.212318-7-romank@linux.microsoft.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240514224508.212318-1-romank@linux.microsoft.com> References: <20240514224508.212318-1-romank@linux.microsoft.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The hyperv-pci driver uses ACPI for MSI IRQ domain configuration on arm64 thereby it won't be able to do that in the VTL mode where only DeviceTree can be used. Update the hyperv-pci driver to discover interrupt configuration via DeviceTree. Signed-off-by: Roman Kisel --- drivers/pci/controller/pci-hyperv.c | 13 ++++++++++--- include/linux/acpi.h | 9 +++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c index 1eaffff40b8d..ccc2b54206f4 100644 --- a/drivers/pci/controller/pci-hyperv.c +++ b/drivers/pci/controller/pci-hyperv.c @@ -906,9 +906,16 @@ static int hv_pci_irqchip_init(void) * way to ensure that all the corresponding devices are also gone and * no interrupts will be generated. */ - hv_msi_gic_irq_domain = acpi_irq_create_hierarchy(0, HV_PCI_MSI_SPI_NR, - fn, &hv_pci_domain_ops, - chip_data); + if (acpi_disabled) + hv_msi_gic_irq_domain = irq_domain_create_hierarchy( + irq_find_matching_fwnode(fn, DOMAIN_BUS_ANY), + 0, HV_PCI_MSI_SPI_NR, + fn, &hv_pci_domain_ops, + chip_data); + else + hv_msi_gic_irq_domain = acpi_irq_create_hierarchy(0, HV_PCI_MSI_SPI_NR, + fn, &hv_pci_domain_ops, + chip_data); if (!hv_msi_gic_irq_domain) { pr_err("Failed to create Hyper-V arm64 vPCI MSI IRQ domain\n"); diff --git a/include/linux/acpi.h b/include/linux/acpi.h index b7165e52b3c6..498cbb2c40a1 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -1077,6 +1077,15 @@ static inline bool acpi_sleep_state_supported(u8 sleep_state) return false; } +static inline struct irq_domain *acpi_irq_create_hierarchy(unsigned int flags, + unsigned int size, + struct fwnode_handle *fwnode, + const struct irq_domain_ops *ops, + void *host_data) +{ + return NULL; +} + #endif /* !CONFIG_ACPI */ extern void arch_post_acpi_subsys_init(void); -- 2.45.0