fdp1 58 drivers/media/platform/rcar_fdp1.c #define dprintk(fdp1, fmt, arg...) \ fdp1 59 drivers/media/platform/rcar_fdp1.c v4l2_dbg(1, debug, &fdp1->v4l2_dev, "%s: " fmt, __func__, ## arg) fdp1 581 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1; fdp1 652 drivers/media/platform/rcar_fdp1.c static struct fdp1_job *list_remove_job(struct fdp1_dev *fdp1, fdp1 658 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&fdp1->irqlock, flags); fdp1 662 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&fdp1->irqlock, flags); fdp1 672 drivers/media/platform/rcar_fdp1.c static void list_add_job(struct fdp1_dev *fdp1, fdp1 678 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&fdp1->irqlock, flags); fdp1 680 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&fdp1->irqlock, flags); fdp1 683 drivers/media/platform/rcar_fdp1.c static struct fdp1_job *fdp1_job_alloc(struct fdp1_dev *fdp1) fdp1 685 drivers/media/platform/rcar_fdp1.c return list_remove_job(fdp1, &fdp1->free_job_list); fdp1 688 drivers/media/platform/rcar_fdp1.c static void fdp1_job_free(struct fdp1_dev *fdp1, struct fdp1_job *job) fdp1 693 drivers/media/platform/rcar_fdp1.c list_add_job(fdp1, &fdp1->free_job_list, job); fdp1 696 drivers/media/platform/rcar_fdp1.c static void queue_job(struct fdp1_dev *fdp1, struct fdp1_job *job) fdp1 698 drivers/media/platform/rcar_fdp1.c list_add_job(fdp1, &fdp1->queued_job_list, job); fdp1 701 drivers/media/platform/rcar_fdp1.c static struct fdp1_job *get_queued_job(struct fdp1_dev *fdp1) fdp1 703 drivers/media/platform/rcar_fdp1.c return list_remove_job(fdp1, &fdp1->queued_job_list); fdp1 706 drivers/media/platform/rcar_fdp1.c static void queue_hw_job(struct fdp1_dev *fdp1, struct fdp1_job *job) fdp1 708 drivers/media/platform/rcar_fdp1.c list_add_job(fdp1, &fdp1->hw_job_list, job); fdp1 711 drivers/media/platform/rcar_fdp1.c static struct fdp1_job *get_hw_queued_job(struct fdp1_dev *fdp1) fdp1 713 drivers/media/platform/rcar_fdp1.c return list_remove_job(fdp1, &fdp1->hw_job_list); fdp1 735 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&ctx->fdp1->irqlock, flags); fdp1 737 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&ctx->fdp1->irqlock, flags); fdp1 749 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&ctx->fdp1->irqlock, flags); fdp1 754 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&ctx->fdp1->irqlock, flags); fdp1 768 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&ctx->fdp1->irqlock, flags); fdp1 771 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&ctx->fdp1->irqlock, flags); fdp1 776 drivers/media/platform/rcar_fdp1.c static u32 fdp1_read(struct fdp1_dev *fdp1, unsigned int reg) fdp1 778 drivers/media/platform/rcar_fdp1.c u32 value = ioread32(fdp1->regs + reg); fdp1 781 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Read 0x%08x from 0x%04x\n", value, reg); fdp1 786 drivers/media/platform/rcar_fdp1.c static void fdp1_write(struct fdp1_dev *fdp1, u32 val, unsigned int reg) fdp1 789 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Write 0x%08x to 0x%04x\n", val, reg); fdp1 791 drivers/media/platform/rcar_fdp1.c iowrite32(val, fdp1->regs + reg); fdp1 797 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 799 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_SMSK_THRESH_CONST, FD1_IPC_SMSK_THRESH); fdp1 800 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_COMB_DET_CONST, FD1_IPC_COMB_DET); fdp1 801 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_MOTDEC_CONST, FD1_IPC_MOTDEC); fdp1 803 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_DLI_BLEND_CONST, FD1_IPC_DLI_BLEND); fdp1 804 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_DLI_HGAIN_CONST, FD1_IPC_DLI_HGAIN); fdp1 805 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_DLI_SPRS_CONST, FD1_IPC_DLI_SPRS); fdp1 806 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_DLI_ANGLE_CONST, FD1_IPC_DLI_ANGLE); fdp1 807 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_DLI_ISOPIX0_CONST, FD1_IPC_DLI_ISOPIX0); fdp1 808 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_DLI_ISOPIX1_CONST, FD1_IPC_DLI_ISOPIX1); fdp1 814 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 823 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_SENSOR_TH0_CONST, FD1_IPC_SENSOR_TH0); fdp1 824 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_SENSOR_TH1_CONST, FD1_IPC_SENSOR_TH1); fdp1 825 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_SENSOR_CTL0_CONST, FD1_IPC_SENSOR_CTL0); fdp1 826 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_SENSOR_CTL1_CONST, FD1_IPC_SENSOR_CTL1); fdp1 828 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, ((hsize - 1) << FD1_IPC_SENSOR_CTL2_X_SHIFT) | fdp1 832 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, (x0 << FD1_IPC_SENSOR_CTL3_0_SHIFT) | fdp1 846 drivers/media/platform/rcar_fdp1.c static void fdp1_write_lut(struct fdp1_dev *fdp1, const u8 *lut, fdp1 856 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, lut[i], base + (i*4)); fdp1 862 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, pad, base + (i*4)); fdp1 865 drivers/media/platform/rcar_fdp1.c static void fdp1_set_lut(struct fdp1_dev *fdp1) fdp1 867 drivers/media/platform/rcar_fdp1.c fdp1_write_lut(fdp1, fdp1_diff_adj, ARRAY_SIZE(fdp1_diff_adj), fdp1 869 drivers/media/platform/rcar_fdp1.c fdp1_write_lut(fdp1, fdp1_sad_adj, ARRAY_SIZE(fdp1_sad_adj), fdp1 871 drivers/media/platform/rcar_fdp1.c fdp1_write_lut(fdp1, fdp1_bld_gain, ARRAY_SIZE(fdp1_bld_gain), fdp1 873 drivers/media/platform/rcar_fdp1.c fdp1_write_lut(fdp1, fdp1_dif_gain, ARRAY_SIZE(fdp1_dif_gain), fdp1 875 drivers/media/platform/rcar_fdp1.c fdp1_write_lut(fdp1, fdp1_mdet, ARRAY_SIZE(fdp1_mdet), fdp1 882 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 918 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, format, FD1_RPF_FORMAT); fdp1 919 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, q_data->fmt->swap, FD1_RPF_SWAP); fdp1 920 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, picture_size, FD1_RPF_SIZE); fdp1 921 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, pstride, FD1_RPF_PSTRIDE); fdp1 922 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, smsk_addr, FD1_RPF_SMSK_ADDR); fdp1 926 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->previous->addrs[0], FD1_RPF0_ADDR_Y); fdp1 929 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->active->addrs[0], FD1_RPF1_ADDR_Y); fdp1 930 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->active->addrs[1], FD1_RPF1_ADDR_C0); fdp1 931 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->active->addrs[2], FD1_RPF1_ADDR_C1); fdp1 935 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->next->addrs[0], FD1_RPF2_ADDR_Y); fdp1 941 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 989 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, format, FD1_WPF_FORMAT); fdp1 990 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, rndctl, FD1_WPF_RNDCTL); fdp1 991 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, swap, FD1_WPF_SWAP); fdp1 992 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, pstride, FD1_WPF_PSTRIDE); fdp1 994 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->dst->addrs[0], FD1_WPF_ADDR_Y); fdp1 995 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->dst->addrs[1], FD1_WPF_ADDR_C0); fdp1 996 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->dst->addrs[2], FD1_WPF_ADDR_C1); fdp1 1002 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 1011 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Progressive Mode\n"); fdp1 1016 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Adapt2D3D Mode\n"); fdp1 1032 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Fixed 3D Mode\n"); fdp1 1039 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Fixed 2D Mode\n"); fdp1 1044 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Previous Field Mode\n"); fdp1 1049 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Next Field Mode\n"); fdp1 1055 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, channels, FD1_CTL_CHACT); fdp1 1056 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, opmode, FD1_CTL_OPMODE); fdp1 1057 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, ipcmode, FD1_IPC_MODE); fdp1 1069 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 1073 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&fdp1->device_process_lock, flags); fdp1 1076 drivers/media/platform/rcar_fdp1.c job = get_queued_job(fdp1); fdp1 1082 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&fdp1->device_process_lock, flags); fdp1 1087 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_CTL_CLKCTRL_CSTP_N, FD1_CTL_CLKCTRL); fdp1 1105 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_IPC_LMEM_LINEAR, FD1_IPC_LMEM); fdp1 1108 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_CTL_IRQ_MASK, FD1_CTL_IRQENB); fdp1 1113 drivers/media/platform/rcar_fdp1.c queue_hw_job(fdp1, job); fdp1 1116 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_CTL_CMD_STRCMD, FD1_CTL_CMD); fdp1 1119 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_CTL_REGEND_REGEND, FD1_CTL_REGEND); fdp1 1122 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, FD1_CTL_SGCMD_SGEN, FD1_CTL_SGCMD); fdp1 1124 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&fdp1->device_process_lock, flags); fdp1 1143 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, "+ Src: %d : Dst: %d\n", fdp1 1153 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, "Not enough buffers available\n"); fdp1 1164 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, "+\n"); fdp1 1170 drivers/media/platform/rcar_fdp1.c fdp1_write(ctx->fdp1, 0, FD1_CTL_SGCMD); fdp1 1171 drivers/media/platform/rcar_fdp1.c fdp1_write(ctx->fdp1, FD1_CTL_SRESET_SRST, FD1_CTL_SRESET); fdp1 1184 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 1188 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "+\n"); fdp1 1196 drivers/media/platform/rcar_fdp1.c job = fdp1_job_alloc(fdp1); fdp1 1198 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "No free jobs currently available\n"); fdp1 1205 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "No input buffers currently available\n"); fdp1 1207 drivers/media/platform/rcar_fdp1.c fdp1_job_free(fdp1, job); fdp1 1211 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "+ Buffer en-route...\n"); fdp1 1249 drivers/media/platform/rcar_fdp1.c queue_job(fdp1, job); fdp1 1251 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Job Queued translen = %d\n", ctx->translen); fdp1 1265 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = ctx->fdp1; fdp1 1270 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "+\n"); fdp1 1282 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Queued Buffer [%d] last_field:%d\n", fdp1 1291 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "No jobs were processed. M2M action complete\n"); fdp1 1292 drivers/media/platform/rcar_fdp1.c v4l2_m2m_job_finish(fdp1->m2m_dev, ctx->fh.m2m_ctx); fdp1 1305 drivers/media/platform/rcar_fdp1.c static void device_frame_end(struct fdp1_dev *fdp1, fdp1 1310 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job = get_hw_queued_job(fdp1); fdp1 1312 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "+\n"); fdp1 1314 drivers/media/platform/rcar_fdp1.c ctx = v4l2_m2m_get_curr_priv(fdp1->m2m_dev); fdp1 1317 drivers/media/platform/rcar_fdp1.c v4l2_err(&fdp1->v4l2_dev, fdp1 1333 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&fdp1->irqlock, flags); fdp1 1336 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&fdp1->irqlock, flags); fdp1 1339 drivers/media/platform/rcar_fdp1.c fdp1_job_free(fdp1, job); fdp1 1341 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "curr_ctx->num_processed %d curr_ctx->translen %d\n", fdp1 1346 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, "Finishing transaction\n"); fdp1 1348 drivers/media/platform/rcar_fdp1.c v4l2_m2m_job_finish(fdp1->m2m_dev, ctx->fh.m2m_ctx); fdp1 1598 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, "Try %s format: %4.4s (0x%08x) %ux%u field %u\n", fdp1 1667 drivers/media/platform/rcar_fdp1.c v4l2_err(&ctx->fdp1->v4l2_dev, "%s queue busy\n", __func__); fdp1 1673 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, "Set %s format: %4.4s (0x%08x) %ux%u field %u\n", fdp1 1886 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, fdp1 1900 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, fdp1 1949 drivers/media/platform/rcar_fdp1.c ctx->smsk_cpu = dma_alloc_coherent(ctx->fdp1->dev, fdp1 1953 drivers/media/platform/rcar_fdp1.c dprintk(ctx->fdp1, "Failed to alloc smsk\n"); fdp1 1978 drivers/media/platform/rcar_fdp1.c spin_lock_irqsave(&ctx->fdp1->irqlock, flags); fdp1 1980 drivers/media/platform/rcar_fdp1.c spin_unlock_irqrestore(&ctx->fdp1->irqlock, flags); fdp1 1997 drivers/media/platform/rcar_fdp1.c dma_free_coherent(ctx->fdp1->dev, ctx->smsk_size, fdp1 2009 drivers/media/platform/rcar_fdp1.c job = get_queued_job(ctx->fdp1); fdp1 2019 drivers/media/platform/rcar_fdp1.c job = get_queued_job(ctx->fdp1); fdp1 2025 drivers/media/platform/rcar_fdp1.c WARN(!list_empty(&ctx->fdp1->queued_job_list), fdp1 2028 drivers/media/platform/rcar_fdp1.c WARN(!list_empty(&ctx->fdp1->hw_job_list), fdp1 2056 drivers/media/platform/rcar_fdp1.c src_vq->lock = &ctx->fdp1->dev_mutex; fdp1 2057 drivers/media/platform/rcar_fdp1.c src_vq->dev = ctx->fdp1->dev; fdp1 2070 drivers/media/platform/rcar_fdp1.c dst_vq->lock = &ctx->fdp1->dev_mutex; fdp1 2071 drivers/media/platform/rcar_fdp1.c dst_vq->dev = ctx->fdp1->dev; fdp1 2081 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = video_drvdata(file); fdp1 2087 drivers/media/platform/rcar_fdp1.c if (mutex_lock_interruptible(&fdp1->dev_mutex)) fdp1 2098 drivers/media/platform/rcar_fdp1.c ctx->fdp1 = fdp1; fdp1 2136 drivers/media/platform/rcar_fdp1.c ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(fdp1->m2m_dev, ctx, &queue_init); fdp1 2147 drivers/media/platform/rcar_fdp1.c pm_runtime_get_sync(fdp1->dev); fdp1 2151 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Created instance: %p, m2m_ctx: %p\n", fdp1 2155 drivers/media/platform/rcar_fdp1.c mutex_unlock(&fdp1->dev_mutex); fdp1 2161 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = video_drvdata(file); fdp1 2164 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "Releasing instance %p\n", ctx); fdp1 2169 drivers/media/platform/rcar_fdp1.c mutex_lock(&fdp1->dev_mutex); fdp1 2171 drivers/media/platform/rcar_fdp1.c mutex_unlock(&fdp1->dev_mutex); fdp1 2174 drivers/media/platform/rcar_fdp1.c pm_runtime_put(fdp1->dev); fdp1 2206 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = dev_id; fdp1 2212 drivers/media/platform/rcar_fdp1.c int_status = fdp1_read(fdp1, FD1_CTL_IRQSTA); fdp1 2213 drivers/media/platform/rcar_fdp1.c cycles = fdp1_read(fdp1, FD1_CTL_VCYCLE_STAT); fdp1 2214 drivers/media/platform/rcar_fdp1.c ctl_status = fdp1_read(fdp1, FD1_CTL_STATUS); fdp1 2219 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, ~(int_status) & FD1_CTL_IRQ_MASK, FD1_CTL_IRQSTA); fdp1 2222 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "IRQ: 0x%x %s%s%s\n", int_status, fdp1 2227 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "CycleStatus = %d (%dms)\n", fdp1 2228 drivers/media/platform/rcar_fdp1.c cycles, cycles/(fdp1->clk_rate/1000)); fdp1 2230 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, fdp1 2237 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "***********************************\n"); fdp1 2246 drivers/media/platform/rcar_fdp1.c device_frame_end(fdp1, VB2_BUF_STATE_ERROR); fdp1 2248 drivers/media/platform/rcar_fdp1.c device_frame_end(fdp1, VB2_BUF_STATE_DONE); fdp1 2255 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1; fdp1 2265 drivers/media/platform/rcar_fdp1.c fdp1 = devm_kzalloc(&pdev->dev, sizeof(*fdp1), GFP_KERNEL); fdp1 2266 drivers/media/platform/rcar_fdp1.c if (!fdp1) fdp1 2269 drivers/media/platform/rcar_fdp1.c INIT_LIST_HEAD(&fdp1->free_job_list); fdp1 2270 drivers/media/platform/rcar_fdp1.c INIT_LIST_HEAD(&fdp1->queued_job_list); fdp1 2271 drivers/media/platform/rcar_fdp1.c INIT_LIST_HEAD(&fdp1->hw_job_list); fdp1 2274 drivers/media/platform/rcar_fdp1.c for (i = 0; i < ARRAY_SIZE(fdp1->jobs); i++) fdp1 2275 drivers/media/platform/rcar_fdp1.c list_add(&fdp1->jobs[i].list, &fdp1->free_job_list); fdp1 2277 drivers/media/platform/rcar_fdp1.c mutex_init(&fdp1->dev_mutex); fdp1 2279 drivers/media/platform/rcar_fdp1.c spin_lock_init(&fdp1->irqlock); fdp1 2280 drivers/media/platform/rcar_fdp1.c spin_lock_init(&fdp1->device_process_lock); fdp1 2281 drivers/media/platform/rcar_fdp1.c fdp1->dev = &pdev->dev; fdp1 2282 drivers/media/platform/rcar_fdp1.c platform_set_drvdata(pdev, fdp1); fdp1 2286 drivers/media/platform/rcar_fdp1.c fdp1->regs = devm_ioremap_resource(&pdev->dev, res); fdp1 2287 drivers/media/platform/rcar_fdp1.c if (IS_ERR(fdp1->regs)) fdp1 2288 drivers/media/platform/rcar_fdp1.c return PTR_ERR(fdp1->regs); fdp1 2291 drivers/media/platform/rcar_fdp1.c fdp1->irq = ret = platform_get_irq(pdev, 0); fdp1 2297 drivers/media/platform/rcar_fdp1.c ret = devm_request_irq(&pdev->dev, fdp1->irq, fdp1_irq_handler, 0, fdp1 2298 drivers/media/platform/rcar_fdp1.c dev_name(&pdev->dev), fdp1); fdp1 2300 drivers/media/platform/rcar_fdp1.c dev_err(&pdev->dev, "cannot claim IRQ %d\n", fdp1->irq); fdp1 2307 drivers/media/platform/rcar_fdp1.c fdp1->fcp = rcar_fcp_get(fcp_node); fdp1 2309 drivers/media/platform/rcar_fdp1.c if (IS_ERR(fdp1->fcp)) { fdp1 2311 drivers/media/platform/rcar_fdp1.c PTR_ERR(fdp1->fcp)); fdp1 2312 drivers/media/platform/rcar_fdp1.c return PTR_ERR(fdp1->fcp); fdp1 2321 drivers/media/platform/rcar_fdp1.c fdp1->clk_rate = clk_get_rate(clk); fdp1 2325 drivers/media/platform/rcar_fdp1.c ret = v4l2_device_register(&pdev->dev, &fdp1->v4l2_dev); fdp1 2327 drivers/media/platform/rcar_fdp1.c v4l2_err(&fdp1->v4l2_dev, "Failed to register video device\n"); fdp1 2332 drivers/media/platform/rcar_fdp1.c fdp1->m2m_dev = v4l2_m2m_init(&m2m_ops); fdp1 2333 drivers/media/platform/rcar_fdp1.c if (IS_ERR(fdp1->m2m_dev)) { fdp1 2334 drivers/media/platform/rcar_fdp1.c v4l2_err(&fdp1->v4l2_dev, "Failed to init mem2mem device\n"); fdp1 2335 drivers/media/platform/rcar_fdp1.c ret = PTR_ERR(fdp1->m2m_dev); fdp1 2340 drivers/media/platform/rcar_fdp1.c fdp1->vfd = fdp1_videodev; fdp1 2341 drivers/media/platform/rcar_fdp1.c vfd = &fdp1->vfd; fdp1 2342 drivers/media/platform/rcar_fdp1.c vfd->lock = &fdp1->dev_mutex; fdp1 2343 drivers/media/platform/rcar_fdp1.c vfd->v4l2_dev = &fdp1->v4l2_dev; fdp1 2344 drivers/media/platform/rcar_fdp1.c video_set_drvdata(vfd, fdp1); fdp1 2349 drivers/media/platform/rcar_fdp1.c v4l2_err(&fdp1->v4l2_dev, "Failed to register video device\n"); fdp1 2353 drivers/media/platform/rcar_fdp1.c v4l2_info(&fdp1->v4l2_dev, "Device registered as /dev/video%d\n", fdp1 2358 drivers/media/platform/rcar_fdp1.c pm_runtime_get_sync(fdp1->dev); fdp1 2360 drivers/media/platform/rcar_fdp1.c hw_version = fdp1_read(fdp1, FD1_IP_INTDATA); fdp1 2363 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "FDP1 Version R-Car H3 ES1\n"); fdp1 2366 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "FDP1 Version R-Car M3-W\n"); fdp1 2369 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "FDP1 Version R-Car H3\n"); fdp1 2372 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "FDP1 Version R-Car M3-N\n"); fdp1 2375 drivers/media/platform/rcar_fdp1.c dprintk(fdp1, "FDP1 Version R-Car E3\n"); fdp1 2378 drivers/media/platform/rcar_fdp1.c dev_err(fdp1->dev, "FDP1 Unidentifiable (0x%08x)\n", fdp1 2383 drivers/media/platform/rcar_fdp1.c pm_runtime_put(fdp1->dev); fdp1 2388 drivers/media/platform/rcar_fdp1.c v4l2_m2m_release(fdp1->m2m_dev); fdp1 2391 drivers/media/platform/rcar_fdp1.c v4l2_device_unregister(&fdp1->v4l2_dev); fdp1 2398 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = platform_get_drvdata(pdev); fdp1 2400 drivers/media/platform/rcar_fdp1.c v4l2_m2m_release(fdp1->m2m_dev); fdp1 2401 drivers/media/platform/rcar_fdp1.c video_unregister_device(&fdp1->vfd); fdp1 2402 drivers/media/platform/rcar_fdp1.c v4l2_device_unregister(&fdp1->v4l2_dev); fdp1 2410 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = dev_get_drvdata(dev); fdp1 2412 drivers/media/platform/rcar_fdp1.c rcar_fcp_disable(fdp1->fcp); fdp1 2419 drivers/media/platform/rcar_fdp1.c struct fdp1_dev *fdp1 = dev_get_drvdata(dev); fdp1 2422 drivers/media/platform/rcar_fdp1.c fdp1_set_lut(fdp1); fdp1 2424 drivers/media/platform/rcar_fdp1.c return rcar_fcp_enable(fdp1->fcp);