Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5bff9e85 authored by Sebastian Andrzej Siewior's avatar Sebastian Andrzej Siewior Committed by Nicholas Bellinger
Browse files

target/rd: simplify the page/offset computation



Breakout rd_MEMCPY_do_task() usage of do_div() to tmp value during
rd_request->rd_page assignment.

Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 6f214755
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -583,14 +583,12 @@ static int rd_MEMCPY_do_task(struct se_task *task)
{
	struct se_device *dev = task->task_se_cmd->se_dev;
	struct rd_request *req = RD_REQ(task);
	unsigned long long lba;
	u64 tmp;
	int ret;

	req->rd_page = (task->task_lba * dev->se_sub_dev->se_dev_attrib.block_size) / PAGE_SIZE;
	lba = task->task_lba;
	req->rd_offset = (do_div(lba,
			  (PAGE_SIZE / dev->se_sub_dev->se_dev_attrib.block_size))) *
			   dev->se_sub_dev->se_dev_attrib.block_size;
	tmp = task->task_lba * dev->se_sub_dev->se_dev_attrib.block_size;
	req->rd_offset = do_div(tmp, PAGE_SIZE);
	req->rd_page = tmp;
	req->rd_size = task->task_size;

	if (task->task_data_direction == DMA_FROM_DEVICE)