summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHardik Tushar Shah <hardikts@nvidia.com>2020-02-18 04:59:11 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2020-02-28 10:39:49 -0500
commit9a434d524e4512e009fd4c4ec502e34c525cb29b (patch)
tree5c6fbf5bbd640a6d5207b001fd0b8891e80a23f8 /include
parentee27a7ee99182192485923d20fc554e3e43c0d5e (diff)
SCSI: Fix SCSI ioctls for virtual storage driver
Virtualized Storage driver expects data buffer to be cache aligned as its used by DMA engine for transfer. Driver allocates cache aligned buffer but data len is not cache aligned since data_len depends on ioctl. So add field to pass data_buf_len separately which is cache aligned. Change VSC server to use this field for cache operations for IOCTLs. Bug 200588819 Change-Id: Ib6b40a06582bd7fe6f60dee854096a42db4d08b2 Signed-off-by: Hardik Tushar Shah <hardikts@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2299239 Reviewed-by: Dmitry Pervushin <dpervushin@nvidia.com> Reviewed-by: Phoenix Jung <pjung@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/tegra_virt_storage_spec.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/tegra_virt_storage_spec.h b/include/tegra_virt_storage_spec.h
index d476d5463..ef5c2bb97 100644
--- a/include/tegra_virt_storage_spec.h
+++ b/include/tegra_virt_storage_spec.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved. 2 * Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
3 * 3 *
4 * This software is licensed under the terms of the GNU General Public 4 * This software is licensed under the terms of the GNU General Public
5 * License version 2, as published by the Free Software Foundation, and 5 * License version 2, as published by the Free Software Foundation, and
@@ -233,6 +233,7 @@ struct vblk_sg_io_hdr
233 uint32_t sbp_arg_offset; /* [i], [*o] offset to sense_buffer memory */ 233 uint32_t sbp_arg_offset; /* [i], [*o] offset to sense_buffer memory */
234 uint32_t status; /* [o] scsi status */ 234 uint32_t status; /* [o] scsi status */
235 uint8_t sb_len_wr; /* [o] byte count actually written to sbp */ 235 uint8_t sb_len_wr; /* [o] byte count actually written to sbp */
236 uint32_t dxfer_buf_len; /* [i] Length of data transfer buffer */
236}; 237};
237 238
238#pragma pack(pop) 239#pragma pack(pop)