Lines Matching +full:hardware +full:- +full:based
1 // SPDX-License-Identifier: GPL-2.0
3 * CPU <-> hardware queue mapping helpers
5 * Copyright (C) 2013-2014 Jens Axboe
18 #include "blk-mq.h"
30 * blk_mq_num_possible_queues - Calc nr of queues for multiqueue devices
31 * @max_queues: The maximum number of queues the hardware/driver
36 * device based on the number of possible CPUs.
45 * blk_mq_num_online_queues - Calc nr of queues for multiqueue devices
46 * @max_queues: The maximum number of queues the hardware/driver
51 * device based on the number of online CPUs.
64 masks = group_cpus_evenly(qmap->nr_queues, &nr_masks); in blk_mq_map_queues()
67 qmap->mq_map[cpu] = qmap->queue_offset; in blk_mq_map_queues()
71 for (queue = 0; queue < qmap->nr_queues; queue++) { in blk_mq_map_queues()
73 qmap->mq_map[cpu] = qmap->queue_offset + queue; in blk_mq_map_queues()
80 * blk_mq_hw_queue_to_node - Look up the memory node for a hardware queue index
81 * @qmap: CPU to hardware queue map.
82 * @index: hardware queue index.
92 if (index == qmap->mq_map[i]) in blk_mq_hw_queue_to_node()
100 * blk_mq_map_hw_queues - Create CPU to hardware queue mapping
101 * @qmap: CPU to hardware queue map
105 * Create a CPU to hardware queue mapping in @qmap. The struct bus_type
115 if (!dev->bus->irq_get_affinity) in blk_mq_map_hw_queues()
118 for (queue = 0; queue < qmap->nr_queues; queue++) { in blk_mq_map_hw_queues()
119 mask = dev->bus->irq_get_affinity(dev, queue + offset); in blk_mq_map_hw_queues()
124 qmap->mq_map[cpu] = qmap->queue_offset + queue; in blk_mq_map_hw_queues()