]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: storvsc: Add Isolation VM support for storvsc driver
authorTianyu Lan <Tianyu.Lan@microsoft.com>
Mon, 13 Dec 2021 07:14:05 +0000 (02:14 -0500)
committerWei Liu <wei.liu@kernel.org>
Mon, 20 Dec 2021 18:01:09 +0000 (18:01 +0000)
commitf89e9054846bbeff4f7d8678e8a1c0ca7c7ba585
treeb8f10ea7c066f5f03db0da0644ae77384b77fe1d
parent3a14d0c971ad277f9a0d3ac289dbc49441515282
scsi: storvsc: Add Isolation VM support for storvsc driver

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
storvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
mpb_desc() still needs to be handled. Use DMA API(scsi_dma_map/unmap)
to map these memory during sending/receiving packet and return swiotlb
bounce buffer dma address. In Isolation VM, swiotlb  bounce buffer is
marked to be visible to host and the swiotlb force mode is enabled.

Set device's dma min align mask to HV_HYP_PAGE_SIZE - 1 in order to
keep the original data offset in the bounce buffer.

Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Reviewed-by: Long Li <longli@microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20211213071407.314309-5-ltykernel@gmail.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
drivers/hv/vmbus_drv.c
drivers/scsi/storvsc_drv.c
include/linux/hyperv.h