hw/ufs: Adjust value to match CPU's endian format
In ufs_write_attr_value(), the value parameter is handled in the CPU's endian format but provided in big-endian format by the caller. Thus, it is converted to the CPU's endian format. The related test code is also fixed to reflect this change. Fixes: 7c85332a2b3e ("hw/ufs: minor bug fixes related to ufs-test") Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Keoseong Park <keosung.park@samsung.com> Reviewed-by: Jeuk Kim <jeuk20.kim@samsung.com> Message-ID: <20250107084356epcms2p2af4d86432174d76ea57336933e46b4c3@epcms2p2> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
c407eef162
commit
4572dacc33
@ -1164,7 +1164,7 @@ static QueryRespCode ufs_exec_query_attr(UfsRequest *req, int op)
|
|||||||
value = ufs_read_attr_value(u, idn);
|
value = ufs_read_attr_value(u, idn);
|
||||||
ret = UFS_QUERY_RESULT_SUCCESS;
|
ret = UFS_QUERY_RESULT_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
value = req->req_upiu.qr.value;
|
value = be32_to_cpu(req->req_upiu.qr.value);
|
||||||
ret = ufs_write_attr_value(u, idn, value);
|
ret = ufs_write_attr_value(u, idn, value);
|
||||||
}
|
}
|
||||||
req->rsp_upiu.qr.value = cpu_to_be32(value);
|
req->rsp_upiu.qr.value = cpu_to_be32(value);
|
||||||
|
@ -145,7 +145,7 @@ static void ufs_send_query(QUfs *ufs, uint8_t slot, uint8_t query_function,
|
|||||||
req_upiu.qr.idn = idn;
|
req_upiu.qr.idn = idn;
|
||||||
req_upiu.qr.index = index;
|
req_upiu.qr.index = index;
|
||||||
req_upiu.qr.selector = selector;
|
req_upiu.qr.selector = selector;
|
||||||
req_upiu.qr.value = attr_value;
|
req_upiu.qr.value = cpu_to_be32(attr_value);
|
||||||
req_upiu.qr.length = UFS_QUERY_DESC_MAX_SIZE;
|
req_upiu.qr.length = UFS_QUERY_DESC_MAX_SIZE;
|
||||||
qtest_memwrite(ufs->dev.bus->qts, req_upiu_addr, &req_upiu,
|
qtest_memwrite(ufs->dev.bus->qts, req_upiu_addr, &req_upiu,
|
||||||
sizeof(req_upiu));
|
sizeof(req_upiu));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user