Lines Matching refs:ssd

1538 	struct ccs_subdev *ssd = to_ccs_subdev(subdev);  in ccs_power_on()  local
1544 container_of(ssd, struct ccs_sensor, ssds[0]); in ccs_power_on()
1685 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in ccs_power_off() local
1687 container_of(ssd, struct ccs_sensor, ssds[0]); in ccs_power_off()
2050 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in __ccs_get_format() local
2058 if (fmt->pad == ssd->source_pad) in __ccs_get_format()
2059 r = &ssd->crop[ssd->source_pad]; in __ccs_get_format()
2061 r = &ssd->sink_fmt; in __ccs_get_format()
2091 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in ccs_get_crop_compose() local
2097 crops[i] = &ssd->crop[i]; in ccs_get_crop_compose()
2099 *comps = &ssd->compose; in ccs_get_crop_compose()
2119 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in ccs_propagate() local
2129 if (ssd == sensor->scaler) { in ccs_propagate()
2133 } else if (ssd == sensor->binner) { in ccs_propagate()
2219 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in ccs_set_format() local
2224 if (fmt->pad == ssd->source_pad) { in ccs_set_format()
2251 crops[ssd->sink_pad]->left = 0; in ccs_set_format()
2252 crops[ssd->sink_pad]->top = 0; in ccs_set_format()
2253 crops[ssd->sink_pad]->width = fmt->format.width; in ccs_set_format()
2254 crops[ssd->sink_pad]->height = fmt->format.height; in ccs_set_format()
2256 ssd->sink_fmt = *crops[ssd->sink_pad]; in ccs_set_format()
2476 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in ccs_set_compose() local
2484 if (ssd == sensor->binner) in ccs_set_compose()
2502 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in __ccs_sel_supported() local
2508 if (ssd == sensor->pixel_array && sel->pad == CCS_PA_PAD_SRC) in __ccs_sel_supported()
2510 if (ssd == sensor->src && sel->pad == CCS_PAD_SRC) in __ccs_sel_supported()
2512 if (ssd == sensor->scaler && sel->pad == CCS_PAD_SINK && in __ccs_sel_supported()
2518 if (ssd == sensor->pixel_array && sel->pad == CCS_PA_PAD_SRC) in __ccs_sel_supported()
2523 if (sel->pad == ssd->source_pad) in __ccs_sel_supported()
2525 if (ssd == sensor->binner) in __ccs_sel_supported()
2527 if (ssd == sensor->scaler && CCS_LIM(sensor, SCALING_CAPABILITY) in __ccs_sel_supported()
2541 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in ccs_set_crop() local
2548 if (sel->pad == ssd->sink_pad) in ccs_set_crop()
2549 src_size = &ssd->sink_fmt; in ccs_set_crop()
2551 src_size = &ssd->compose; in ccs_set_crop()
2553 if (sel->pad == ssd->sink_pad) { in ccs_set_crop()
2567 subdev, sd_state, ssd->sink_pad); in ccs_set_crop()
2571 if (ssd == sensor->src && sel->pad == CCS_PAD_SRC) { in ccs_set_crop()
2584 if (ssd != sensor->pixel_array && sel->pad == CCS_PAD_SINK) in ccs_set_crop()
2590 static void ccs_get_native_size(struct ccs_subdev *ssd, struct v4l2_rect *r) in ccs_get_native_size() argument
2594 r->width = CCS_LIM(ssd->sensor, X_ADDR_MAX) + 1; in ccs_get_native_size()
2595 r->height = CCS_LIM(ssd->sensor, Y_ADDR_MAX) + 1; in ccs_get_native_size()
2603 struct ccs_subdev *ssd = to_ccs_subdev(subdev); in __ccs_get_selection() local
2615 sink_fmt = ssd->sink_fmt; in __ccs_get_selection()
2619 ssd->sink_pad); in __ccs_get_selection()
2630 if (ssd == sensor->pixel_array) in __ccs_get_selection()
2631 ccs_get_native_size(ssd, &sel->r); in __ccs_get_selection()
2632 else if (sel->pad == ssd->sink_pad) in __ccs_get_selection()
2943 struct ccs_subdev *ssd, in ccs_register_subdev() argument
2953 rval = media_entity_pads_init(&ssd->sd.entity, ssd->npads, ssd->pads); in ccs_register_subdev()
2959 rval = v4l2_device_register_subdev(sensor->src->sd.v4l2_dev, &ssd->sd); in ccs_register_subdev()
2965 rval = media_create_pad_link(&ssd->sd.entity, source_pad, in ccs_register_subdev()
2970 v4l2_device_unregister_subdev(&ssd->sd); in ccs_register_subdev()
3027 struct ccs_subdev *ssd, const char *name, in ccs_create_subdev() argument
3032 if (!ssd) in ccs_create_subdev()
3035 if (ssd != sensor->src) in ccs_create_subdev()
3036 v4l2_subdev_init(&ssd->sd, &ccs_ops); in ccs_create_subdev()
3038 ssd->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; in ccs_create_subdev()
3039 ssd->sd.entity.function = function; in ccs_create_subdev()
3040 ssd->sensor = sensor; in ccs_create_subdev()
3042 ssd->npads = num_pads; in ccs_create_subdev()
3043 ssd->source_pad = num_pads - 1; in ccs_create_subdev()
3045 v4l2_i2c_subdev_set_name(&ssd->sd, client, sensor->minfo.name, name); in ccs_create_subdev()
3047 ccs_get_native_size(ssd, &ssd->sink_fmt); in ccs_create_subdev()
3049 ssd->compose.width = ssd->sink_fmt.width; in ccs_create_subdev()
3050 ssd->compose.height = ssd->sink_fmt.height; in ccs_create_subdev()
3051 ssd->crop[ssd->source_pad] = ssd->compose; in ccs_create_subdev()
3052 ssd->pads[ssd->source_pad].flags = MEDIA_PAD_FL_SOURCE; in ccs_create_subdev()
3053 if (ssd != sensor->pixel_array) { in ccs_create_subdev()
3054 ssd->crop[ssd->sink_pad] = ssd->compose; in ccs_create_subdev()
3055 ssd->pads[ssd->sink_pad].flags = MEDIA_PAD_FL_SINK; in ccs_create_subdev()
3058 ssd->sd.entity.ops = &ccs_entity_ops; in ccs_create_subdev()
3060 if (ssd == sensor->src) in ccs_create_subdev()
3063 ssd->sd.internal_ops = &ccs_internal_ops; in ccs_create_subdev()
3064 ssd->sd.owner = THIS_MODULE; in ccs_create_subdev()
3065 ssd->sd.dev = &client->dev; in ccs_create_subdev()
3066 v4l2_set_subdevdata(&ssd->sd, client); in ccs_create_subdev()
3071 struct ccs_subdev *ssd = to_ccs_subdev(sd); in ccs_open() local
3072 struct ccs_sensor *sensor = ssd->sensor; in ccs_open()
3077 for (i = 0; i < ssd->npads; i++) { in ccs_open()
3084 ccs_get_native_size(ssd, try_crop); in ccs_open()
3091 if (ssd != sensor->pixel_array) in ccs_open()