bdisp 14 drivers/media/platform/sti/bdisp/bdisp-debug.c void bdisp_dbg_perf_begin(struct bdisp_dev *bdisp) bdisp 16 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.hw_start = ktime_get(); bdisp 19 drivers/media/platform/sti/bdisp/bdisp-debug.c void bdisp_dbg_perf_end(struct bdisp_dev *bdisp) bdisp 23 drivers/media/platform/sti/bdisp/bdisp-debug.c time_us = ktime_us_delta(ktime_get(), bdisp->dbg.hw_start); bdisp 25 drivers/media/platform/sti/bdisp/bdisp-debug.c if (!bdisp->dbg.min_duration) bdisp 26 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.min_duration = time_us; bdisp 28 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.min_duration = min(time_us, bdisp->dbg.min_duration); bdisp 30 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.last_duration = time_us; bdisp 31 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.max_duration = max(time_us, bdisp->dbg.max_duration); bdisp 32 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.tot_duration += time_us; bdisp 321 drivers/media/platform/sti/bdisp/bdisp-debug.c struct bdisp_dev *bdisp = s->private; bdisp 325 drivers/media/platform/sti/bdisp/bdisp-debug.c if (!bdisp->dbg.copy_node[0]) { bdisp 331 drivers/media/platform/sti/bdisp/bdisp-debug.c node = bdisp->dbg.copy_node[i]; bdisp 393 drivers/media/platform/sti/bdisp/bdisp-debug.c struct bdisp_dev *bdisp = s->private; bdisp 398 drivers/media/platform/sti/bdisp/bdisp-debug.c if (!bdisp->dbg.copy_node[0]) { bdisp 404 drivers/media/platform/sti/bdisp/bdisp-debug.c node = bdisp->dbg.copy_node[i]; bdisp 442 drivers/media/platform/sti/bdisp/bdisp-debug.c struct bdisp_dev *bdisp = s->private; bdisp 443 drivers/media/platform/sti/bdisp/bdisp-debug.c struct bdisp_request *request = &bdisp->dbg.copy_request; bdisp 475 drivers/media/platform/sti/bdisp/bdisp-debug.c #define DUMP(reg) seq_printf(s, #reg " \t0x%08X\n", readl(bdisp->regs + reg)) bdisp 479 drivers/media/platform/sti/bdisp/bdisp-debug.c struct bdisp_dev *bdisp = s->private; bdisp 483 drivers/media/platform/sti/bdisp/bdisp-debug.c ret = pm_runtime_get_sync(bdisp->dev); bdisp 489 drivers/media/platform/sti/bdisp/bdisp-debug.c seq_printf(s, "Reg @ = 0x%p\n", bdisp->regs); bdisp 561 drivers/media/platform/sti/bdisp/bdisp-debug.c readl(bdisp->regs + BLT_HFC_N + i * 4)); bdisp 565 drivers/media/platform/sti/bdisp/bdisp-debug.c readl(bdisp->regs + BLT_VFC_N + i * 4)); bdisp 571 drivers/media/platform/sti/bdisp/bdisp-debug.c readl(bdisp->regs + BLT_Y_HFC_N + i * 4)); bdisp 575 drivers/media/platform/sti/bdisp/bdisp-debug.c readl(bdisp->regs + BLT_Y_VFC_N + i * 4)); bdisp 578 drivers/media/platform/sti/bdisp/bdisp-debug.c pm_runtime_put(bdisp->dev); bdisp 587 drivers/media/platform/sti/bdisp/bdisp-debug.c struct bdisp_dev *bdisp = s->private; bdisp 588 drivers/media/platform/sti/bdisp/bdisp-debug.c struct bdisp_request *request = &bdisp->dbg.copy_request; bdisp 597 drivers/media/platform/sti/bdisp/bdisp-debug.c avg_time_us = div64_s64(bdisp->dbg.tot_duration, request->nb_req); bdisp 603 drivers/media/platform/sti/bdisp/bdisp-debug.c if (bdisp->dbg.min_duration > SECOND) bdisp 606 drivers/media/platform/sti/bdisp/bdisp-debug.c min_fps = SECOND / (s32)bdisp->dbg.min_duration; bdisp 608 drivers/media/platform/sti/bdisp/bdisp-debug.c if (bdisp->dbg.max_duration > SECOND) bdisp 611 drivers/media/platform/sti/bdisp/bdisp-debug.c max_fps = SECOND / (s32)bdisp->dbg.max_duration; bdisp 613 drivers/media/platform/sti/bdisp/bdisp-debug.c if (bdisp->dbg.last_duration > SECOND) bdisp 616 drivers/media/platform/sti/bdisp/bdisp-debug.c last_fps = SECOND / (s32)bdisp->dbg.last_duration; bdisp 622 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.min_duration, min_fps, bdisp 623 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.max_duration, max_fps); bdisp 625 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.last_duration, last_fps); bdisp 631 drivers/media/platform/sti/bdisp/bdisp-debug.c debugfs_create_file(#name, S_IRUGO, bdisp->dbg.debugfs_entry, bdisp, \ bdisp 640 drivers/media/platform/sti/bdisp/bdisp-debug.c int bdisp_debugfs_create(struct bdisp_dev *bdisp) bdisp 644 drivers/media/platform/sti/bdisp/bdisp-debug.c snprintf(dirname, sizeof(dirname), "%s%d", BDISP_NAME, bdisp->id); bdisp 645 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.debugfs_entry = debugfs_create_dir(dirname, NULL); bdisp 646 drivers/media/platform/sti/bdisp/bdisp-debug.c if (!bdisp->dbg.debugfs_entry) bdisp 667 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp_debugfs_remove(bdisp); bdisp 671 drivers/media/platform/sti/bdisp/bdisp-debug.c void bdisp_debugfs_remove(struct bdisp_dev *bdisp) bdisp 673 drivers/media/platform/sti/bdisp/bdisp-debug.c debugfs_remove_recursive(bdisp->dbg.debugfs_entry); bdisp 674 drivers/media/platform/sti/bdisp/bdisp-debug.c bdisp->dbg.debugfs_entry = NULL; bdisp 367 drivers/media/platform/sti/bdisp/bdisp-hw.c int bdisp_hw_reset(struct bdisp_dev *bdisp) bdisp 371 drivers/media/platform/sti/bdisp/bdisp-hw.c dev_dbg(bdisp->dev, "%s\n", __func__); bdisp 374 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(0, bdisp->regs + BLT_ITM0); bdisp 377 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(readl(bdisp->regs + BLT_CTL) | BLT_CTL_RESET, bdisp 378 drivers/media/platform/sti/bdisp/bdisp-hw.c bdisp->regs + BLT_CTL); bdisp 379 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(0, bdisp->regs + BLT_CTL); bdisp 383 drivers/media/platform/sti/bdisp/bdisp-hw.c if (readl(bdisp->regs + BLT_STA1) & BLT_STA1_IDLE) bdisp 388 drivers/media/platform/sti/bdisp/bdisp-hw.c dev_err(bdisp->dev, "Reset timeout\n"); bdisp 402 drivers/media/platform/sti/bdisp/bdisp-hw.c int bdisp_hw_get_and_clear_irq(struct bdisp_dev *bdisp) bdisp 406 drivers/media/platform/sti/bdisp/bdisp-hw.c its = readl(bdisp->regs + BLT_ITS); bdisp 410 drivers/media/platform/sti/bdisp/bdisp-hw.c dev_dbg(bdisp->dev, "Unexpected IT status: 0x%08X\n", its); bdisp 411 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(its, bdisp->regs + BLT_ITS); bdisp 416 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(its, bdisp->regs + BLT_ITS); bdisp 417 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(0, bdisp->regs + BLT_ITM0); bdisp 1087 drivers/media/platform/sti/bdisp/bdisp-hw.c struct bdisp_dev *bdisp = ctx->bdisp_dev; bdisp 1088 drivers/media/platform/sti/bdisp/bdisp-hw.c struct device *dev = bdisp->dev; bdisp 1104 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(BLT_AQ1_CTL_CFG, bdisp->regs + BLT_AQ1_CTL); bdisp 1105 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(BLT_ITS_AQ1_LNA, bdisp->regs + BLT_ITM0); bdisp 1108 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(ctx->node_paddr[0], bdisp->regs + BLT_AQ1_IP); bdisp 1115 drivers/media/platform/sti/bdisp/bdisp-hw.c writel(ctx->node_paddr[node_id], bdisp->regs + BLT_AQ1_LNA); bdisp 211 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = ctx->bdisp_dev; bdisp 216 drivers/media/platform/sti/bdisp/bdisp-v4l2.c cancel_delayed_work(&bdisp->timeout_work); bdisp 218 drivers/media/platform/sti/bdisp/bdisp-v4l2.c curr_ctx = v4l2_m2m_get_curr_priv(bdisp->m2m.m2m_dev); bdisp 219 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!test_bit(ST_M2M_RUNNING, &bdisp->state) || (curr_ctx != ctx)) bdisp 224 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ret = wait_event_timeout(bdisp->irq_queue, bdisp 308 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp; bdisp 315 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp = ctx->bdisp_dev; bdisp 316 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_dbg(bdisp->dev, "%s\n", __func__); bdisp 317 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_lock_irqsave(&bdisp->slock, flags); bdisp 319 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (bdisp->m2m.ctx != ctx) { bdisp 320 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_dbg(bdisp->dev, "ctx updated: %p -> %p\n", bdisp 321 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->m2m.ctx, ctx); bdisp 323 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->m2m.ctx = ctx; bdisp 329 drivers/media/platform/sti/bdisp/bdisp-v4l2.c wake_up(&bdisp->irq_queue); bdisp 335 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "cannot get address\n"); bdisp 339 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_dbg_perf_begin(bdisp); bdisp 341 drivers/media/platform/sti/bdisp/bdisp-v4l2.c err = bdisp_hw_reset(bdisp); bdisp 343 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "could not get HW ready\n"); bdisp 349 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "could not send HW request\n"); bdisp 353 drivers/media/platform/sti/bdisp/bdisp-v4l2.c queue_delayed_work(bdisp->work_queue, &bdisp->timeout_work, bdisp 355 drivers/media/platform/sti/bdisp/bdisp-v4l2.c set_bit(ST_M2M_RUNNING, &bdisp->state); bdisp 358 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock_irqrestore(&bdisp->slock, flags); bdisp 577 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = video_drvdata(file); bdisp 581 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (mutex_lock_interruptible(&bdisp->lock)) bdisp 590 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ctx->bdisp_dev = bdisp; bdisp 593 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "no memory for nodes\n"); bdisp 598 drivers/media/platform/sti/bdisp/bdisp-v4l2.c v4l2_fh_init(&ctx->fh, bdisp->m2m.vdev); bdisp 602 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "Failed to create control\n"); bdisp 616 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(bdisp->m2m.m2m_dev, ctx, bdisp 619 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "Failed to initialize m2m context\n"); bdisp 624 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->m2m.refcnt++; bdisp 625 drivers/media/platform/sti/bdisp/bdisp-v4l2.c set_bit(ST_M2M_OPEN, &bdisp->state); bdisp 627 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_dbg(bdisp->dev, "driver opened, ctx = 0x%p\n", ctx); bdisp 629 drivers/media/platform/sti/bdisp/bdisp-v4l2.c mutex_unlock(&bdisp->lock); bdisp 642 drivers/media/platform/sti/bdisp/bdisp-v4l2.c mutex_unlock(&bdisp->lock); bdisp 650 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = ctx->bdisp_dev; bdisp 652 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_dbg(bdisp->dev, "%s\n", __func__); bdisp 654 drivers/media/platform/sti/bdisp/bdisp-v4l2.c mutex_lock(&bdisp->lock); bdisp 663 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (--bdisp->m2m.refcnt <= 0) bdisp 664 drivers/media/platform/sti/bdisp/bdisp-v4l2.c clear_bit(ST_M2M_OPEN, &bdisp->state); bdisp 670 drivers/media/platform/sti/bdisp/bdisp-v4l2.c mutex_unlock(&bdisp->lock); bdisp 688 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = ctx->bdisp_dev; bdisp 690 drivers/media/platform/sti/bdisp/bdisp-v4l2.c strscpy(cap->driver, bdisp->pdev->name, sizeof(cap->driver)); bdisp 691 drivers/media/platform/sti/bdisp/bdisp-v4l2.c strscpy(cap->card, bdisp->pdev->name, sizeof(cap->card)); bdisp 693 drivers/media/platform/sti/bdisp/bdisp-v4l2.c BDISP_NAME, bdisp->id); bdisp 1043 drivers/media/platform/sti/bdisp/bdisp-v4l2.c static int bdisp_register_device(struct bdisp_dev *bdisp) bdisp 1047 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!bdisp) bdisp 1050 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->vdev.fops = &bdisp_fops; bdisp 1051 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->vdev.ioctl_ops = &bdisp_ioctl_ops; bdisp 1052 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->vdev.release = video_device_release_empty; bdisp 1053 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->vdev.lock = &bdisp->lock; bdisp 1054 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->vdev.vfl_dir = VFL_DIR_M2M; bdisp 1055 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->vdev.v4l2_dev = &bdisp->v4l2_dev; bdisp 1056 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->vdev.device_caps = V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_M2M; bdisp 1057 drivers/media/platform/sti/bdisp/bdisp-v4l2.c snprintf(bdisp->vdev.name, sizeof(bdisp->vdev.name), "%s.%d", bdisp 1058 drivers/media/platform/sti/bdisp/bdisp-v4l2.c BDISP_NAME, bdisp->id); bdisp 1060 drivers/media/platform/sti/bdisp/bdisp-v4l2.c video_set_drvdata(&bdisp->vdev, bdisp); bdisp 1062 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->m2m.vdev = &bdisp->vdev; bdisp 1063 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->m2m.m2m_dev = v4l2_m2m_init(&bdisp_m2m_ops); bdisp 1064 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (IS_ERR(bdisp->m2m.m2m_dev)) { bdisp 1065 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "failed to initialize v4l2-m2m device\n"); bdisp 1066 drivers/media/platform/sti/bdisp/bdisp-v4l2.c return PTR_ERR(bdisp->m2m.m2m_dev); bdisp 1069 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ret = video_register_device(&bdisp->vdev, VFL_TYPE_GRABBER, -1); bdisp 1071 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, bdisp 1073 drivers/media/platform/sti/bdisp/bdisp-v4l2.c v4l2_m2m_release(bdisp->m2m.m2m_dev); bdisp 1080 drivers/media/platform/sti/bdisp/bdisp-v4l2.c static void bdisp_unregister_device(struct bdisp_dev *bdisp) bdisp 1082 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!bdisp) bdisp 1085 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (bdisp->m2m.m2m_dev) bdisp 1086 drivers/media/platform/sti/bdisp/bdisp-v4l2.c v4l2_m2m_release(bdisp->m2m.m2m_dev); bdisp 1088 drivers/media/platform/sti/bdisp/bdisp-v4l2.c video_unregister_device(bdisp->m2m.vdev); bdisp 1093 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = priv; bdisp 1096 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_lock(&bdisp->slock); bdisp 1098 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_dbg_perf_end(bdisp); bdisp 1100 drivers/media/platform/sti/bdisp/bdisp-v4l2.c cancel_delayed_work(&bdisp->timeout_work); bdisp 1102 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!test_and_clear_bit(ST_M2M_RUNNING, &bdisp->state)) bdisp 1105 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (test_and_clear_bit(ST_M2M_SUSPENDING, &bdisp->state)) { bdisp 1106 drivers/media/platform/sti/bdisp/bdisp-v4l2.c set_bit(ST_M2M_SUSPENDED, &bdisp->state); bdisp 1107 drivers/media/platform/sti/bdisp/bdisp-v4l2.c wake_up(&bdisp->irq_queue); bdisp 1111 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ctx = v4l2_m2m_get_curr_priv(bdisp->m2m.m2m_dev); bdisp 1115 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock(&bdisp->slock); bdisp 1121 drivers/media/platform/sti/bdisp/bdisp-v4l2.c wake_up(&bdisp->irq_queue); bdisp 1127 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock(&bdisp->slock); bdisp 1143 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = container_of(twork, struct bdisp_dev, bdisp 1147 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ctx = v4l2_m2m_get_curr_priv(bdisp->m2m.m2m_dev); bdisp 1151 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_lock(&bdisp->slock); bdisp 1152 drivers/media/platform/sti/bdisp/bdisp-v4l2.c clear_bit(ST_M2M_RUNNING, &bdisp->state); bdisp 1153 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock(&bdisp->slock); bdisp 1155 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_hw_reset(bdisp); bdisp 1160 drivers/media/platform/sti/bdisp/bdisp-v4l2.c static int bdisp_m2m_suspend(struct bdisp_dev *bdisp) bdisp 1165 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_lock_irqsave(&bdisp->slock, flags); bdisp 1166 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!test_bit(ST_M2M_RUNNING, &bdisp->state)) { bdisp 1167 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock_irqrestore(&bdisp->slock, flags); bdisp 1170 drivers/media/platform/sti/bdisp/bdisp-v4l2.c clear_bit(ST_M2M_SUSPENDED, &bdisp->state); bdisp 1171 drivers/media/platform/sti/bdisp/bdisp-v4l2.c set_bit(ST_M2M_SUSPENDING, &bdisp->state); bdisp 1172 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock_irqrestore(&bdisp->slock, flags); bdisp 1174 drivers/media/platform/sti/bdisp/bdisp-v4l2.c timeout = wait_event_timeout(bdisp->irq_queue, bdisp 1175 drivers/media/platform/sti/bdisp/bdisp-v4l2.c test_bit(ST_M2M_SUSPENDED, &bdisp->state), bdisp 1178 drivers/media/platform/sti/bdisp/bdisp-v4l2.c clear_bit(ST_M2M_SUSPENDING, &bdisp->state); bdisp 1181 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "%s IRQ timeout\n", __func__); bdisp 1188 drivers/media/platform/sti/bdisp/bdisp-v4l2.c static int bdisp_m2m_resume(struct bdisp_dev *bdisp) bdisp 1193 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_lock_irqsave(&bdisp->slock, flags); bdisp 1194 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ctx = bdisp->m2m.ctx; bdisp 1195 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->m2m.ctx = NULL; bdisp 1196 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock_irqrestore(&bdisp->slock, flags); bdisp 1198 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (test_and_clear_bit(ST_M2M_SUSPENDED, &bdisp->state)) bdisp 1206 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = dev_get_drvdata(dev); bdisp 1207 drivers/media/platform/sti/bdisp/bdisp-v4l2.c int ret = clk_enable(bdisp->clock); bdisp 1212 drivers/media/platform/sti/bdisp/bdisp-v4l2.c return bdisp_m2m_resume(bdisp); bdisp 1217 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = dev_get_drvdata(dev); bdisp 1218 drivers/media/platform/sti/bdisp/bdisp-v4l2.c int ret = bdisp_m2m_suspend(bdisp); bdisp 1221 drivers/media/platform/sti/bdisp/bdisp-v4l2.c clk_disable(bdisp->clock); bdisp 1228 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = dev_get_drvdata(dev); bdisp 1232 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_lock_irqsave(&bdisp->slock, flags); bdisp 1233 drivers/media/platform/sti/bdisp/bdisp-v4l2.c opened = test_bit(ST_M2M_OPEN, &bdisp->state); bdisp 1234 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_unlock_irqrestore(&bdisp->slock, flags); bdisp 1262 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp = platform_get_drvdata(pdev); bdisp 1264 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_unregister_device(bdisp); bdisp 1266 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_hw_free_filters(bdisp->dev); bdisp 1270 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_debugfs_remove(bdisp); bdisp 1272 drivers/media/platform/sti/bdisp/bdisp-v4l2.c v4l2_device_unregister(&bdisp->v4l2_dev); bdisp 1274 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!IS_ERR(bdisp->clock)) bdisp 1275 drivers/media/platform/sti/bdisp/bdisp-v4l2.c clk_unprepare(bdisp->clock); bdisp 1284 drivers/media/platform/sti/bdisp/bdisp-v4l2.c struct bdisp_dev *bdisp; bdisp 1291 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp = devm_kzalloc(dev, sizeof(struct bdisp_dev), GFP_KERNEL); bdisp 1292 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!bdisp) bdisp 1299 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->pdev = pdev; bdisp 1300 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->dev = dev; bdisp 1301 drivers/media/platform/sti/bdisp/bdisp-v4l2.c platform_set_drvdata(pdev, bdisp); bdisp 1304 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->id = of_alias_get_id(pdev->dev.of_node, BDISP_NAME); bdisp 1306 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->id = pdev->id; bdisp 1308 drivers/media/platform/sti/bdisp/bdisp-v4l2.c init_waitqueue_head(&bdisp->irq_queue); bdisp 1309 drivers/media/platform/sti/bdisp/bdisp-v4l2.c INIT_DELAYED_WORK(&bdisp->timeout_work, bdisp_irq_timeout); bdisp 1310 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->work_queue = create_workqueue(BDISP_NAME); bdisp 1312 drivers/media/platform/sti/bdisp/bdisp-v4l2.c spin_lock_init(&bdisp->slock); bdisp 1313 drivers/media/platform/sti/bdisp/bdisp-v4l2.c mutex_init(&bdisp->lock); bdisp 1317 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->regs = devm_ioremap_resource(dev, res); bdisp 1318 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (IS_ERR(bdisp->regs)) { bdisp 1320 drivers/media/platform/sti/bdisp/bdisp-v4l2.c return PTR_ERR(bdisp->regs); bdisp 1323 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->clock = devm_clk_get(dev, BDISP_NAME); bdisp 1324 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (IS_ERR(bdisp->clock)) { bdisp 1326 drivers/media/platform/sti/bdisp/bdisp-v4l2.c return PTR_ERR(bdisp->clock); bdisp 1329 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ret = clk_prepare(bdisp->clock); bdisp 1332 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->clock = ERR_PTR(-EINVAL); bdisp 1345 drivers/media/platform/sti/bdisp/bdisp-v4l2.c pdev->name, bdisp); bdisp 1352 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ret = v4l2_device_register(dev, &bdisp->v4l2_dev); bdisp 1359 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ret = bdisp_debugfs_create(bdisp); bdisp 1374 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (bdisp_hw_alloc_filters(bdisp->dev)) { bdisp 1375 drivers/media/platform/sti/bdisp/bdisp-v4l2.c dev_err(bdisp->dev, "no memory for filters\n"); bdisp 1381 drivers/media/platform/sti/bdisp/bdisp-v4l2.c ret = bdisp_register_device(bdisp); bdisp 1388 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp->id, bdisp->vdev.num); bdisp 1395 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_hw_free_filters(bdisp->dev); bdisp 1399 drivers/media/platform/sti/bdisp/bdisp-v4l2.c bdisp_debugfs_remove(bdisp); bdisp 1401 drivers/media/platform/sti/bdisp/bdisp-v4l2.c v4l2_device_unregister(&bdisp->v4l2_dev); bdisp 1403 drivers/media/platform/sti/bdisp/bdisp-v4l2.c if (!IS_ERR(bdisp->clock)) bdisp 1404 drivers/media/platform/sti/bdisp/bdisp-v4l2.c clk_unprepare(bdisp->clock); bdisp 207 drivers/media/platform/sti/bdisp/bdisp.h int bdisp_hw_reset(struct bdisp_dev *bdisp); bdisp 208 drivers/media/platform/sti/bdisp/bdisp.h int bdisp_hw_get_and_clear_irq(struct bdisp_dev *bdisp); bdisp 211 drivers/media/platform/sti/bdisp/bdisp.h void bdisp_debugfs_remove(struct bdisp_dev *bdisp); bdisp 212 drivers/media/platform/sti/bdisp/bdisp.h int bdisp_debugfs_create(struct bdisp_dev *bdisp); bdisp 213 drivers/media/platform/sti/bdisp/bdisp.h void bdisp_dbg_perf_begin(struct bdisp_dev *bdisp); bdisp 214 drivers/media/platform/sti/bdisp/bdisp.h void bdisp_dbg_perf_end(struct bdisp_dev *bdisp);