From nobody Mon Feb 9 08:57:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1603964074; cv=none; d=zohomail.com; s=zohoarc; b=cGOCnXa9r7UcHV7lOyLWTtW65xRa/BtRkvHse+bJFF4M4HoP6FDpmDEvPdqLWd19Li8fEo8I14JkBG9uSpH1vOR1N2wgfdgaFx6mrIHmUgVy3Vx3wDbzOSYD1g45UV6ZBoFg5Vk30uafHCirU6akq+es9byWSgen3D3WGK2m2JU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603964074; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=aD6wOmxyFdCPV49Ruw6nu+GcSa7FrFcv+dDSPChtcUc=; b=G/VLOO+BYG+chmIdp858hvkF8FsGbvUGI9e2YFqXUWCMR11lDJJPA7Zg3DE4nIq4dPalxIzWz9+U6lAkdiGkZVcmkzSCxS65qGp2tjjQyvrfDqrhb9vHDPJDt+K+KXqOjd2GJADOKcdmeV5viE88p8gGyA7vPpW4b/su7h61Sjg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=philmd@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1603964074186983.3793090833943; Thu, 29 Oct 2020 02:34:34 -0700 (PDT) Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-255-2CoiReC3PmiagMPqWse9lQ-1; Thu, 29 Oct 2020 05:34:31 -0400 Received: by mail-ej1-f69.google.com with SMTP id c10so936580ejm.15 for ; Thu, 29 Oct 2020 02:34:30 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (234.red-83-42-66.dynamicip.rima-tde.net. [83.42.66.234]) by smtp.gmail.com with ESMTPSA id f13sm1144515ejf.42.2020.10.29.02.34.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2020 02:34:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603964073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aD6wOmxyFdCPV49Ruw6nu+GcSa7FrFcv+dDSPChtcUc=; b=E7cDZZdEqBtdvmhxy/0xngaGQghmmL6PBsSI0DXuh8gJe+wYlabvtTyTaEt2XSvFROFb43 cdVgIv/sun03VLKnzwSnLJIWoS1+RlWwdlgjlrk3NDNWMuZVkO3R/OK22r37XkcJL7V+BR 93GndoWN+ywTiN4T0EiS8xqjCAInj7c= X-MC-Unique: 2CoiReC3PmiagMPqWse9lQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aD6wOmxyFdCPV49Ruw6nu+GcSa7FrFcv+dDSPChtcUc=; b=o4GSe2FqHCQdQ645e40pPeriCo7dOp68G1pm3p0I8+Bwi+CrQoLWwvFXUkwIQUzEF9 Cww3g4gW55leXJ+uI3uG0jPZWX3xfLSeOJXG/t+4w8II3t5W95lqhGeJRnI7lKXnjmmC 4HqR/Qp3TJxm5j2fB1yRxo2/NzIu/IUQLGannzEuusehcNFcfnikAVd7YeZPLjU4EHvK mw9T8HsT8EnBMP1xgyocRkyYh56heVjd+KiyGJxSxgC3fWzyA8x6jr5J+sGZgYHSm0E9 bpCs2+WzY2R7lBhgXCpCzBSH4vTRajNMmFkFVpSdZDhxOtnn10aZfWOX95sPQ/aC6x+V FMDw== X-Gm-Message-State: AOAM532sgSflF8HmSb9hUKUE3YlYvhvfchDtXYHguv3R+N/9OfBMpz2G LUV/gFbb2/CnxX7l9j9ZFX7DQS/Cq+Wf/VbC4dWxetk+fMj5qeSrc+UHjjcushieq8UO3o7wvPf e68MT1EaAvqr6bA== X-Received: by 2002:aa7:d690:: with SMTP id d16mr58171edr.329.1603964069873; Thu, 29 Oct 2020 02:34:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz3DhRtBm+GvI0yKAKWEkk39Y/cLInIsq1r9fw+4b+rgY9MXGQl6MTc6JoOv5dc7NmbuD9zgQ== X-Received: by 2002:aa7:d690:: with SMTP id d16mr58160edr.329.1603964069720; Thu, 29 Oct 2020 02:34:29 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, Stefan Hajnoczi , Kevin Wolf , Klaus Jensen , Eric Auger , Max Reitz , Fam Zheng , Keith Busch , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH-for-5.2 v2 15/25] block/nvme: Simplify ADMIN queue access Date: Thu, 29 Oct 2020 10:32:56 +0100 Message-Id: <20201029093306.1063879-16-philmd@redhat.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201029093306.1063879-1-philmd@redhat.com> References: <20201029093306.1063879-1-philmd@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) We don't need to dereference from BDRVNVMeState each time. Use a NVMeQueuePair pointer on the admin queue. The nvme_init() becomes easier to review, matching the style of nvme_add_io_queue(). Reviewed-by: Eric Auger Reviewed-by: Stefan Hajnoczi Tested-by: Eric Auger Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- block/nvme.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/block/nvme.c b/block/nvme.c index 0902aa55428..eed12f4933c 100644 --- a/block/nvme.c +++ b/block/nvme.c @@ -700,6 +700,7 @@ static int nvme_init(BlockDriverState *bs, const char *= device, int namespace, Error **errp) { BDRVNVMeState *s =3D bs->opaque; + NVMeQueuePair *q; AioContext *aio_context =3D bdrv_get_aio_context(bs); int ret; uint64_t cap; @@ -781,19 +782,18 @@ static int nvme_init(BlockDriverState *bs, const char= *device, int namespace, =20 /* Set up admin queue. */ s->queues =3D g_new(NVMeQueuePair *, 1); - s->queues[INDEX_ADMIN] =3D nvme_create_queue_pair(s, aio_context, 0, - NVME_QUEUE_SIZE, - errp); - if (!s->queues[INDEX_ADMIN]) { + q =3D nvme_create_queue_pair(s, aio_context, 0, NVME_QUEUE_SIZE, errp); + if (!q) { ret =3D -EINVAL; goto out; } + s->queues[INDEX_ADMIN] =3D q; s->queue_count =3D 1; QEMU_BUILD_BUG_ON((NVME_QUEUE_SIZE - 1) & 0xF000); regs->aqa =3D cpu_to_le32(((NVME_QUEUE_SIZE - 1) << AQA_ACQS_SHIFT) | ((NVME_QUEUE_SIZE - 1) << AQA_ASQS_SHIFT)); - regs->asq =3D cpu_to_le64(s->queues[INDEX_ADMIN]->sq.iova); - regs->acq =3D cpu_to_le64(s->queues[INDEX_ADMIN]->cq.iova); + regs->asq =3D cpu_to_le64(q->sq.iova); + regs->acq =3D cpu_to_le64(q->cq.iova); =20 /* After setting up all control registers we can enable device now. */ regs->cc =3D cpu_to_le32((ctz32(NVME_CQ_ENTRY_BYTES) << CC_IOCQES_SHIF= T) | --=20 2.26.2