Lines Matching refs:pi_desc
20 struct pi_desc {
93 static inline bool pi_test_and_set_on(struct pi_desc *pi_desc)
95 return test_and_set_bit(POSTED_INTR_ON, (unsigned long *)&pi_desc->control);
98 static inline bool pi_test_and_clear_on(struct pi_desc *pi_desc)
100 return test_and_clear_bit(POSTED_INTR_ON, (unsigned long *)&pi_desc->control);
103 static inline bool pi_test_and_clear_sn(struct pi_desc *pi_desc)
105 return test_and_clear_bit(POSTED_INTR_SN, (unsigned long *)&pi_desc->control);
108 static inline bool pi_test_and_set_pir(int vector, struct pi_desc *pi_desc)
110 return test_and_set_bit(vector, pi_desc->pir);
113 static inline bool pi_is_pir_empty(struct pi_desc *pi_desc)
115 return bitmap_empty(pi_desc->pir, NR_VECTORS);
118 static inline void pi_set_sn(struct pi_desc *pi_desc)
120 set_bit(POSTED_INTR_SN, (unsigned long *)&pi_desc->control);
123 static inline void pi_set_on(struct pi_desc *pi_desc)
125 set_bit(POSTED_INTR_ON, (unsigned long *)&pi_desc->control);
128 static inline void pi_clear_on(struct pi_desc *pi_desc)
130 clear_bit(POSTED_INTR_ON, (unsigned long *)&pi_desc->control);
133 static inline void pi_clear_sn(struct pi_desc *pi_desc)
135 clear_bit(POSTED_INTR_SN, (unsigned long *)&pi_desc->control);
138 static inline bool pi_test_on(struct pi_desc *pi_desc)
140 return test_bit(POSTED_INTR_ON, (unsigned long *)&pi_desc->control);
143 static inline bool pi_test_sn(struct pi_desc *pi_desc)
145 return test_bit(POSTED_INTR_SN, (unsigned long *)&pi_desc->control);
148 static inline bool pi_test_pir(int vector, struct pi_desc *pi_desc)
150 return test_bit(vector, (unsigned long *)pi_desc->pir);
154 static inline void __pi_set_sn(struct pi_desc *pi_desc)
156 pi_desc->notifications |= BIT(POSTED_INTR_SN);
159 static inline void __pi_clear_sn(struct pi_desc *pi_desc)
161 pi_desc->notifications &= ~BIT(POSTED_INTR_SN);
172 struct pi_desc *pid = this_cpu_ptr(&posted_msi_pi_desc);