ioat: cleanup logic in spdk_ioat_submit_copy
Change-Id: I90614b93e1eb6b7b09ca7a21efe5a782f08a9da6 Signed-off-by: Ziye Yang <ziye.yang@intel.com>
This commit is contained in:
parent
5ee4728d0c
commit
4a5a24d537
@ -593,14 +593,20 @@ spdk_ioat_submit_copy(struct spdk_ioat_chan *ioat, void *cb_arg, spdk_ioat_req_c
|
|||||||
|
|
||||||
vdst = (uint64_t)dst;
|
vdst = (uint64_t)dst;
|
||||||
vsrc = (uint64_t)src;
|
vsrc = (uint64_t)src;
|
||||||
vsrc_page = _2MB_PAGE(vsrc);
|
vdst_page = vsrc_page = 0;
|
||||||
vdst_page = _2MB_PAGE(vdst);
|
pdst_page = psrc_page = SPDK_VTOPHYS_ERROR;
|
||||||
psrc_page = spdk_vtophys((void *)vsrc_page);
|
|
||||||
pdst_page = spdk_vtophys((void *)vdst_page);
|
|
||||||
|
|
||||||
remaining = nbytes;
|
remaining = nbytes;
|
||||||
|
|
||||||
while (remaining) {
|
while (remaining) {
|
||||||
|
if (_2MB_PAGE(vsrc) != vsrc_page) {
|
||||||
|
vsrc_page = _2MB_PAGE(vsrc);
|
||||||
|
psrc_page = spdk_vtophys((void *)vsrc_page);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_2MB_PAGE(vdst) != vdst_page) {
|
||||||
|
vdst_page = _2MB_PAGE(vdst);
|
||||||
|
pdst_page = spdk_vtophys((void *)vdst_page);
|
||||||
|
}
|
||||||
op_size = remaining;
|
op_size = remaining;
|
||||||
op_size = min(op_size, (0x200000 - _2MB_OFFSET(vsrc)));
|
op_size = min(op_size, (0x200000 - _2MB_OFFSET(vsrc)));
|
||||||
op_size = min(op_size, (0x200000 - _2MB_OFFSET(vdst)));
|
op_size = min(op_size, (0x200000 - _2MB_OFFSET(vdst)));
|
||||||
@ -619,15 +625,6 @@ spdk_ioat_submit_copy(struct spdk_ioat_chan *ioat, void *cb_arg, spdk_ioat_req_c
|
|||||||
vsrc += op_size;
|
vsrc += op_size;
|
||||||
vdst += op_size;
|
vdst += op_size;
|
||||||
|
|
||||||
if (_2MB_PAGE(vsrc) != vsrc_page) {
|
|
||||||
vsrc_page = _2MB_PAGE(vsrc);
|
|
||||||
psrc_page = spdk_vtophys((void *)vsrc_page);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_2MB_PAGE(vdst) != vdst_page) {
|
|
||||||
vdst_page = _2MB_PAGE(vdst);
|
|
||||||
pdst_page = spdk_vtophys((void *)vdst_page);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/* Issue null descriptor for null transfer */
|
/* Issue null descriptor for null transfer */
|
||||||
if (nbytes == 0) {
|
if (nbytes == 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user