aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSouradeep Chakrabarti <schakrabarti@microsoft.com>2022-10-21 07:49:28 +0000
committerWei Hu <whu@FreeBSD.org>2022-10-21 08:40:32 +0000
commit0c38e1c3383ab540ed01284be46769263c560d96 (patch)
tree5d47b6578dc2a2c2dc7639047a8ed1afac3e52f2
parenta2d60916d0dd4073d8da15bad65f301e9f8085fa (diff)
downloadsrc-0c38e1c3383ab540ed01284be46769263c560d96.tar.gz
src-0c38e1c3383ab540ed01284be46769263c560d96.zip
arm64: Hyper-V: vmbus: use the IRQ resource from vmbus_res
In ARM64 gen2 Hyper-V, use IRQ resource from vmbus_res, which is owning the IRQ for current device tree. It allows the MMIO resource to be successfully allocated for vmbus from parent acpi_syscontainer. Reviewed by: whu Tested by: Souradeep Chakrabarti <schakrabarti@microsoft.com> Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D37064
-rw-r--r--sys/dev/hyperv/vmbus/aarch64/vmbus_aarch64.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/hyperv/vmbus/aarch64/vmbus_aarch64.c b/sys/dev/hyperv/vmbus/aarch64/vmbus_aarch64.c
index ba4d8c9bc36e..66e605b94094 100644
--- a/sys/dev/hyperv/vmbus/aarch64/vmbus_aarch64.c
+++ b/sys/dev/hyperv/vmbus/aarch64/vmbus_aarch64.c
@@ -111,8 +111,10 @@ vmbus_setup_intr1(struct vmbus_softc *sc)
{
int err;
struct intr_map_data_acpi *irq_data;
+ device_t dev;
- sc->ires = bus_alloc_resource_any(device_get_parent(sc->vmbus_dev),
+ dev = devclass_get_device(devclass_find("vmbus_res"), 0);
+ sc->ires = bus_alloc_resource_any(dev,
SYS_RES_IRQ, &sc->vector, RF_ACTIVE | RF_SHAREABLE);
if (sc->ires == NULL) {
device_printf(sc->vmbus_dev, "bus_alloc_resouce_any failed\n");