nvme: set NUMDU in Get Log Page command
NUMDU was added with NVMe 1.2.1 and allows a larger log page size to be described. Change-Id: I1a4ac42393c1a21175b3564980d56b6e7a6ae80d Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
8b3ec5bb42
commit
da92639400
@ -345,8 +345,17 @@ spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page
|
||||
{
|
||||
struct nvme_request *req;
|
||||
struct spdk_nvme_cmd *cmd;
|
||||
uint32_t numd, numdl, numdu;
|
||||
int rc;
|
||||
|
||||
if (payload_size == 0) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
numd = payload_size / sizeof(uint32_t) - 1u;
|
||||
numdl = numd & 0xFFFFu;
|
||||
numdu = (numd >> 16) & 0xFFFFu;
|
||||
|
||||
pthread_mutex_lock(&ctrlr->ctrlr_lock);
|
||||
req = nvme_allocate_request_user_copy(payload, payload_size, cb_fn, cb_arg, false);
|
||||
if (req == NULL) {
|
||||
@ -357,8 +366,9 @@ spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page
|
||||
cmd = &req->cmd;
|
||||
cmd->opc = SPDK_NVME_OPC_GET_LOG_PAGE;
|
||||
cmd->nsid = nsid;
|
||||
cmd->cdw10 = ((payload_size / sizeof(uint32_t)) - 1) << 16;
|
||||
cmd->cdw10 = numdl << 16;
|
||||
cmd->cdw10 |= log_page;
|
||||
cmd->cdw11 = numdu;
|
||||
|
||||
rc = nvme_ctrlr_submit_admin_request(ctrlr, req);
|
||||
pthread_mutex_unlock(&ctrlr->ctrlr_lock);
|
||||
|
Loading…
Reference in New Issue
Block a user