Re: [PATCH v2] UFS: Date Segment only need for WRITE DESCRIPTOR
From: subhashj
Date: Wed Sep 28 2016 - 18:42:33 EST
On 2016-09-27 22:14, Martin K. Petersen wrote:
"Subhash" == subhashj <subhashj@xxxxxxxxxxxxxx> writes:
Subhash> Looks good to me.
- /* Data segment length */
- ucd_req_ptr->header.dword_2 = UPIU_HEADER_DWORD(
- 0, 0, len >> 8, (u8)len);
+ /* Data segment length only need for WRITE_DESC */
+ if (query->request.upiu_req.opcode == UPIU_QUERY_OPCODE_WRITE_DESC)
+ ucd_req_ptr->header.dword_2 =
+ UPIU_HEADER_DWORD(0, 0, (len >> 8), (u8)len);
+ else
+ ucd_req_ptr->header.dword_2 = 0;
What about READ_DESC?
This patch is changing the value written to "Data Segment Length" field
in the Basic header section of Query Request UPIU. This is description
of "Data Segment Length" from UFS device v2.1 spec (JESD220C,
line#1429-1430): "The Data Segment Length field contains the number of
valid bytes within the Data Segment of the UPIU". Because we will not be
sending any data segment in the request UPIU itself for the read
descriptor hence this field can be zeroed out for descriptor read.
Read length for the "read descriptor" transaction needs to be specified
(in ) in "LENGTH" of transaction specific fields of query request UPIU.
Thanks,
Subhash