jpu               277 drivers/media/platform/rcar_jpu.c 	struct jpu		*jpu;
jpu               475 drivers/media/platform/rcar_jpu.c static u32 jpu_read(struct jpu *jpu, unsigned int reg)
jpu               477 drivers/media/platform/rcar_jpu.c 	return ioread32(jpu->regs + reg);
jpu               480 drivers/media/platform/rcar_jpu.c static void jpu_write(struct jpu *jpu, u32 val, unsigned int reg)
jpu               482 drivers/media/platform/rcar_jpu.c 	iowrite32(val, jpu->regs + reg);
jpu               495 drivers/media/platform/rcar_jpu.c static void jpu_set_tbl(struct jpu *jpu, u32 reg, const unsigned int *tbl,
jpu               500 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, tbl[i], reg + (i << 2));
jpu               503 drivers/media/platform/rcar_jpu.c static void jpu_set_qtbl(struct jpu *jpu, unsigned short quality)
jpu               505 drivers/media/platform/rcar_jpu.c 	jpu_set_tbl(jpu, JCQTBL(0), qtbl_lum[quality], QTBL_SIZE);
jpu               506 drivers/media/platform/rcar_jpu.c 	jpu_set_tbl(jpu, JCQTBL(1), qtbl_chr[quality], QTBL_SIZE);
jpu               509 drivers/media/platform/rcar_jpu.c static void jpu_set_htbl(struct jpu *jpu)
jpu               511 drivers/media/platform/rcar_jpu.c 	jpu_set_tbl(jpu, JCHTBD(0), hdctbl_lum, HDCTBL_SIZE);
jpu               512 drivers/media/platform/rcar_jpu.c 	jpu_set_tbl(jpu, JCHTBA(0), hactbl_lum, HACTBL_SIZE);
jpu               513 drivers/media/platform/rcar_jpu.c 	jpu_set_tbl(jpu, JCHTBD(1), hdctbl_chr, HDCTBL_SIZE);
jpu               514 drivers/media/platform/rcar_jpu.c 	jpu_set_tbl(jpu, JCHTBA(1), hactbl_chr, HACTBL_SIZE);
jpu               517 drivers/media/platform/rcar_jpu.c static int jpu_wait_reset(struct jpu *jpu)
jpu               523 drivers/media/platform/rcar_jpu.c 	while (jpu_read(jpu, JCCMD) & JCCMD_SRST) {
jpu               525 drivers/media/platform/rcar_jpu.c 			dev_err(jpu->dev, "timed out in reset\n");
jpu               534 drivers/media/platform/rcar_jpu.c static int jpu_reset(struct jpu *jpu)
jpu               536 drivers/media/platform/rcar_jpu.c 	jpu_write(jpu, JCCMD_SRST, JCCMD);
jpu               537 drivers/media/platform/rcar_jpu.c 	return jpu_wait_reset(jpu);
jpu               673 drivers/media/platform/rcar_jpu.c 		 dev_name(ctx->jpu->dev));
jpu               782 drivers/media/platform/rcar_jpu.c 		dev_dbg(ctx->jpu->dev, "unknown format; set default format\n");
jpu               860 drivers/media/platform/rcar_jpu.c 		v4l2_err(&ctx->jpu->v4l2_dev, "%s queue busy\n", __func__);
jpu               898 drivers/media/platform/rcar_jpu.c 	spin_lock_irqsave(&ctx->jpu->lock, flags);
jpu               901 drivers/media/platform/rcar_jpu.c 	spin_unlock_irqrestore(&ctx->jpu->lock, flags);
jpu               938 drivers/media/platform/rcar_jpu.c 		dev_err(ctx->jpu->dev, "src and dst formats do not match.\n");
jpu              1052 drivers/media/platform/rcar_jpu.c 			dev_err(ctx->jpu->dev, "%s field isn't supported\n",
jpu              1062 drivers/media/platform/rcar_jpu.c 			dev_err(ctx->jpu->dev,
jpu              1121 drivers/media/platform/rcar_jpu.c 	dev_err(ctx->jpu->dev, "incompatible or corrupted JPEG data\n");
jpu              1173 drivers/media/platform/rcar_jpu.c 		spin_lock_irqsave(&ctx->jpu->lock, flags);
jpu              1175 drivers/media/platform/rcar_jpu.c 		spin_unlock_irqrestore(&ctx->jpu->lock, flags);
jpu              1204 drivers/media/platform/rcar_jpu.c 	src_vq->lock = &ctx->jpu->mutex;
jpu              1205 drivers/media/platform/rcar_jpu.c 	src_vq->dev = ctx->jpu->v4l2_dev.dev;
jpu              1219 drivers/media/platform/rcar_jpu.c 	dst_vq->lock = &ctx->jpu->mutex;
jpu              1220 drivers/media/platform/rcar_jpu.c 	dst_vq->dev = ctx->jpu->v4l2_dev.dev;
jpu              1232 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu = video_drvdata(file);
jpu              1246 drivers/media/platform/rcar_jpu.c 	ctx->jpu = jpu;
jpu              1247 drivers/media/platform/rcar_jpu.c 	ctx->encoder = vfd == &jpu->vfd_encoder;
jpu              1254 drivers/media/platform/rcar_jpu.c 	ctx->fh.m2m_ctx = v4l2_m2m_ctx_init(jpu->m2m_dev, ctx, jpu_queue_init);
jpu              1264 drivers/media/platform/rcar_jpu.c 	if (mutex_lock_interruptible(&jpu->mutex)) {
jpu              1269 drivers/media/platform/rcar_jpu.c 	if (jpu->ref_count == 0) {
jpu              1270 drivers/media/platform/rcar_jpu.c 		ret = clk_prepare_enable(jpu->clk);
jpu              1274 drivers/media/platform/rcar_jpu.c 		ret = jpu_reset(jpu);
jpu              1279 drivers/media/platform/rcar_jpu.c 	jpu->ref_count++;
jpu              1281 drivers/media/platform/rcar_jpu.c 	mutex_unlock(&jpu->mutex);
jpu              1285 drivers/media/platform/rcar_jpu.c 	clk_disable_unprepare(jpu->clk);
jpu              1287 drivers/media/platform/rcar_jpu.c 	mutex_unlock(&jpu->mutex);
jpu              1297 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu = video_drvdata(file);
jpu              1306 drivers/media/platform/rcar_jpu.c 	mutex_lock(&jpu->mutex);
jpu              1307 drivers/media/platform/rcar_jpu.c 	if (--jpu->ref_count == 0)
jpu              1308 drivers/media/platform/rcar_jpu.c 		clk_disable_unprepare(jpu->clk);
jpu              1309 drivers/media/platform/rcar_jpu.c 	mutex_unlock(&jpu->mutex);
jpu              1334 drivers/media/platform/rcar_jpu.c 	spin_lock_irqsave(&ctx->jpu->lock, flags);
jpu              1344 drivers/media/platform/rcar_jpu.c 		jpu_write(ctx->jpu, JCCMD_SRST, JCCMD);
jpu              1346 drivers/media/platform/rcar_jpu.c 	spin_unlock_irqrestore(&ctx->jpu->lock, flags);
jpu              1348 drivers/media/platform/rcar_jpu.c 	v4l2_m2m_job_finish(ctx->jpu->m2m_dev, ctx->fh.m2m_ctx);
jpu              1354 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu = ctx->jpu;
jpu              1363 drivers/media/platform/rcar_jpu.c 	if (jpu_wait_reset(jpu)) {
jpu              1368 drivers/media/platform/rcar_jpu.c 	spin_lock_irqsave(&ctx->jpu->lock, flags);
jpu              1370 drivers/media/platform/rcar_jpu.c 	jpu->curr = ctx;
jpu              1413 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JCMOD_DSP_ENC | JCMOD_PCTR | redu |
jpu              1416 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JIFECNT_SWAP_WB | inft, JIFECNT);
jpu              1417 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JIFDCNT_SWAP_WB, JIFDCNT);
jpu              1418 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JINTE_TRANSF_COMPL, JINTE);
jpu              1421 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, src_1_addr, JIFESYA1);
jpu              1422 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, src_2_addr, JIFESCA1);
jpu              1425 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, bpl, JIFESMW);
jpu              1427 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, (w >> 8) & JCSZ_MASK, JCHSZU);
jpu              1428 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, w & JCSZ_MASK, JCHSZD);
jpu              1430 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, (h >> 8) & JCSZ_MASK, JCVSZU);
jpu              1431 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, h & JCSZ_MASK, JCVSZD);
jpu              1433 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, w, JIFESHSZ);
jpu              1434 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, h, JIFESVSZ);
jpu              1436 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, dst_addr + JPU_JPEG_HDR_SIZE, JIFEDA1);
jpu              1438 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, 0 << JCQTN_SHIFT(1) | 1 << JCQTN_SHIFT(2) |
jpu              1441 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, 0 << JCHTN_AC_SHIFT(1) | 0 << JCHTN_DC_SHIFT(1) |
jpu              1446 drivers/media/platform/rcar_jpu.c 		jpu_set_qtbl(jpu, ctx->compr_quality);
jpu              1447 drivers/media/platform/rcar_jpu.c 		jpu_set_htbl(jpu);
jpu              1452 drivers/media/platform/rcar_jpu.c 			dev_err(ctx->jpu->dev,
jpu              1454 drivers/media/platform/rcar_jpu.c 			spin_unlock_irqrestore(&ctx->jpu->lock, flags);
jpu              1469 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JCMOD_DSP_DEC | JCMOD_PCTR, JCMOD);
jpu              1470 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JIFECNT_SWAP_WB, JIFECNT);
jpu              1471 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JIFDCNT_SWAP_WB, JIFDCNT);
jpu              1474 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JINTE_TRANSF_COMPL | JINTE_ERR, JINTE);
jpu              1477 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, src_addr, JIFDSA1);
jpu              1478 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, dst_1_addr, JIFDDYA1);
jpu              1479 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, dst_2_addr, JIFDDCA1);
jpu              1481 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, bpl, JIFDDMW);
jpu              1485 drivers/media/platform/rcar_jpu.c 	jpu_write(jpu, JCCMD_JSRT, JCCMD);
jpu              1487 drivers/media/platform/rcar_jpu.c 	spin_unlock_irqrestore(&ctx->jpu->lock, flags);
jpu              1501 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu = dev_id;
jpu              1506 drivers/media/platform/rcar_jpu.c 	int_status = jpu_read(jpu, JINTS);
jpu              1514 drivers/media/platform/rcar_jpu.c 	jpu_write(jpu, ~(int_status & JINTS_MASK), JINTS);
jpu              1516 drivers/media/platform/rcar_jpu.c 		jpu_write(jpu, JCCMD_JEND, JCCMD);
jpu              1518 drivers/media/platform/rcar_jpu.c 	spin_lock(&jpu->lock);
jpu              1524 drivers/media/platform/rcar_jpu.c 	curr_ctx = v4l2_m2m_get_curr_priv(jpu->m2m_dev);
jpu              1527 drivers/media/platform/rcar_jpu.c 		dev_err(jpu->dev, "no active context for m2m\n");
jpu              1536 drivers/media/platform/rcar_jpu.c 			unsigned long payload_size = jpu_read(jpu, JCDTCU) << 16
jpu              1537 drivers/media/platform/rcar_jpu.c 						   | jpu_read(jpu, JCDTCM) << 8
jpu              1538 drivers/media/platform/rcar_jpu.c 						   | jpu_read(jpu, JCDTCD);
jpu              1555 drivers/media/platform/rcar_jpu.c 		unsigned char error = jpu_read(jpu, JCDERR) & JCDERR_MASK;
jpu              1557 drivers/media/platform/rcar_jpu.c 		dev_dbg(jpu->dev, "processing error: %#X: %s\n", error,
jpu              1564 drivers/media/platform/rcar_jpu.c 	jpu->curr = NULL;
jpu              1567 drivers/media/platform/rcar_jpu.c 	jpu_write(jpu, JCCMD_SRST, JCCMD);
jpu              1568 drivers/media/platform/rcar_jpu.c 	spin_unlock(&jpu->lock);
jpu              1570 drivers/media/platform/rcar_jpu.c 	v4l2_m2m_job_finish(jpu->m2m_dev, curr_ctx->fh.m2m_ctx);
jpu              1575 drivers/media/platform/rcar_jpu.c 	spin_unlock(&jpu->lock);
jpu              1596 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu;
jpu              1601 drivers/media/platform/rcar_jpu.c 	jpu = devm_kzalloc(&pdev->dev, sizeof(*jpu), GFP_KERNEL);
jpu              1602 drivers/media/platform/rcar_jpu.c 	if (!jpu)
jpu              1605 drivers/media/platform/rcar_jpu.c 	mutex_init(&jpu->mutex);
jpu              1606 drivers/media/platform/rcar_jpu.c 	spin_lock_init(&jpu->lock);
jpu              1607 drivers/media/platform/rcar_jpu.c 	jpu->dev = &pdev->dev;
jpu              1611 drivers/media/platform/rcar_jpu.c 	jpu->regs = devm_ioremap_resource(&pdev->dev, res);
jpu              1612 drivers/media/platform/rcar_jpu.c 	if (IS_ERR(jpu->regs))
jpu              1613 drivers/media/platform/rcar_jpu.c 		return PTR_ERR(jpu->regs);
jpu              1616 drivers/media/platform/rcar_jpu.c 	jpu->irq = ret = platform_get_irq(pdev, 0);
jpu              1622 drivers/media/platform/rcar_jpu.c 	ret = devm_request_irq(&pdev->dev, jpu->irq, jpu_irq_handler, 0,
jpu              1623 drivers/media/platform/rcar_jpu.c 			       dev_name(&pdev->dev), jpu);
jpu              1625 drivers/media/platform/rcar_jpu.c 		dev_err(&pdev->dev, "cannot claim IRQ %d\n", jpu->irq);
jpu              1630 drivers/media/platform/rcar_jpu.c 	jpu->clk = devm_clk_get(&pdev->dev, NULL);
jpu              1631 drivers/media/platform/rcar_jpu.c 	if (IS_ERR(jpu->clk)) {
jpu              1633 drivers/media/platform/rcar_jpu.c 		return PTR_ERR(jpu->clk);
jpu              1637 drivers/media/platform/rcar_jpu.c 	ret = v4l2_device_register(&pdev->dev, &jpu->v4l2_dev);
jpu              1644 drivers/media/platform/rcar_jpu.c 	jpu->m2m_dev = v4l2_m2m_init(&jpu_m2m_ops);
jpu              1645 drivers/media/platform/rcar_jpu.c 	if (IS_ERR(jpu->m2m_dev)) {
jpu              1646 drivers/media/platform/rcar_jpu.c 		v4l2_err(&jpu->v4l2_dev, "Failed to init mem2mem device\n");
jpu              1647 drivers/media/platform/rcar_jpu.c 		ret = PTR_ERR(jpu->m2m_dev);
jpu              1655 drivers/media/platform/rcar_jpu.c 	strscpy(jpu->vfd_encoder.name, DRV_NAME, sizeof(jpu->vfd_encoder.name));
jpu              1656 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.fops		= &jpu_fops;
jpu              1657 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.ioctl_ops	= &jpu_ioctl_ops;
jpu              1658 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.minor		= -1;
jpu              1659 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.release	= video_device_release_empty;
jpu              1660 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.lock		= &jpu->mutex;
jpu              1661 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.v4l2_dev	= &jpu->v4l2_dev;
jpu              1662 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.vfl_dir	= VFL_DIR_M2M;
jpu              1663 drivers/media/platform/rcar_jpu.c 	jpu->vfd_encoder.device_caps	= V4L2_CAP_STREAMING |
jpu              1666 drivers/media/platform/rcar_jpu.c 	ret = video_register_device(&jpu->vfd_encoder, VFL_TYPE_GRABBER, -1);
jpu              1668 drivers/media/platform/rcar_jpu.c 		v4l2_err(&jpu->v4l2_dev, "Failed to register video device\n");
jpu              1672 drivers/media/platform/rcar_jpu.c 	video_set_drvdata(&jpu->vfd_encoder, jpu);
jpu              1674 drivers/media/platform/rcar_jpu.c 	strscpy(jpu->vfd_decoder.name, DRV_NAME, sizeof(jpu->vfd_decoder.name));
jpu              1675 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.fops		= &jpu_fops;
jpu              1676 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.ioctl_ops	= &jpu_ioctl_ops;
jpu              1677 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.minor		= -1;
jpu              1678 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.release	= video_device_release_empty;
jpu              1679 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.lock		= &jpu->mutex;
jpu              1680 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.v4l2_dev	= &jpu->v4l2_dev;
jpu              1681 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.vfl_dir	= VFL_DIR_M2M;
jpu              1682 drivers/media/platform/rcar_jpu.c 	jpu->vfd_decoder.device_caps	= V4L2_CAP_STREAMING |
jpu              1685 drivers/media/platform/rcar_jpu.c 	ret = video_register_device(&jpu->vfd_decoder, VFL_TYPE_GRABBER, -1);
jpu              1687 drivers/media/platform/rcar_jpu.c 		v4l2_err(&jpu->v4l2_dev, "Failed to register video device\n");
jpu              1691 drivers/media/platform/rcar_jpu.c 	video_set_drvdata(&jpu->vfd_decoder, jpu);
jpu              1692 drivers/media/platform/rcar_jpu.c 	platform_set_drvdata(pdev, jpu);
jpu              1694 drivers/media/platform/rcar_jpu.c 	v4l2_info(&jpu->v4l2_dev, "encoder device registered as /dev/video%d\n",
jpu              1695 drivers/media/platform/rcar_jpu.c 		  jpu->vfd_encoder.num);
jpu              1696 drivers/media/platform/rcar_jpu.c 	v4l2_info(&jpu->v4l2_dev, "decoder device registered as /dev/video%d\n",
jpu              1697 drivers/media/platform/rcar_jpu.c 		  jpu->vfd_decoder.num);
jpu              1702 drivers/media/platform/rcar_jpu.c 	video_unregister_device(&jpu->vfd_encoder);
jpu              1705 drivers/media/platform/rcar_jpu.c 	v4l2_m2m_release(jpu->m2m_dev);
jpu              1708 drivers/media/platform/rcar_jpu.c 	v4l2_device_unregister(&jpu->v4l2_dev);
jpu              1715 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu = platform_get_drvdata(pdev);
jpu              1717 drivers/media/platform/rcar_jpu.c 	video_unregister_device(&jpu->vfd_decoder);
jpu              1718 drivers/media/platform/rcar_jpu.c 	video_unregister_device(&jpu->vfd_encoder);
jpu              1719 drivers/media/platform/rcar_jpu.c 	v4l2_m2m_release(jpu->m2m_dev);
jpu              1720 drivers/media/platform/rcar_jpu.c 	v4l2_device_unregister(&jpu->v4l2_dev);
jpu              1728 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu = dev_get_drvdata(dev);
jpu              1730 drivers/media/platform/rcar_jpu.c 	if (jpu->ref_count == 0)
jpu              1733 drivers/media/platform/rcar_jpu.c 	clk_disable_unprepare(jpu->clk);
jpu              1740 drivers/media/platform/rcar_jpu.c 	struct jpu *jpu = dev_get_drvdata(dev);
jpu              1742 drivers/media/platform/rcar_jpu.c 	if (jpu->ref_count == 0)
jpu              1745 drivers/media/platform/rcar_jpu.c 	clk_prepare_enable(jpu->clk);