Lines Matching refs:isc

16 #include "microchip-isc-regs.h"
17 #include "microchip-isc.h"
32 struct isc_device *isc = container_of(sd, struct isc_device, scaler_sd);
43 format->format = isc->scaler_format[format->pad];
52 struct isc_device *isc = container_of(sd, struct isc_device, scaler_sd);
59 req_fmt->format = isc->scaler_format[ISC_SCALER_PAD_SOURCE];
69 fmt = isc_find_format_by_code(isc, req_fmt->format.code, &i);
72 fmt = &isc->formats_list[0];
86 16, isc->max_width, 0,
88 16, isc->max_height, 0, 0);
93 isc->scaler_format[ISC_SCALER_PAD_SINK] = req_fmt->format;
96 isc->scaler_format[ISC_SCALER_PAD_SOURCE] =
97 isc->scaler_format[ISC_SCALER_PAD_SINK];
99 (&isc->scaler_format[ISC_SCALER_PAD_SOURCE].width, 16,
100 isc->max_width, 0,
101 &isc->scaler_format[ISC_SCALER_PAD_SOURCE].height, 16,
102 isc->max_height, 0, 0);
111 struct isc_device *isc = container_of(sd, struct isc_device, scaler_sd);
118 if (code->index < isc->formats_list_size) {
119 code->code = isc->formats_list[code->index].mbus_code;
130 struct isc_device *isc = container_of(sd, struct isc_device, scaler_sd);
139 sel->r.height = isc->scaler_format[ISC_SCALER_PAD_SOURCE].height;
140 sel->r.width = isc->scaler_format[ISC_SCALER_PAD_SOURCE].width;
154 struct isc_device *isc = container_of(sd, struct isc_device, scaler_sd);
156 *v4l2_try_fmt = isc->scaler_format[ISC_SCALER_PAD_SOURCE];
187 int isc_scaler_init(struct isc_device *isc)
191 v4l2_subdev_init(&isc->scaler_sd, &xisc_scaler_subdev_ops);
192 isc->scaler_sd.internal_ops = &isc_scaler_internal_ops;
194 isc->scaler_sd.owner = THIS_MODULE;
195 isc->scaler_sd.dev = isc->dev;
196 snprintf(isc->scaler_sd.name, sizeof(isc->scaler_sd.name),
199 isc->scaler_sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
200 isc->scaler_sd.entity.function = MEDIA_ENT_F_PROC_VIDEO_SCALER;
201 isc->scaler_sd.entity.ops = &isc_scaler_entity_ops;
202 isc->scaler_pads[ISC_SCALER_PAD_SINK].flags = MEDIA_PAD_FL_SINK;
203 isc->scaler_pads[ISC_SCALER_PAD_SOURCE].flags = MEDIA_PAD_FL_SOURCE;
205 isc_scaler_prepare_fmt(&isc->scaler_format[ISC_SCALER_PAD_SOURCE]);
206 isc->scaler_format[ISC_SCALER_PAD_SOURCE].height = isc->max_height;
207 isc->scaler_format[ISC_SCALER_PAD_SOURCE].width = isc->max_width;
208 isc->scaler_format[ISC_SCALER_PAD_SOURCE].code =
209 isc->formats_list[0].mbus_code;
211 isc->scaler_format[ISC_SCALER_PAD_SINK] =
212 isc->scaler_format[ISC_SCALER_PAD_SOURCE];
214 ret = media_entity_pads_init(&isc->scaler_sd.entity,
216 isc->scaler_pads);
218 dev_err(isc->dev, "scaler sd media entity init failed\n");
222 ret = v4l2_device_register_subdev(&isc->v4l2_dev, &isc->scaler_sd);
224 dev_err(isc->dev, "scaler sd failed to register subdev\n");
232 int isc_scaler_link(struct isc_device *isc)
236 ret = media_create_pad_link(&isc->current_subdev->sd->entity,
237 isc->remote_pad, &isc->scaler_sd.entity,
243 dev_err(isc->dev, "Failed to create pad link: %s to %s\n",
244 isc->current_subdev->sd->entity.name,
245 isc->scaler_sd.entity.name);
249 dev_dbg(isc->dev, "link with %s pad: %d\n",
250 isc->current_subdev->sd->name, isc->remote_pad);
252 ret = media_create_pad_link(&isc->scaler_sd.entity,
254 &isc->video_dev.entity, ISC_PAD_SINK,
259 dev_err(isc->dev, "Failed to create pad link: %s to %s\n",
260 isc->scaler_sd.entity.name,
261 isc->video_dev.entity.name);
265 dev_dbg(isc->dev, "link with %s pad: %d\n", isc->scaler_sd.name,