mirror of https://gitee.com/openkylin/qemu.git
block/nvme: Use definitions instead of magic values in add_io_queue()
Replace magic values by definitions, and simplifiy since the number of queues will never reach 64K. Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20201029093306.1063879-14-philmd@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com>
This commit is contained in:
parent
54248d4d73
commit
76a24781cc
|
@ -652,6 +652,7 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Error **errp)
|
||||||
NvmeCmd cmd;
|
NvmeCmd cmd;
|
||||||
unsigned queue_size = NVME_QUEUE_SIZE;
|
unsigned queue_size = NVME_QUEUE_SIZE;
|
||||||
|
|
||||||
|
assert(n <= UINT16_MAX);
|
||||||
q = nvme_create_queue_pair(s, bdrv_get_aio_context(bs),
|
q = nvme_create_queue_pair(s, bdrv_get_aio_context(bs),
|
||||||
n, queue_size, errp);
|
n, queue_size, errp);
|
||||||
if (!q) {
|
if (!q) {
|
||||||
|
@ -660,8 +661,8 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Error **errp)
|
||||||
cmd = (NvmeCmd) {
|
cmd = (NvmeCmd) {
|
||||||
.opcode = NVME_ADM_CMD_CREATE_CQ,
|
.opcode = NVME_ADM_CMD_CREATE_CQ,
|
||||||
.dptr.prp1 = cpu_to_le64(q->cq.iova),
|
.dptr.prp1 = cpu_to_le64(q->cq.iova),
|
||||||
.cdw10 = cpu_to_le32(((queue_size - 1) << 16) | (n & 0xFFFF)),
|
.cdw10 = cpu_to_le32(((queue_size - 1) << 16) | n),
|
||||||
.cdw11 = cpu_to_le32(0x3),
|
.cdw11 = cpu_to_le32(NVME_CQ_IEN | NVME_CQ_PC),
|
||||||
};
|
};
|
||||||
if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) {
|
if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) {
|
||||||
error_setg(errp, "Failed to create CQ io queue [%u]", n);
|
error_setg(errp, "Failed to create CQ io queue [%u]", n);
|
||||||
|
@ -670,8 +671,8 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Error **errp)
|
||||||
cmd = (NvmeCmd) {
|
cmd = (NvmeCmd) {
|
||||||
.opcode = NVME_ADM_CMD_CREATE_SQ,
|
.opcode = NVME_ADM_CMD_CREATE_SQ,
|
||||||
.dptr.prp1 = cpu_to_le64(q->sq.iova),
|
.dptr.prp1 = cpu_to_le64(q->sq.iova),
|
||||||
.cdw10 = cpu_to_le32(((queue_size - 1) << 16) | (n & 0xFFFF)),
|
.cdw10 = cpu_to_le32(((queue_size - 1) << 16) | n),
|
||||||
.cdw11 = cpu_to_le32(0x1 | (n << 16)),
|
.cdw11 = cpu_to_le32(NVME_SQ_PC | (n << 16)),
|
||||||
};
|
};
|
||||||
if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) {
|
if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) {
|
||||||
error_setg(errp, "Failed to create SQ io queue [%u]", n);
|
error_setg(errp, "Failed to create SQ io queue [%u]", n);
|
||||||
|
|
Loading…
Reference in New Issue