On Apr 19 15:01, Alexander Mikhalitsyn wrote:
> From: Alexander Mikhalitsyn <[email protected]>
> 
> Signed-off-by: Alexander Mikhalitsyn <[email protected]>

LGTM, but a short description on why this is needed in preparation for
later patches would be nice :)

Reviewed-by: Klaus Jensen <[email protected]>

> ---
>  hw/nvme/ctrl.c | 59 +++++++++++++++++++++++++++++++-------------------
>  1 file changed, 37 insertions(+), 22 deletions(-)
> 
> diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
> index 9f9c9bcbead..191398e700f 100644
> --- a/hw/nvme/ctrl.c
> +++ b/hw/nvme/ctrl.c
> @@ -4854,18 +4854,14 @@ static uint16_t nvme_del_sq(NvmeCtrl *n, NvmeRequest 
> *req)
>      return NVME_SUCCESS;
>  }
>  
> -static void nvme_init_sq(NvmeSQueue *sq, NvmeCtrl *n, uint64_t dma_addr,
> -                         uint16_t sqid, uint16_t cqid, uint16_t size)
> +static void __nvme_init_sq(NvmeSQueue *sq)
>  {
> +    NvmeCtrl *n = sq->ctrl;
> +    uint16_t sqid = sq->sqid;
> +    uint16_t cqid = sq->cqid;
>      int i;
>      NvmeCQueue *cq;
>  
> -    sq->ctrl = n;
> -    sq->dma_addr = dma_addr;
> -    sq->sqid = sqid;
> -    sq->size = size;
> -    sq->cqid = cqid;
> -    sq->head = sq->tail = 0;
>      sq->io_req = g_new0(NvmeRequest, sq->size);
>  
>      QTAILQ_INIT(&sq->req_list);
> @@ -4895,6 +4891,18 @@ static void nvme_init_sq(NvmeSQueue *sq, NvmeCtrl *n, 
> uint64_t dma_addr,
>      n->sq[sqid] = sq;
>  }
>  
> +static void nvme_init_sq(NvmeSQueue *sq, NvmeCtrl *n, uint64_t dma_addr,
> +                         uint16_t sqid, uint16_t cqid, uint16_t size)
> +{
> +    sq->ctrl = n;
> +    sq->dma_addr = dma_addr;
> +    sq->sqid = sqid;
> +    sq->size = size;
> +    sq->cqid = cqid;
> +    sq->head = sq->tail = 0;
> +    __nvme_init_sq(sq);
> +}
> +
>  static uint16_t nvme_create_sq(NvmeCtrl *n, NvmeRequest *req)
>  {
>      NvmeSQueue *sq;
> @@ -5555,25 +5563,16 @@ static uint16_t nvme_del_cq(NvmeCtrl *n, NvmeRequest 
> *req)
>      return NVME_SUCCESS;
>  }
>  
> -static void nvme_init_cq(NvmeCQueue *cq, NvmeCtrl *n, uint64_t dma_addr,
> -                         uint16_t cqid, uint16_t vector, uint16_t size,
> -                         uint16_t irq_enabled)
> +static void __nvme_init_cq(NvmeCQueue *cq)
>  {
> +    NvmeCtrl *n = cq->ctrl;
>      PCIDevice *pci = PCI_DEVICE(n);
> +    uint16_t cqid = cq->cqid;
>  
> -    if (msix_enabled(pci) && irq_enabled) {
> -        msix_vector_use(pci, vector);
> +    if (msix_enabled(pci) && cq->irq_enabled) {
> +        msix_vector_use(pci, cq->vector);
>      }
>  
> -    cq->ctrl = n;
> -    cq->cqid = cqid;
> -    cq->size = size;
> -    cq->dma_addr = dma_addr;
> -    cq->phase = 1;
> -    cq->irq_enabled = irq_enabled;
> -    cq->vector = vector;
> -    cq->head = cq->tail = 0;
> -    QTAILQ_INIT(&cq->req_list);
>      QTAILQ_INIT(&cq->sq_list);
>      if (n->dbbuf_enabled) {
>          cq->db_addr = n->dbbuf_dbs + (cqid << 3) + (1 << 2);
> @@ -5590,6 +5589,22 @@ static void nvme_init_cq(NvmeCQueue *cq, NvmeCtrl *n, 
> uint64_t dma_addr,
>                                   &DEVICE(cq->ctrl)->mem_reentrancy_guard);
>  }
>  
> +static void nvme_init_cq(NvmeCQueue *cq, NvmeCtrl *n, uint64_t dma_addr,
> +                         uint16_t cqid, uint16_t vector, uint16_t size,
> +                         uint16_t irq_enabled)
> +{
> +    cq->ctrl = n;
> +    cq->cqid = cqid;
> +    cq->size = size;
> +    cq->dma_addr = dma_addr;
> +    cq->phase = 1;
> +    cq->irq_enabled = irq_enabled;
> +    cq->vector = vector;
> +    cq->head = cq->tail = 0;
> +    QTAILQ_INIT(&cq->req_list);
> +    __nvme_init_cq(cq);
> +}
> +
>  static uint16_t nvme_create_cq(NvmeCtrl *n, NvmeRequest *req)
>  {
>      NvmeCQueue *cq;
> -- 
> 2.47.3
> 
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to