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

Function rt_pic_irq_set_affinity

components/drivers/pic/pic.c:824–851  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

822}
823
824rt_err_t rt_pic_irq_set_affinity(int irq, rt_bitmap_t *affinity)
825{
826 rt_err_t err = -RT_EINVAL;
827 struct rt_pic_irq *pirq;
828
829 if (affinity && (pirq = irq2pirq(irq)))
830 {
831 rt_hw_spin_lock(&pirq->rw_lock.lock);
832
833 if (pirq->pic->ops->irq_set_affinity)
834 {
835 err = pirq->pic->ops->irq_set_affinity(pirq, affinity);
836
837 if (!err)
838 {
839 rt_memcpy(pirq->affinity, affinity, sizeof(pirq->affinity));
840 }
841 }
842 else
843 {
844 err = -RT_ENOSYS;
845 }
846
847 rt_hw_spin_unlock(&pirq->rw_lock.lock);
848 }
849
850 return err;
851}
852
853rt_err_t rt_pic_irq_get_affinity(int irq, rt_bitmap_t *out_affinity)
854{

Callers 7

msi_affinity_initFunction · 0.85
rt_pci_alloc_vectorFunction · 0.85
rt_ofw_get_irqFunction · 0.85
nvme_setup_io_queuesFunction · 0.85
rt_ktime_hrtimer_bindFunction · 0.85
rk_timer_probeFunction · 0.85

Calls 4

irq2pirqFunction · 0.85
rt_memcpyFunction · 0.85
rt_hw_spin_lockFunction · 0.50
rt_hw_spin_unlockFunction · 0.50

Tested by

no test coverage detected