Message ID | 20200415130159.611361-9-its@irrelevant.dk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nvme: refactoring and cleanups | expand |
On Wed, 2020-04-15 at 15:01 +0200, Klaus Jensen wrote: > From: Klaus Jensen <k.jensen@samsung.com> > > Signed-off-by: Klaus Jensen <k.jensen@samsung.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/block/nvme.c | 7 ++----- > hw/block/nvme.h | 2 -- > 2 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 8092c1b46eb1..44856e873fd1 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -66,7 +66,7 @@ static bool nvme_addr_is_cmb(NvmeCtrl *n, hwaddr addr) > > static void nvme_addr_read(NvmeCtrl *n, hwaddr addr, void *buf, int size) > { > - if (n->cmbsz && nvme_addr_is_cmb(n, addr)) { > + if (n->bar.cmbsz && nvme_addr_is_cmb(n, addr)) { > memcpy(buf, (void *)&n->cmbuf[addr - n->ctrl_mem.addr], size); > return; > } > @@ -160,7 +160,7 @@ static uint16_t nvme_map_prp(QEMUSGList *qsg, QEMUIOVector *iov, uint64_t prp1, > if (unlikely(!prp1)) { > trace_pci_nvme_err_invalid_prp(); > return NVME_INVALID_FIELD | NVME_DNR; > - } else if (n->cmbsz && prp1 >= n->ctrl_mem.addr && > + } else if (n->bar.cmbsz && prp1 >= n->ctrl_mem.addr && > prp1 < n->ctrl_mem.addr + int128_get64(n->ctrl_mem.size)) { > qsg->nsg = 0; > qemu_iovec_init(iov, num_prps); > @@ -1425,9 +1425,6 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp) > NVME_CMBSZ_SET_SZU(n->bar.cmbsz, 2); /* MBs */ > NVME_CMBSZ_SET_SZ(n->bar.cmbsz, n->params.cmb_size_mb); > > - n->cmbloc = n->bar.cmbloc; > - n->cmbsz = n->bar.cmbsz; > - > n->cmbuf = g_malloc0(NVME_CMBSZ_GETSIZE(n->bar.cmbsz)); > memory_region_init_io(&n->ctrl_mem, OBJECT(n), &nvme_cmb_ops, n, > "nvme-cmb", NVME_CMBSZ_GETSIZE(n->bar.cmbsz)); > diff --git a/hw/block/nvme.h b/hw/block/nvme.h > index 1617787af2e9..7eecfd3a50f6 100644 > --- a/hw/block/nvme.h > +++ b/hw/block/nvme.h > @@ -88,8 +88,6 @@ typedef struct NvmeCtrl { > uint32_t num_namespaces; > uint32_t max_q_ents; > uint64_t ns_size; > - uint32_t cmbsz; > - uint32_t cmbloc; > uint8_t *cmbuf; > uint64_t irq_status; > uint64_t host_timestamp; /* Timestamp sent by the host */ Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Best regards, Maxim levitsky
diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 8092c1b46eb1..44856e873fd1 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -66,7 +66,7 @@ static bool nvme_addr_is_cmb(NvmeCtrl *n, hwaddr addr) static void nvme_addr_read(NvmeCtrl *n, hwaddr addr, void *buf, int size) { - if (n->cmbsz && nvme_addr_is_cmb(n, addr)) { + if (n->bar.cmbsz && nvme_addr_is_cmb(n, addr)) { memcpy(buf, (void *)&n->cmbuf[addr - n->ctrl_mem.addr], size); return; } @@ -160,7 +160,7 @@ static uint16_t nvme_map_prp(QEMUSGList *qsg, QEMUIOVector *iov, uint64_t prp1, if (unlikely(!prp1)) { trace_pci_nvme_err_invalid_prp(); return NVME_INVALID_FIELD | NVME_DNR; - } else if (n->cmbsz && prp1 >= n->ctrl_mem.addr && + } else if (n->bar.cmbsz && prp1 >= n->ctrl_mem.addr && prp1 < n->ctrl_mem.addr + int128_get64(n->ctrl_mem.size)) { qsg->nsg = 0; qemu_iovec_init(iov, num_prps); @@ -1425,9 +1425,6 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp) NVME_CMBSZ_SET_SZU(n->bar.cmbsz, 2); /* MBs */ NVME_CMBSZ_SET_SZ(n->bar.cmbsz, n->params.cmb_size_mb); - n->cmbloc = n->bar.cmbloc; - n->cmbsz = n->bar.cmbsz; - n->cmbuf = g_malloc0(NVME_CMBSZ_GETSIZE(n->bar.cmbsz)); memory_region_init_io(&n->ctrl_mem, OBJECT(n), &nvme_cmb_ops, n, "nvme-cmb", NVME_CMBSZ_GETSIZE(n->bar.cmbsz)); diff --git a/hw/block/nvme.h b/hw/block/nvme.h index 1617787af2e9..7eecfd3a50f6 100644 --- a/hw/block/nvme.h +++ b/hw/block/nvme.h @@ -88,8 +88,6 @@ typedef struct NvmeCtrl { uint32_t num_namespaces; uint32_t max_q_ents; uint64_t ns_size; - uint32_t cmbsz; - uint32_t cmbloc; uint8_t *cmbuf; uint64_t irq_status; uint64_t host_timestamp; /* Timestamp sent by the host */