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

Function nvme_remove_io_queues

components/drivers/nvme/nvme.c:1009–1027  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1007}
1008
1009static void nvme_remove_io_queues(struct rt_nvme_controller *nvme)
1010{
1011 int irq;
1012 struct rt_nvme_queue *queue;
1013
1014 for (int i = 0, irq_idx = 1; i < nvme->io_queue_max; ++i, ++irq_idx)
1015 {
1016 queue = &nvme->io_queues[i];
1017
1018 nvme_detach_queue(queue, RT_NVME_ADMIN_OPCODE_DELETE_SQ);
1019 nvme_detach_queue(queue, RT_NVME_ADMIN_OPCODE_DELETE_CQ);
1020 nvme_free_queue(queue);
1021
1022 irq = nvme->irqs[irq_idx % nvme->irqs_nr];
1023
1024 rt_hw_interrupt_mask(irq);
1025 rt_pic_detach_irq(irq, queue);
1026 }
1027}
1028
1029static void nvme_remove_admin_queues(struct rt_nvme_controller *nvme)
1030{

Callers 2

Calls 4

nvme_detach_queueFunction · 0.85
nvme_free_queueFunction · 0.85
rt_pic_detach_irqFunction · 0.85
rt_hw_interrupt_maskFunction · 0.50

Tested by

no test coverage detected