dmxdevfilter 323 drivers/media/dvb-core/dmxdev.c *dmxdevfilter, int state) dmxdevfilter 325 drivers/media/dvb-core/dmxdev.c spin_lock_irq(&dmxdevfilter->dev->lock); dmxdevfilter 326 drivers/media/dvb-core/dmxdev.c dmxdevfilter->state = state; dmxdevfilter 327 drivers/media/dvb-core/dmxdev.c spin_unlock_irq(&dmxdevfilter->dev->lock); dmxdevfilter 330 drivers/media/dvb-core/dmxdev.c static int dvb_dmxdev_set_buffer_size(struct dmxdev_filter *dmxdevfilter, dmxdevfilter 333 drivers/media/dvb-core/dmxdev.c struct dvb_ringbuffer *buf = &dmxdevfilter->buffer; dmxdevfilter 341 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->state >= DMXDEV_STATE_GO) dmxdevfilter 350 drivers/media/dvb-core/dmxdev.c spin_lock_irq(&dmxdevfilter->dev->lock); dmxdevfilter 356 drivers/media/dvb-core/dmxdev.c spin_unlock_irq(&dmxdevfilter->dev->lock); dmxdevfilter 365 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = from_timer(dmxdevfilter, t, timer); dmxdevfilter 367 drivers/media/dvb-core/dmxdev.c dmxdevfilter->buffer.error = -ETIMEDOUT; dmxdevfilter 368 drivers/media/dvb-core/dmxdev.c spin_lock_irq(&dmxdevfilter->dev->lock); dmxdevfilter 369 drivers/media/dvb-core/dmxdev.c dmxdevfilter->state = DMXDEV_STATE_TIMEDOUT; dmxdevfilter 370 drivers/media/dvb-core/dmxdev.c spin_unlock_irq(&dmxdevfilter->dev->lock); dmxdevfilter 371 drivers/media/dvb-core/dmxdev.c wake_up(&dmxdevfilter->buffer.queue); dmxdevfilter 374 drivers/media/dvb-core/dmxdev.c static void dvb_dmxdev_filter_timer(struct dmxdev_filter *dmxdevfilter) dmxdevfilter 376 drivers/media/dvb-core/dmxdev.c struct dmx_sct_filter_params *para = &dmxdevfilter->params.sec; dmxdevfilter 378 drivers/media/dvb-core/dmxdev.c del_timer(&dmxdevfilter->timer); dmxdevfilter 380 drivers/media/dvb-core/dmxdev.c dmxdevfilter->timer.expires = dmxdevfilter 382 drivers/media/dvb-core/dmxdev.c add_timer(&dmxdevfilter->timer); dmxdevfilter 391 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = filter->priv; dmxdevfilter 394 drivers/media/dvb-core/dmxdev.c if (!dvb_vb2_is_streaming(&dmxdevfilter->vb2_ctx) && dmxdevfilter 395 drivers/media/dvb-core/dmxdev.c dmxdevfilter->buffer.error) { dmxdevfilter 396 drivers/media/dvb-core/dmxdev.c wake_up(&dmxdevfilter->buffer.queue); dmxdevfilter 399 drivers/media/dvb-core/dmxdev.c spin_lock(&dmxdevfilter->dev->lock); dmxdevfilter 400 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->state != DMXDEV_STATE_GO) { dmxdevfilter 401 drivers/media/dvb-core/dmxdev.c spin_unlock(&dmxdevfilter->dev->lock); dmxdevfilter 404 drivers/media/dvb-core/dmxdev.c del_timer(&dmxdevfilter->timer); dmxdevfilter 406 drivers/media/dvb-core/dmxdev.c if (dvb_vb2_is_streaming(&dmxdevfilter->vb2_ctx)) { dmxdevfilter 407 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_fill_buffer(&dmxdevfilter->vb2_ctx, dmxdevfilter 411 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_fill_buffer(&dmxdevfilter->vb2_ctx, dmxdevfilter 415 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_buffer_write(&dmxdevfilter->buffer, dmxdevfilter 418 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_buffer_write(&dmxdevfilter->buffer, dmxdevfilter 423 drivers/media/dvb-core/dmxdev.c dmxdevfilter->buffer.error = ret; dmxdevfilter 424 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->params.sec.flags & DMX_ONESHOT) dmxdevfilter 425 drivers/media/dvb-core/dmxdev.c dmxdevfilter->state = DMXDEV_STATE_DONE; dmxdevfilter 426 drivers/media/dvb-core/dmxdev.c spin_unlock(&dmxdevfilter->dev->lock); dmxdevfilter 427 drivers/media/dvb-core/dmxdev.c wake_up(&dmxdevfilter->buffer.queue); dmxdevfilter 436 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = feed->priv; dmxdevfilter 443 drivers/media/dvb-core/dmxdev.c spin_lock(&dmxdevfilter->dev->lock); dmxdevfilter 444 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->params.pes.output == DMX_OUT_DECODER) { dmxdevfilter 445 drivers/media/dvb-core/dmxdev.c spin_unlock(&dmxdevfilter->dev->lock); dmxdevfilter 449 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->params.pes.output == DMX_OUT_TAP || dmxdevfilter 450 drivers/media/dvb-core/dmxdev.c dmxdevfilter->params.pes.output == DMX_OUT_TSDEMUX_TAP) { dmxdevfilter 451 drivers/media/dvb-core/dmxdev.c buffer = &dmxdevfilter->buffer; dmxdevfilter 453 drivers/media/dvb-core/dmxdev.c ctx = &dmxdevfilter->vb2_ctx; dmxdevfilter 456 drivers/media/dvb-core/dmxdev.c buffer = &dmxdevfilter->dev->dvr_buffer; dmxdevfilter 458 drivers/media/dvb-core/dmxdev.c ctx = &dmxdevfilter->dev->dvr_vb2_ctx; dmxdevfilter 470 drivers/media/dvb-core/dmxdev.c spin_unlock(&dmxdevfilter->dev->lock); dmxdevfilter 481 drivers/media/dvb-core/dmxdev.c spin_unlock(&dmxdevfilter->dev->lock); dmxdevfilter 487 drivers/media/dvb-core/dmxdev.c static int dvb_dmxdev_feed_stop(struct dmxdev_filter *dmxdevfilter) dmxdevfilter 491 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_SET); dmxdevfilter 493 drivers/media/dvb-core/dmxdev.c switch (dmxdevfilter->type) { dmxdevfilter 495 drivers/media/dvb-core/dmxdev.c del_timer(&dmxdevfilter->timer); dmxdevfilter 496 drivers/media/dvb-core/dmxdev.c dmxdevfilter->feed.sec->stop_filtering(dmxdevfilter->feed.sec); dmxdevfilter 499 drivers/media/dvb-core/dmxdev.c list_for_each_entry(feed, &dmxdevfilter->feed.ts, next) dmxdevfilter 557 drivers/media/dvb-core/dmxdev.c static int dvb_dmxdev_filter_stop(struct dmxdev_filter *dmxdevfilter) dmxdevfilter 562 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->state < DMXDEV_STATE_GO) dmxdevfilter 565 drivers/media/dvb-core/dmxdev.c switch (dmxdevfilter->type) { dmxdevfilter 567 drivers/media/dvb-core/dmxdev.c if (!dmxdevfilter->feed.sec) dmxdevfilter 569 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_feed_stop(dmxdevfilter); dmxdevfilter 570 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->filter.sec) dmxdevfilter 571 drivers/media/dvb-core/dmxdev.c dmxdevfilter->feed.sec-> dmxdevfilter 572 drivers/media/dvb-core/dmxdev.c release_filter(dmxdevfilter->feed.sec, dmxdevfilter 573 drivers/media/dvb-core/dmxdev.c dmxdevfilter->filter.sec); dmxdevfilter 574 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_feed_restart(dmxdevfilter); dmxdevfilter 575 drivers/media/dvb-core/dmxdev.c dmxdevfilter->feed.sec = NULL; dmxdevfilter 578 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_feed_stop(dmxdevfilter); dmxdevfilter 579 drivers/media/dvb-core/dmxdev.c demux = dmxdevfilter->dev->demux; dmxdevfilter 580 drivers/media/dvb-core/dmxdev.c list_for_each_entry(feed, &dmxdevfilter->feed.ts, next) { dmxdevfilter 586 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->state == DMXDEV_STATE_ALLOCATED) dmxdevfilter 591 drivers/media/dvb-core/dmxdev.c dvb_ringbuffer_flush(&dmxdevfilter->buffer); dmxdevfilter 595 drivers/media/dvb-core/dmxdev.c static void dvb_dmxdev_delete_pids(struct dmxdev_filter *dmxdevfilter) dmxdevfilter 600 drivers/media/dvb-core/dmxdev.c list_for_each_entry_safe(feed, tmp, &dmxdevfilter->feed.ts, next) { dmxdevfilter 605 drivers/media/dvb-core/dmxdev.c BUG_ON(!list_empty(&dmxdevfilter->feed.ts)); dmxdevfilter 608 drivers/media/dvb-core/dmxdev.c static inline int dvb_dmxdev_filter_reset(struct dmxdev_filter *dmxdevfilter) dmxdevfilter 610 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->state < DMXDEV_STATE_SET) dmxdevfilter 613 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->type == DMXDEV_TYPE_PES) dmxdevfilter 614 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_delete_pids(dmxdevfilter); dmxdevfilter 616 drivers/media/dvb-core/dmxdev.c dmxdevfilter->type = DMXDEV_TYPE_NONE; dmxdevfilter 617 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_ALLOCATED); dmxdevfilter 795 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter; dmxdevfilter 812 drivers/media/dvb-core/dmxdev.c dmxdevfilter = &dmxdev->filter[i]; dmxdevfilter 813 drivers/media/dvb-core/dmxdev.c mutex_init(&dmxdevfilter->mutex); dmxdevfilter 814 drivers/media/dvb-core/dmxdev.c file->private_data = dmxdevfilter; dmxdevfilter 822 drivers/media/dvb-core/dmxdev.c dvb_ringbuffer_init(&dmxdevfilter->buffer, NULL, 8192); dmxdevfilter 823 drivers/media/dvb-core/dmxdev.c dvb_vb2_init(&dmxdevfilter->vb2_ctx, "demux_filter", dmxdevfilter 825 drivers/media/dvb-core/dmxdev.c dmxdevfilter->type = DMXDEV_TYPE_NONE; dmxdevfilter 826 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_ALLOCATED); dmxdevfilter 827 drivers/media/dvb-core/dmxdev.c timer_setup(&dmxdevfilter->timer, dvb_dmxdev_filter_timeout, 0); dmxdevfilter 836 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter) dmxdevfilter 839 drivers/media/dvb-core/dmxdev.c mutex_lock(&dmxdevfilter->mutex); dmxdevfilter 840 drivers/media/dvb-core/dmxdev.c if (dvb_vb2_is_streaming(&dmxdevfilter->vb2_ctx)) dmxdevfilter 841 drivers/media/dvb-core/dmxdev.c dvb_vb2_stream_off(&dmxdevfilter->vb2_ctx); dmxdevfilter 842 drivers/media/dvb-core/dmxdev.c dvb_vb2_release(&dmxdevfilter->vb2_ctx); dmxdevfilter 845 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_stop(dmxdevfilter); dmxdevfilter 846 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_reset(dmxdevfilter); dmxdevfilter 848 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->buffer.data) { dmxdevfilter 849 drivers/media/dvb-core/dmxdev.c void *mem = dmxdevfilter->buffer.data; dmxdevfilter 852 drivers/media/dvb-core/dmxdev.c dmxdevfilter->buffer.data = NULL; dmxdevfilter 857 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_FREE); dmxdevfilter 858 drivers/media/dvb-core/dmxdev.c wake_up(&dmxdevfilter->buffer.queue); dmxdevfilter 859 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 922 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter, dmxdevfilter 928 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_stop(dmxdevfilter); dmxdevfilter 930 drivers/media/dvb-core/dmxdev.c dmxdevfilter->type = DMXDEV_TYPE_SEC; dmxdevfilter 931 drivers/media/dvb-core/dmxdev.c memcpy(&dmxdevfilter->params.sec, dmxdevfilter 933 drivers/media/dvb-core/dmxdev.c invert_mode(&dmxdevfilter->params.sec.filter); dmxdevfilter 934 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_SET); dmxdevfilter 937 drivers/media/dvb-core/dmxdev.c return dvb_dmxdev_filter_start(dmxdevfilter); dmxdevfilter 943 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter, dmxdevfilter 948 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_stop(dmxdevfilter); dmxdevfilter 949 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_reset(dmxdevfilter); dmxdevfilter 954 drivers/media/dvb-core/dmxdev.c dmxdevfilter->type = DMXDEV_TYPE_PES; dmxdevfilter 955 drivers/media/dvb-core/dmxdev.c memcpy(&dmxdevfilter->params, params, dmxdevfilter 957 drivers/media/dvb-core/dmxdev.c INIT_LIST_HEAD(&dmxdevfilter->feed.ts); dmxdevfilter 959 drivers/media/dvb-core/dmxdev.c dvb_dmxdev_filter_state_set(dmxdevfilter, DMXDEV_STATE_SET); dmxdevfilter 961 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_add_pid(dmxdev, dmxdevfilter, dmxdevfilter 962 drivers/media/dvb-core/dmxdev.c dmxdevfilter->params.pes.pid); dmxdevfilter 967 drivers/media/dvb-core/dmxdev.c return dvb_dmxdev_filter_start(dmxdevfilter); dmxdevfilter 1017 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = file->private_data; dmxdevfilter 1020 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) dmxdevfilter 1023 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->type == DMXDEV_TYPE_SEC) dmxdevfilter 1024 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_read_sec(dmxdevfilter, file, buf, count, ppos); dmxdevfilter 1026 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_buffer_read(&dmxdevfilter->buffer, dmxdevfilter 1030 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1037 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = file->private_data; dmxdevfilter 1038 drivers/media/dvb-core/dmxdev.c struct dmxdev *dmxdev = dmxdevfilter->dev; dmxdevfilter 1047 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1051 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->state < DMXDEV_STATE_SET) dmxdevfilter 1054 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_filter_start(dmxdevfilter); dmxdevfilter 1055 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1059 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1063 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_filter_stop(dmxdevfilter); dmxdevfilter 1064 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1068 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1072 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_filter_set(dmxdev, dmxdevfilter, parg); dmxdevfilter 1073 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1077 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1081 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_pes_filter_set(dmxdev, dmxdevfilter, parg); dmxdevfilter 1082 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1086 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1090 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_set_buffer_size(dmxdevfilter, arg); dmxdevfilter 1091 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1114 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1118 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_add_pid(dmxdev, dmxdevfilter, *(u16 *)parg); dmxdevfilter 1119 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1123 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1127 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_remove_pid(dmxdev, dmxdevfilter, *(u16 *)parg); dmxdevfilter 1128 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1133 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1137 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_reqbufs(&dmxdevfilter->vb2_ctx, parg); dmxdevfilter 1138 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1142 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1146 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_querybuf(&dmxdevfilter->vb2_ctx, parg); dmxdevfilter 1147 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1151 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1155 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_expbuf(&dmxdevfilter->vb2_ctx, parg); dmxdevfilter 1156 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1160 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1164 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_qbuf(&dmxdevfilter->vb2_ctx, parg); dmxdevfilter 1165 drivers/media/dvb-core/dmxdev.c if (ret == 0 && !dvb_vb2_is_streaming(&dmxdevfilter->vb2_ctx)) dmxdevfilter 1166 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_stream_on(&dmxdevfilter->vb2_ctx); dmxdevfilter 1167 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1171 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1175 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_dqbuf(&dmxdevfilter->vb2_ctx, parg); dmxdevfilter 1176 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1195 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = file->private_data; dmxdevfilter 1198 drivers/media/dvb-core/dmxdev.c poll_wait(file, &dmxdevfilter->buffer.queue, wait); dmxdevfilter 1200 drivers/media/dvb-core/dmxdev.c if ((!dmxdevfilter) || dmxdevfilter->dev->exit) dmxdevfilter 1202 drivers/media/dvb-core/dmxdev.c if (dvb_vb2_is_streaming(&dmxdevfilter->vb2_ctx)) dmxdevfilter 1203 drivers/media/dvb-core/dmxdev.c return dvb_vb2_poll(&dmxdevfilter->vb2_ctx, file, wait); dmxdevfilter 1205 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->state != DMXDEV_STATE_GO && dmxdevfilter 1206 drivers/media/dvb-core/dmxdev.c dmxdevfilter->state != DMXDEV_STATE_DONE && dmxdevfilter 1207 drivers/media/dvb-core/dmxdev.c dmxdevfilter->state != DMXDEV_STATE_TIMEDOUT) dmxdevfilter 1210 drivers/media/dvb-core/dmxdev.c if (dmxdevfilter->buffer.error) dmxdevfilter 1213 drivers/media/dvb-core/dmxdev.c if (!dvb_ringbuffer_empty(&dmxdevfilter->buffer)) dmxdevfilter 1222 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = file->private_data; dmxdevfilter 1223 drivers/media/dvb-core/dmxdev.c struct dmxdev *dmxdev = dmxdevfilter->dev; dmxdevfilter 1232 drivers/media/dvb-core/dmxdev.c if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { dmxdevfilter 1236 drivers/media/dvb-core/dmxdev.c ret = dvb_vb2_mmap(&dmxdevfilter->vb2_ctx, vma); dmxdevfilter 1238 drivers/media/dvb-core/dmxdev.c mutex_unlock(&dmxdevfilter->mutex); dmxdevfilter 1247 drivers/media/dvb-core/dmxdev.c struct dmxdev_filter *dmxdevfilter = file->private_data; dmxdevfilter 1248 drivers/media/dvb-core/dmxdev.c struct dmxdev *dmxdev = dmxdevfilter->dev; dmxdevfilter 1251 drivers/media/dvb-core/dmxdev.c ret = dvb_dmxdev_filter_free(dmxdev, dmxdevfilter);