Lines Matching refs:cp

237 	struct pvr2_channel *cp;  in pvr2_context_reset_input_limits()  local
241 for (cp = mp->mc_first; cp; cp = cp->mc_next) { in pvr2_context_reset_input_limits()
242 if (!cp->input_mask) continue; in pvr2_context_reset_input_limits()
243 tmsk &= cp->input_mask; in pvr2_context_reset_input_limits()
276 void pvr2_channel_init(struct pvr2_channel *cp,struct pvr2_context *mp) in pvr2_channel_init() argument
279 cp->hdw = mp->hdw; in pvr2_channel_init()
280 cp->mc_head = mp; in pvr2_channel_init()
281 cp->mc_next = NULL; in pvr2_channel_init()
282 cp->mc_prev = mp->mc_last; in pvr2_channel_init()
284 mp->mc_last->mc_next = cp; in pvr2_channel_init()
286 mp->mc_first = cp; in pvr2_channel_init()
288 mp->mc_last = cp; in pvr2_channel_init()
293 static void pvr2_channel_disclaim_stream(struct pvr2_channel *cp) in pvr2_channel_disclaim_stream() argument
295 if (!cp->stream) return; in pvr2_channel_disclaim_stream()
296 pvr2_stream_kill(cp->stream->stream); in pvr2_channel_disclaim_stream()
297 cp->stream->user = NULL; in pvr2_channel_disclaim_stream()
298 cp->stream = NULL; in pvr2_channel_disclaim_stream()
302 void pvr2_channel_done(struct pvr2_channel *cp) in pvr2_channel_done() argument
304 struct pvr2_context *mp = cp->mc_head; in pvr2_channel_done()
306 cp->input_mask = 0; in pvr2_channel_done()
307 pvr2_channel_disclaim_stream(cp); in pvr2_channel_done()
309 if (cp->mc_next) { in pvr2_channel_done()
310 cp->mc_next->mc_prev = cp->mc_prev; in pvr2_channel_done()
312 mp->mc_last = cp->mc_prev; in pvr2_channel_done()
314 if (cp->mc_prev) { in pvr2_channel_done()
315 cp->mc_prev->mc_next = cp->mc_next; in pvr2_channel_done()
317 mp->mc_first = cp->mc_next; in pvr2_channel_done()
319 cp->hdw = NULL; in pvr2_channel_done()
324 int pvr2_channel_limit_inputs(struct pvr2_channel *cp,unsigned int cmsk) in pvr2_channel_limit_inputs() argument
329 struct pvr2_hdw *hdw = cp->hdw; in pvr2_channel_limit_inputs()
333 if (cmsk == cp->input_mask) { in pvr2_channel_limit_inputs()
338 pvr2_context_enter(cp->mc_head); in pvr2_channel_limit_inputs()
341 cp->input_mask = 0; in pvr2_channel_limit_inputs()
342 pvr2_context_reset_input_limits(cp->mc_head); in pvr2_channel_limit_inputs()
346 for (p2 = cp->mc_head->mc_first; p2; p2 = p2->mc_next) { in pvr2_channel_limit_inputs()
347 if (p2 == cp) continue; in pvr2_channel_limit_inputs()
361 cp->input_mask = cmsk; in pvr2_channel_limit_inputs()
364 pvr2_context_exit(cp->mc_head); in pvr2_channel_limit_inputs()
369 unsigned int pvr2_channel_get_limited_inputs(struct pvr2_channel *cp) in pvr2_channel_get_limited_inputs() argument
371 return cp->input_mask; in pvr2_channel_get_limited_inputs()
375 int pvr2_channel_claim_stream(struct pvr2_channel *cp, in pvr2_channel_claim_stream() argument
379 pvr2_context_enter(cp->mc_head); do { in pvr2_channel_claim_stream()
380 if (sp == cp->stream) break; in pvr2_channel_claim_stream()
385 pvr2_channel_disclaim_stream(cp); in pvr2_channel_claim_stream()
387 sp->user = cp; in pvr2_channel_claim_stream()
388 cp->stream = sp; in pvr2_channel_claim_stream()
390 pvr2_context_exit(cp->mc_head); in pvr2_channel_claim_stream()
403 struct pvr2_ioread *cp; in pvr2_channel_create_mpeg_stream() local
404 cp = pvr2_ioread_create(); in pvr2_channel_create_mpeg_stream()
405 if (!cp) return NULL; in pvr2_channel_create_mpeg_stream()
406 pvr2_ioread_setup(cp,sp->stream); in pvr2_channel_create_mpeg_stream()
407 pvr2_ioread_set_sync_key(cp,stream_sync_key,sizeof(stream_sync_key)); in pvr2_channel_create_mpeg_stream()
408 return cp; in pvr2_channel_create_mpeg_stream()