MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / nvme_free_queue

Function nvme_free_queue

components/drivers/nvme/nvme.c:791–819  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

789}
790
791static void nvme_free_queue(struct rt_nvme_queue *queue)
792{
793 rt_ubase_t dma_flags;
794 struct rt_nvme_controller *nvme = queue->nvme;
795
796 if (nvme->ops->cleanup_queue)
797 {
798 rt_err_t err;
799
800 if (!(err = nvme->ops->cleanup_queue(queue)))
801 {
802 LOG_W("Cleanup[%s] queue error = %s", nvme->ops->name, rt_strerror(err));
803 }
804 }
805
806 dma_flags = nvme_queue_dma_flags();
807
808 if (queue->sq_cmds)
809 {
810 rt_dma_free(nvme->dev, sizeof(*queue->sq_cmds) * queue->depth,
811 queue->sq_cmds, queue->sq_cmds_phy, dma_flags);
812 }
813
814 if (queue->cq_entry)
815 {
816 rt_dma_free(nvme->dev, sizeof(*queue->cq_entry) * queue->depth,
817 queue->cq_entry, queue->cq_entry_phy, dma_flags);
818 }
819}
820
821static struct rt_nvme_queue *nvme_alloc_queue(struct rt_nvme_controller *nvme,
822 int qid, int depth)

Callers 4

nvme_alloc_queueFunction · 0.85
nvme_remove_io_queuesFunction · 0.85
nvme_remove_admin_queuesFunction · 0.85

Calls 3

rt_strerrorFunction · 0.85
nvme_queue_dma_flagsFunction · 0.85
rt_dma_freeFunction · 0.85

Tested by

no test coverage detected