• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/tidspbridge/core/

Lines Matching refs:pchnl

40  *          LST_Empty(pchnl->pio_completions) ==> pchnl->sync_event is reset
42 * !LST_Empty(pchnl->pio_completions) ==> pchnl->sync_event is set.
97 struct chnl_object *pchnl = (struct chnl_object *)chnl_obj;
103 struct chnl_mgr *chnl_mgr_obj = pchnl->chnl_mgr_obj;
111 if (!host_buf || !pchnl) {
113 } else if (is_eos && CHNL_IS_INPUT(pchnl->chnl_mode)) {
120 dw_state = pchnl->dw_state;
125 CHNL_IS_OUTPUT(pchnl->chnl_mode))
141 if (pchnl->chnl_type == CHNL_PCPY && pchnl->chnl_id > 1 && host_buf) {
152 if (CHNL_IS_OUTPUT(pchnl->chnl_mode)) {
171 if (pchnl->chnl_type == CHNL_PCPY) {
173 if (!status && CHNL_IS_OUTPUT(pchnl->chnl_mode)) {
176 io_buf_size(pchnl->chnl_mgr_obj->hio_mgr))
184 (struct chnl_irp *)lst_get_head(pchnl->free_packets_list);
193 if (pchnl->chnl_type == CHNL_PCPY && pchnl->chnl_id > 1)
210 lst_put_tail(pchnl->pio_requests,
212 pchnl->cio_reqs++;
213 DBC_ASSERT(pchnl->cio_reqs <= pchnl->chnl_packets);
219 pchnl->dw_state |= CHNL_STATEEOS;
222 DBC_ASSERT(pchnl->chnl_type == CHNL_PCPY);
224 io_request_chnl(chnl_mgr_obj->hio_mgr, pchnl,
225 (CHNL_IS_INPUT(pchnl->chnl_mode) ? IO_INPUT :
255 struct chnl_object *pchnl = (struct chnl_object *)chnl_obj;
262 if (pchnl && pchnl->chnl_mgr_obj) {
263 chnl_id = pchnl->chnl_id;
264 chnl_mode = pchnl->chnl_mode;
265 chnl_mgr_obj = pchnl->chnl_mgr_obj;
275 pchnl->dw_state |= CHNL_STATECANCEL;
276 if (LST_IS_EMPTY(pchnl->pio_requests))
279 if (pchnl->chnl_type == CHNL_PCPY) {
281 if (CHNL_IS_INPUT(pchnl->chnl_mode)) {
290 while (!LST_IS_EMPTY(pchnl->pio_requests)) {
292 (struct chnl_irp *)lst_get_head(pchnl->pio_requests);
296 lst_put_tail(pchnl->pio_completions,
298 pchnl->cio_cs++;
299 pchnl->cio_reqs--;
300 DBC_ASSERT(pchnl->cio_reqs >= 0);
320 struct chnl_object *pchnl = (struct chnl_object *)chnl_obj;
323 if (!pchnl) {
336 DBC_ASSERT((pchnl->dw_state & CHNL_STATECANCEL));
340 pchnl->chnl_mgr_obj->ap_channel[pchnl->chnl_id] = NULL;
341 spin_lock_bh(&pchnl->chnl_mgr_obj->chnl_mgr_lock);
342 pchnl->chnl_mgr_obj->open_channels -= 1;
343 spin_unlock_bh(&pchnl->chnl_mgr_obj->chnl_mgr_lock);
344 if (pchnl->ntfy_obj) {
345 ntfy_delete(pchnl->ntfy_obj);
346 kfree(pchnl->ntfy_obj);
347 pchnl->ntfy_obj = NULL;
351 if (pchnl->sync_event) {
352 sync_reset_event(pchnl->sync_event);
353 kfree(pchnl->sync_event);
354 pchnl->sync_event = NULL;
357 if (pchnl->pio_completions) {
358 free_chirp_list(pchnl->pio_completions);
359 pchnl->pio_completions = NULL;
360 pchnl->cio_cs = 0;
362 if (pchnl->pio_requests) {
363 free_chirp_list(pchnl->pio_requests);
364 pchnl->pio_requests = NULL;
365 pchnl->cio_reqs = 0;
367 if (pchnl->free_packets_list) {
368 free_chirp_list(pchnl->free_packets_list);
369 pchnl->free_packets_list = NULL;
372 kfree(pchnl);
373 pchnl = NULL;
375 DBC_ENSURE(status || !pchnl);
485 struct chnl_object *pchnl = (struct chnl_object *)chnl_obj;
490 if (pchnl) {
492 && CHNL_IS_OUTPUT(pchnl->chnl_mode)) {
495 chnl_mode = pchnl->chnl_mode;
496 chnl_mgr_obj = pchnl->chnl_mgr_obj;
506 && (pchnl->chnl_type == CHNL_PCPY)) {
509 while (!LST_IS_EMPTY(pchnl->pio_requests) && !status) {
522 pchnl->dw_state &= ~CHNL_STATECANCEL;
525 DBC_ENSURE(status || LST_IS_EMPTY(pchnl->pio_requests));
538 struct chnl_object *pchnl = (struct chnl_object *)chnl_obj;
540 if (pchnl) {
542 channel_info->hchnl_mgr = pchnl->chnl_mgr_obj;
543 channel_info->event_obj = pchnl->user_event;
544 channel_info->cnhl_id = pchnl->chnl_id;
545 channel_info->dw_mode = pchnl->chnl_mode;
546 channel_info->bytes_tx = pchnl->bytes_moved;
547 channel_info->process = pchnl->process;
548 channel_info->sync_event = pchnl->sync_event;
549 channel_info->cio_cs = pchnl->cio_cs;
550 channel_info->cio_reqs = pchnl->cio_reqs;
551 channel_info->dw_state = pchnl->dw_state;
572 struct chnl_object *pchnl = (struct chnl_object *)chnl_obj;
582 if (!chan_ioc || !pchnl) {
585 if (LST_IS_EMPTY(pchnl->pio_completions))
600 CHNL_IOCNOWAIT && LST_IS_EMPTY(pchnl->pio_completions)) {
604 stat_sync = sync_wait_on_event(pchnl->sync_event, timeout);
615 if (LST_IS_EMPTY(pchnl->pio_completions)) {
622 spin_lock_bh(&pchnl->chnl_mgr_obj->chnl_mgr_lock);
626 DBC_ASSERT(!LST_IS_EMPTY(pchnl->pio_completions));
628 (struct chnl_irp *)lst_get_head(pchnl->pio_completions);
631 pchnl->cio_cs--;
644 lst_put_tail(pchnl->free_packets_list,
657 if (!LST_IS_EMPTY(pchnl->pio_completions)) {
667 * sync_set_event(pchnl->sync_event);
669 sync_set_event(pchnl->sync_event);
672 sync_reset_event(pchnl->sync_event);
675 spin_unlock_bh(&pchnl->chnl_mgr_obj->chnl_mgr_lock);
677 && (pchnl->chnl_type == CHNL_PCPY && pchnl->chnl_id > 1)) {
686 if (!CHNL_IS_INPUT(pchnl->chnl_mode))
782 struct chnl_object *pchnl = NULL;
814 pchnl = kzalloc(sizeof(struct chnl_object), GFP_KERNEL);
815 if (!pchnl) {
820 pchnl->dw_state = CHNL_STATECANCEL;
822 pchnl->free_packets_list = create_chirp_list(pattrs->uio_reqs);
823 pchnl->pio_requests = create_chirp_list(0);
824 pchnl->pio_completions = create_chirp_list(0);
825 pchnl->chnl_packets = pattrs->uio_reqs;
826 pchnl->cio_cs = 0;
827 pchnl->cio_reqs = 0;
835 pchnl->ntfy_obj = kmalloc(sizeof(struct ntfy_object),
837 if (pchnl->ntfy_obj)
838 ntfy_init(pchnl->ntfy_obj);
844 if (pchnl->pio_completions && pchnl->pio_requests &&
845 pchnl->free_packets_list) {
847 pchnl->chnl_mgr_obj = chnl_mgr_obj;
848 pchnl->chnl_id = ch_id;
849 pchnl->chnl_mode = chnl_mode;
850 pchnl->user_event = sync_event;
851 pchnl->sync_event = sync_event;
853 pchnl->process = current->tgid;
854 pchnl->pcb_arg = 0;
855 pchnl->bytes_moved = 0;
857 pchnl->chnl_type = CHNL_PCPY;
865 if (pchnl->pio_completions) {
866 free_chirp_list(pchnl->pio_completions);
867 pchnl->pio_completions = NULL;
868 pchnl->cio_cs = 0;
870 if (pchnl->pio_requests) {
871 free_chirp_list(pchnl->pio_requests);
872 pchnl->pio_requests = NULL;
874 if (pchnl->free_packets_list) {
875 free_chirp_list(pchnl->free_packets_list);
876 pchnl->free_packets_list = NULL;
881 if (pchnl->ntfy_obj) {
882 ntfy_delete(pchnl->ntfy_obj);
883 kfree(pchnl->ntfy_obj);
884 pchnl->ntfy_obj = NULL;
886 kfree(pchnl);
889 chnl_mgr_obj->ap_channel[pchnl->chnl_id] = pchnl;
894 pchnl->dw_state = CHNL_STATEREADY;
895 *chnl = pchnl;
898 DBC_ENSURE((!status && pchnl) || (*chnl == NULL));