Lines Matching refs:periph
111 typedef void periph_start_t (struct cam_periph *periph,
113 typedef cam_status periph_ctor_t (struct cam_periph *periph,
115 typedef void periph_oninv_t (struct cam_periph *periph);
116 typedef void periph_dtor_t (struct cam_periph *periph);
170 int cam_periph_acquire(struct cam_periph *periph);
171 void cam_periph_doacquire(struct cam_periph *periph);
172 void cam_periph_release(struct cam_periph *periph);
173 void cam_periph_release_locked(struct cam_periph *periph);
174 void cam_periph_release_locked_buses(struct cam_periph *periph);
175 int cam_periph_hold(struct cam_periph *periph, int priority);
176 void cam_periph_unhold(struct cam_periph *periph);
177 void cam_periph_hold_boot(struct cam_periph *periph);
178 void cam_periph_release_boot(struct cam_periph *periph);
179 void cam_periph_invalidate(struct cam_periph *periph);
185 union ccb *cam_periph_getccb(struct cam_periph *periph,
193 int cam_periph_ioctl(struct cam_periph *periph, u_long cmd,
202 void cam_periph_async(struct cam_periph *periph, uint32_t code,
204 void cam_periph_bus_settle(struct cam_periph *periph,
206 void cam_periph_freeze_after_event(struct cam_periph *periph,
214 cam_periph_mtx(struct cam_periph *periph) in cam_periph_mtx() argument
216 if (periph != NULL) in cam_periph_mtx()
217 return (xpt_path_mtx(periph->path)); in cam_periph_mtx()
222 #define cam_periph_owned(periph) \ argument
223 mtx_owned(xpt_path_mtx((periph)->path))
225 #define cam_periph_lock(periph) \ argument
226 mtx_lock(xpt_path_mtx((periph)->path))
228 #define cam_periph_unlock(periph) \ argument
229 mtx_unlock(xpt_path_mtx((periph)->path))
231 #define cam_periph_assert(periph, what) \ argument
232 mtx_assert(xpt_path_mtx((periph)->path), (what))
234 #define cam_periph_sleep(periph, chan, priority, wmesg, timo) \ argument
235 xpt_path_sleep((periph)->path, (chan), (priority), (wmesg), (timo))
240 struct cam_periph *periph; in cam_periph_acquire_first() local
243 periph = TAILQ_FIRST(&driver->units); in cam_periph_acquire_first()
244 while (periph != NULL && (periph->flags & CAM_PERIPH_INVALID) != 0) in cam_periph_acquire_first()
245 periph = TAILQ_NEXT(periph, unit_links); in cam_periph_acquire_first()
246 if (periph != NULL) in cam_periph_acquire_first()
247 periph->refcount++; in cam_periph_acquire_first()
249 return (periph); in cam_periph_acquire_first()
255 struct cam_periph *periph = pperiph; in cam_periph_acquire_next() local
260 periph = TAILQ_NEXT(periph, unit_links); in cam_periph_acquire_next()
261 } while (periph != NULL && (periph->flags & CAM_PERIPH_INVALID) != 0); in cam_periph_acquire_next()
262 if (periph != NULL) in cam_periph_acquire_next()
263 periph->refcount++; in cam_periph_acquire_next()
266 return (periph); in cam_periph_acquire_next()
269 #define CAM_PERIPH_FOREACH(periph, driver) \ argument
270 for ((periph) = cam_periph_acquire_first(driver); \
271 (periph) != NULL; \
272 (periph) = cam_periph_acquire_next(periph))
275 printf("%s%d:" msg, (periph)->periph_name, (periph)->unit_number, ##args)