]> git.baikalelectronics.ru Git - kernel.git/commit
Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus device
authorMichael Kelley <mikelley@microsoft.com>
Thu, 24 Mar 2022 16:14:51 +0000 (09:14 -0700)
committerWei Liu <wei.liu@kernel.org>
Tue, 29 Mar 2022 12:12:50 +0000 (12:12 +0000)
commit4f0da072e8272e759aace51752f81725662d9bba
treef207568ffac02555c7909b4c0fcaa53c6cdbf212
parentb47f3c5718a71f70331475e20c8727fb8c499ea8
Drivers: hv: vmbus: Propagate VMbus coherence to each VMbus device

VMbus synthetic devices are not represented in the ACPI DSDT -- only
the top level VMbus device is represented. As a result, on ARM64
coherence information in the _CCA method is not specified for
synthetic devices, so they default to not hardware coherent.
Drivers for some of these synthetic devices have been recently
updated to use the standard DMA APIs, and they are incurring extra
overhead of unneeded software coherence management.

Fix this by propagating coherence information from the VMbus node
in ACPI to the individual synthetic devices. There's no effect on
x86/x64 where devices are always hardware coherent.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/1648138492-2191-2-git-send-email-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
drivers/hv/hv_common.c
drivers/hv/vmbus_drv.c
include/asm-generic/mshyperv.h