Lines Matching refs:sd

114 static int fimc_is_subdev_enum_mbus_code(struct v4l2_subdev *sd,  in fimc_is_subdev_enum_mbus_code()  argument
127 static int fimc_isp_subdev_get_fmt(struct v4l2_subdev *sd, in fimc_isp_subdev_get_fmt() argument
131 struct fimc_isp *isp = v4l2_get_subdevdata(sd); in fimc_isp_subdev_get_fmt()
135 *mf = *v4l2_subdev_get_try_format(sd, cfg, fmt->pad); in fimc_isp_subdev_get_fmt()
158 isp_dbg(1, sd, "%s: pad%d: fmt: 0x%x, %dx%d\n", __func__, in fimc_isp_subdev_get_fmt()
199 static int fimc_isp_subdev_set_fmt(struct v4l2_subdev *sd, in fimc_isp_subdev_set_fmt() argument
203 struct fimc_isp *isp = v4l2_get_subdevdata(sd); in fimc_isp_subdev_set_fmt()
208 isp_dbg(1, sd, "%s: pad%d: code: 0x%x, %dx%d\n", in fimc_isp_subdev_set_fmt()
215 mf = v4l2_subdev_get_try_format(sd, cfg, fmt->pad); in fimc_isp_subdev_set_fmt()
227 mf = v4l2_subdev_get_try_format(sd, cfg, pad); in fimc_isp_subdev_set_fmt()
232 if (sd->entity.stream_count == 0) { in fimc_isp_subdev_set_fmt()
255 static int fimc_isp_subdev_s_stream(struct v4l2_subdev *sd, int on) in fimc_isp_subdev_s_stream() argument
257 struct fimc_isp *isp = v4l2_get_subdevdata(sd); in fimc_isp_subdev_s_stream()
261 isp_dbg(1, sd, "%s: on: %d\n", __func__, on); in fimc_isp_subdev_s_stream()
275 isp_dbg(1, sd, "changing mode to %d\n", is->config_index); in fimc_isp_subdev_s_stream()
286 v4l2_err(sd, "stream on timeout\n"); in fimc_isp_subdev_s_stream()
295 v4l2_err(sd, "stream off timeout\n"); in fimc_isp_subdev_s_stream()
304 static int fimc_isp_subdev_s_power(struct v4l2_subdev *sd, int on) in fimc_isp_subdev_s_power() argument
306 struct fimc_isp *isp = v4l2_get_subdevdata(sd); in fimc_isp_subdev_s_power()
320 v4l2_err(sd, "firmware booting failed\n"); in fimc_isp_subdev_s_power()
335 v4l2_err(sd, "sensor close timeout\n"); in fimc_isp_subdev_s_power()
346 v4l2_err(sd, "sub-IP power off timeout\n"); in fimc_isp_subdev_s_power()
366 static int fimc_isp_subdev_open(struct v4l2_subdev *sd, in fimc_isp_subdev_open() argument
372 format = v4l2_subdev_get_try_format(sd, fh->pad, FIMC_ISP_SD_PAD_SINK); in fimc_isp_subdev_open()
381 format = v4l2_subdev_get_try_format(sd, fh->pad, FIMC_ISP_SD_PAD_SRC_FIFO); in fimc_isp_subdev_open()
386 format = v4l2_subdev_get_try_format(sd, fh->pad, FIMC_ISP_SD_PAD_SRC_DMA); in fimc_isp_subdev_open()
392 static int fimc_isp_subdev_registered(struct v4l2_subdev *sd) in fimc_isp_subdev_registered() argument
394 struct fimc_isp *isp = v4l2_get_subdevdata(sd); in fimc_isp_subdev_registered()
398 isp->video_capture.ve.pipe = v4l2_get_subdev_hostdata(sd); in fimc_isp_subdev_registered()
400 ret = fimc_isp_video_device_register(isp, sd->v4l2_dev, in fimc_isp_subdev_registered()
408 static void fimc_isp_subdev_unregistered(struct v4l2_subdev *sd) in fimc_isp_subdev_unregistered() argument
410 struct fimc_isp *isp = v4l2_get_subdevdata(sd); in fimc_isp_subdev_unregistered()
695 struct v4l2_subdev *sd = &isp->subdev; in fimc_isp_subdev_create() local
701 v4l2_subdev_init(sd, &fimc_is_subdev_ops); in fimc_isp_subdev_create()
703 sd->owner = THIS_MODULE; in fimc_isp_subdev_create()
704 sd->grp_id = GRP_ID_FIMC_IS; in fimc_isp_subdev_create()
705 sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; in fimc_isp_subdev_create()
706 snprintf(sd->name, sizeof(sd->name), "FIMC-IS-ISP"); in fimc_isp_subdev_create()
711 ret = media_entity_init(&sd->entity, FIMC_ISP_SD_PADS_NUM, in fimc_isp_subdev_create()
761 media_entity_cleanup(&sd->entity); in fimc_isp_subdev_create()
768 sd->ctrl_handler = handler; in fimc_isp_subdev_create()
769 sd->internal_ops = &fimc_is_subdev_internal_ops; in fimc_isp_subdev_create()
770 sd->entity.ops = &fimc_is_subdev_media_ops; in fimc_isp_subdev_create()
771 v4l2_set_subdevdata(sd, isp); in fimc_isp_subdev_create()
780 struct v4l2_subdev *sd = &isp->subdev; in fimc_isp_subdev_destroy() local
782 v4l2_device_unregister_subdev(sd); in fimc_isp_subdev_destroy()
783 media_entity_cleanup(&sd->entity); in fimc_isp_subdev_destroy()
785 v4l2_set_subdevdata(sd, NULL); in fimc_isp_subdev_destroy()