Lines Matching refs:icd
536 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); in rcar_vin_videobuf_setup() local
537 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_videobuf_setup()
545 if (fmt->fmt.pix.sizeimage < icd->sizeimage) in rcar_vin_videobuf_setup()
548 xlate = soc_camera_xlate_by_fourcc(icd, in rcar_vin_videobuf_setup()
567 sizes[0] = icd->sizeimage; in rcar_vin_videobuf_setup()
587 dev_dbg(icd->parent, "count=%d, size=%u\n", *count, sizes[0]); in rcar_vin_videobuf_setup()
594 struct soc_camera_device *icd = priv->ici.icd; in rcar_vin_setup() local
595 struct rcar_vin_cam *cam = icd->host_priv; in rcar_vin_setup()
627 switch (icd->current_fmt->code) { in rcar_vin_setup()
653 switch (icd->current_fmt->host_fmt->fourcc) { in rcar_vin_setup()
681 dev_warn(icd->parent, "Invalid fourcc format (0x%x)\n", in rcar_vin_setup()
682 icd->current_fmt->host_fmt->fourcc); in rcar_vin_setup()
777 struct soc_camera_device *icd = soc_camera_from_vb2q(vb->vb2_queue); in rcar_vin_videobuf_queue() local
778 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_videobuf_queue()
782 size = icd->sizeimage; in rcar_vin_videobuf_queue()
785 dev_err(icd->parent, "Buffer #%d too small (%lu < %lu)\n", in rcar_vin_videobuf_queue()
792 dev_dbg(icd->parent, "%s (vb=0x%p) 0x%p %lu\n", __func__, in rcar_vin_videobuf_queue()
849 struct soc_camera_device *icd = soc_camera_from_vb2q(vq); in rcar_vin_stop_streaming() local
850 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_stop_streaming()
950 static int rcar_vin_add_device(struct soc_camera_device *icd) in rcar_vin_add_device() argument
952 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_add_device()
961 dev_dbg(icd->parent, "R-Car VIN driver attached to camera %d\n", in rcar_vin_add_device()
962 icd->devnum); in rcar_vin_add_device()
967 static void rcar_vin_remove_device(struct soc_camera_device *icd) in rcar_vin_remove_device() argument
969 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_remove_device()
995 dev_dbg(icd->parent, "R-Car VIN driver detached from camera %d\n", in rcar_vin_remove_device()
996 icd->devnum); in rcar_vin_remove_device()
1054 static int rcar_vin_set_rect(struct soc_camera_device *icd) in rcar_vin_set_rect() argument
1056 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_set_rect()
1057 struct rcar_vin_cam *cam = icd->host_priv; in rcar_vin_set_rect()
1064 dev_dbg(icd->parent, "Crop %ux%u@%u:%u\n", in rcar_vin_set_rect()
1065 icd->user_width, icd->user_height, cam->vin_left, cam->vin_top); in rcar_vin_set_rect()
1070 if (icd->current_fmt->host_fmt->fourcc == V4L2_PIX_FMT_RGB32 && in rcar_vin_set_rect()
1074 dev_dbg(icd->parent, "Cam %ux%u@%u:%u\n", in rcar_vin_set_rect()
1076 dev_dbg(icd->parent, "Cam subrect %ux%u@%u:%u\n", in rcar_vin_set_rect()
1103 dev_dbg(icd->parent, "YS Value: %x\n", value); in rcar_vin_set_rect()
1114 dev_dbg(icd->parent, "XS Value: %x\n", value); in rcar_vin_set_rect()
1180 static int rcar_vin_set_bus_param(struct soc_camera_device *icd) in rcar_vin_set_bus_param() argument
1182 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_set_bus_param()
1184 struct v4l2_subdev *sd = soc_camera_to_subdev(icd); in rcar_vin_set_bus_param()
1197 dev_warn(icd->parent, in rcar_vin_set_bus_param()
1237 ret = rcar_vin_set_rect(icd); in rcar_vin_set_bus_param()
1246 static int rcar_vin_try_bus_param(struct soc_camera_device *icd, in rcar_vin_try_bus_param() argument
1249 struct v4l2_subdev *sd = soc_camera_to_subdev(icd); in rcar_vin_try_bus_param()
1267 dev_warn(icd->parent, in rcar_vin_try_bus_param()
1332 static int rcar_vin_get_formats(struct soc_camera_device *icd, unsigned int idx, in rcar_vin_get_formats() argument
1335 struct v4l2_subdev *sd = soc_camera_to_subdev(icd); in rcar_vin_get_formats()
1336 struct device *dev = icd->parent; in rcar_vin_get_formats()
1356 ret = rcar_vin_try_bus_param(icd, fmt->bits_per_sample); in rcar_vin_get_formats()
1360 if (!icd->host_priv) { in rcar_vin_get_formats()
1366 struct device *dev = icd->parent; in rcar_vin_get_formats()
1397 soc_camera_grp_id(icd), in rcar_vin_get_formats()
1427 icd->host_priv = cam; in rcar_vin_get_formats()
1429 cam = icd->host_priv; in rcar_vin_get_formats()
1476 static void rcar_vin_put_formats(struct soc_camera_device *icd) in rcar_vin_put_formats() argument
1478 kfree(icd->host_priv); in rcar_vin_put_formats()
1479 icd->host_priv = NULL; in rcar_vin_put_formats()
1482 static int rcar_vin_set_crop(struct soc_camera_device *icd, in rcar_vin_set_crop() argument
1487 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_set_crop()
1490 struct rcar_vin_cam *cam = icd->host_priv; in rcar_vin_set_crop()
1492 struct v4l2_subdev *sd = soc_camera_to_subdev(icd); in rcar_vin_set_crop()
1493 struct device *dev = icd->parent; in rcar_vin_set_crop()
1532 icd->user_width = cam->width; in rcar_vin_set_crop()
1533 icd->user_height = cam->height; in rcar_vin_set_crop()
1539 ret = rcar_vin_set_rect(icd); in rcar_vin_set_crop()
1546 icd->user_width, icd->user_height, in rcar_vin_set_crop()
1562 static int rcar_vin_get_crop(struct soc_camera_device *icd, in rcar_vin_get_crop() argument
1565 struct rcar_vin_cam *cam = icd->host_priv; in rcar_vin_get_crop()
1574 static int rcar_vin_set_fmt(struct soc_camera_device *icd, in rcar_vin_set_fmt() argument
1577 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_set_fmt()
1579 struct v4l2_subdev *sd = soc_camera_to_subdev(icd); in rcar_vin_set_fmt()
1580 struct rcar_vin_cam *cam = icd->host_priv; in rcar_vin_set_fmt()
1583 struct device *dev = icd->parent; in rcar_vin_set_fmt()
1621 xlate = soc_camera_xlate_by_fourcc(icd, pixfmt); in rcar_vin_set_fmt()
1627 soc_camera_calc_client_output(icd, &cam->rect, &cam->subrect, pix, &mf, in rcar_vin_set_fmt()
1650 ret = soc_camera_client_scale(icd, &cam->rect, &cam->subrect, in rcar_vin_set_fmt()
1697 icd->current_fmt = xlate; in rcar_vin_set_fmt()
1704 static int rcar_vin_try_fmt(struct soc_camera_device *icd, in rcar_vin_try_fmt() argument
1709 struct v4l2_subdev *sd = soc_camera_to_subdev(icd); in rcar_vin_try_fmt()
1719 xlate = soc_camera_xlate_by_fourcc(icd, pixfmt); in rcar_vin_try_fmt()
1721 xlate = icd->current_fmt; in rcar_vin_try_fmt()
1722 dev_dbg(icd->parent, "Format %x not found, keeping %x\n", in rcar_vin_try_fmt()
1726 pix->colorspace = icd->colorspace; in rcar_vin_try_fmt()
1747 ret = v4l2_device_call_until_err(sd->v4l2_dev, soc_camera_grp_id(icd), in rcar_vin_try_fmt()
1773 soc_camera_grp_id(icd), in rcar_vin_try_fmt()
1777 dev_err(icd->parent, in rcar_vin_try_fmt()
1794 struct soc_camera_device *icd = file->private_data; in rcar_vin_poll() local
1796 return vb2_poll(&icd->vb2_vidq, file, pt); in rcar_vin_poll()
1811 struct soc_camera_device *icd) in rcar_vin_init_videobuf2() argument
1813 struct soc_camera_host *ici = to_soc_camera_host(icd->parent); in rcar_vin_init_videobuf2()
1817 vq->drv_priv = icd; in rcar_vin_init_videobuf2()