Lines Matching refs:cmp

116 	target->target_fa[S1394_FA_TYPE_CMP].fat_u.cmp.cm_evts = *evts;  in s1394_cmp_register()
148 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_read() local
152 rw_enter(&cmp->cmp_ompr_rwlock, RW_READER); in s1394_cmp_read()
153 *valp = cmp->cmp_ompr_val; in s1394_cmp_read()
154 rw_exit(&cmp->cmp_ompr_rwlock); in s1394_cmp_read()
157 rw_enter(&cmp->cmp_impr_rwlock, RW_READER); in s1394_cmp_read()
158 *valp = cmp->cmp_impr_val; in s1394_cmp_read()
159 rw_exit(&cmp->cmp_impr_rwlock); in s1394_cmp_read()
171 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_cas() local
175 rw_enter(&cmp->cmp_ompr_rwlock, RW_WRITER); in s1394_cmp_cas()
176 *old_valp = cmp->cmp_ompr_val; in s1394_cmp_cas()
177 if (cmp->cmp_ompr_val == arg_val) { in s1394_cmp_cas()
178 cmp->cmp_ompr_val = new_val; in s1394_cmp_cas()
180 rw_exit(&cmp->cmp_ompr_rwlock); in s1394_cmp_cas()
182 rw_enter(&cmp->cmp_impr_rwlock, RW_WRITER); in s1394_cmp_cas()
183 *old_valp = cmp->cmp_impr_val; in s1394_cmp_cas()
184 if (cmp->cmp_impr_val == arg_val) { in s1394_cmp_cas()
185 cmp->cmp_impr_val = new_val; in s1394_cmp_cas()
187 rw_exit(&cmp->cmp_impr_rwlock); in s1394_cmp_cas()
203 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_init() local
205 rw_init(&cmp->cmp_ompr_rwlock, NULL, RW_DRIVER, NULL); in s1394_cmp_init()
206 rw_init(&cmp->cmp_impr_rwlock, NULL, RW_DRIVER, NULL); in s1394_cmp_init()
208 cmp->cmp_ompr_val = IEC61883_CMP_OMPR_INIT_VAL; in s1394_cmp_init()
209 cmp->cmp_impr_val = IEC61883_CMP_IMPR_INIT_VAL; in s1394_cmp_init()
215 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_fini() local
217 rw_destroy(&cmp->cmp_ompr_rwlock); in s1394_cmp_fini()
218 rw_destroy(&cmp->cmp_impr_rwlock); in s1394_cmp_fini()
228 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_ompr_recv_read_request() local
233 rw_enter(&cmp->cmp_ompr_rwlock, RW_READER); in s1394_cmp_ompr_recv_read_request()
234 req->cmd_u.q.quadlet_data = cmp->cmp_ompr_val; in s1394_cmp_ompr_recv_read_request()
235 rw_exit(&cmp->cmp_ompr_rwlock); in s1394_cmp_ompr_recv_read_request()
246 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_impr_recv_read_request() local
251 rw_enter(&cmp->cmp_impr_rwlock, RW_READER); in s1394_cmp_impr_recv_read_request()
252 req->cmd_u.q.quadlet_data = cmp->cmp_impr_val; in s1394_cmp_impr_recv_read_request()
253 rw_exit(&cmp->cmp_impr_rwlock); in s1394_cmp_impr_recv_read_request()
264 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_ompr_recv_lock_request() local
272 rw_enter(&cmp->cmp_ompr_rwlock, RW_WRITER); in s1394_cmp_ompr_recv_lock_request()
273 req->cmd_u.l32.old_value = cmp->cmp_ompr_val; in s1394_cmp_ompr_recv_lock_request()
274 if (cmp->cmp_ompr_val == req->cmd_u.l32.arg_value) { in s1394_cmp_ompr_recv_lock_request()
276 cmp->cmp_ompr_val = (req->cmd_u.l32.data_value & in s1394_cmp_ompr_recv_lock_request()
278 (cmp->cmp_ompr_val & ~IEC61883_CMP_OMPR_LOCK_MASK); in s1394_cmp_ompr_recv_lock_request()
280 rw_exit(&cmp->cmp_ompr_rwlock); in s1394_cmp_ompr_recv_lock_request()
296 s1394_cmp_hal_t *cmp = &hal->hal_cmp; in s1394_cmp_impr_recv_lock_request() local
304 rw_enter(&cmp->cmp_impr_rwlock, RW_WRITER); in s1394_cmp_impr_recv_lock_request()
305 req->cmd_u.l32.old_value = cmp->cmp_impr_val; in s1394_cmp_impr_recv_lock_request()
306 if (cmp->cmp_impr_val == req->cmd_u.l32.arg_value) { in s1394_cmp_impr_recv_lock_request()
308 cmp->cmp_impr_val = (req->cmd_u.l32.data_value & in s1394_cmp_impr_recv_lock_request()
310 (cmp->cmp_impr_val & ~IEC61883_CMP_IMPR_LOCK_MASK); in s1394_cmp_impr_recv_lock_request()
312 rw_exit(&cmp->cmp_impr_rwlock); in s1394_cmp_impr_recv_lock_request()
355 cb = fat->fat_u.cmp.cm_evts.cmp_reg_change; in s1394_cmp_notify_reg_change()
359 arg = fat->fat_u.cmp.cm_evts.cmp_arg; in s1394_cmp_notify_reg_change()