Lines Matching refs:pad

159 static inline int check_pad(struct v4l2_subdev *sd, u32 pad)  in check_pad()  argument
163 if (pad >= sd->entity.num_pads) in check_pad()
169 if (pad > 0) in check_pad()
175 u32 which, u32 pad, u32 stream) in check_state() argument
179 if (!v4l2_subdev_state_get_stream_format(state, pad, stream)) in check_state()
203 return check_which(format->which) ? : check_pad(sd, format->pad) ? : in check_format()
204 check_state(sd, state, format->which, format->pad, format->stream); in check_format()
212 sd->ops->pad->get_fmt(sd, state, format); in call_get_fmt()
220 sd->ops->pad->set_fmt(sd, state, format); in call_set_fmt()
230 return check_which(code->which) ? : check_pad(sd, code->pad) ? : in call_enum_mbus_code()
231 check_state(sd, state, code->which, code->pad, code->stream) ? : in call_enum_mbus_code()
232 sd->ops->pad->enum_mbus_code(sd, state, code); in call_enum_mbus_code()
242 return check_which(fse->which) ? : check_pad(sd, fse->pad) ? : in call_enum_frame_size()
243 check_state(sd, state, fse->which, fse->pad, fse->stream) ? : in call_enum_frame_size()
244 sd->ops->pad->enum_frame_size(sd, state, fse); in call_enum_frame_size()
253 return check_pad(sd, fi->pad); in check_frame_interval()
277 return check_which(fie->which) ? : check_pad(sd, fie->pad) ? : in call_enum_frame_interval()
278 check_state(sd, state, fie->which, fie->pad, fie->stream) ? : in call_enum_frame_interval()
279 sd->ops->pad->enum_frame_interval(sd, state, fie); in call_enum_frame_interval()
289 return check_which(sel->which) ? : check_pad(sd, sel->pad) ? : in check_selection()
290 check_state(sd, state, sel->which, sel->pad, sel->stream); in check_selection()
298 sd->ops->pad->get_selection(sd, state, sel); in call_get_selection()
306 sd->ops->pad->set_selection(sd, state, sel); in call_set_selection()
318 return check_pad(sd, edid->pad); in check_edid()
323 return check_edid(sd, edid) ? : sd->ops->pad->get_edid(sd, edid); in call_get_edid()
328 return check_edid(sd, edid) ? : sd->ops->pad->set_edid(sd, edid); in call_set_edid()
337 return check_pad(sd, cap->pad) ? : in call_dv_timings_cap()
338 sd->ops->pad->dv_timings_cap(sd, cap); in call_dv_timings_cap()
347 return check_pad(sd, dvt->pad) ? : in call_enum_dv_timings()
348 sd->ops->pad->enum_dv_timings(sd, dvt); in call_enum_dv_timings()
351 static int call_get_mbus_config(struct v4l2_subdev *sd, unsigned int pad, in call_get_mbus_config() argument
354 return check_pad(sd, pad) ? : in call_get_mbus_config()
355 sd->ops->pad->get_mbus_config(sd, pad, config); in call_get_mbus_config()
461 .pad = &v4l2_subdev_call_pad_wrappers,
656 return v4l2_subdev_call(sd, pad, get_fmt, state, format); in subdev_do_ioctl()
670 return v4l2_subdev_call(sd, pad, set_fmt, state, format); in subdev_do_ioctl()
683 sel.pad = crop->pad; in subdev_do_ioctl()
688 sd, pad, get_selection, state, &sel); in subdev_do_ioctl()
708 sel.pad = crop->pad; in subdev_do_ioctl()
714 sd, pad, set_selection, state, &sel); in subdev_do_ioctl()
728 return v4l2_subdev_call(sd, pad, enum_mbus_code, state, in subdev_do_ioctl()
739 return v4l2_subdev_call(sd, pad, enum_frame_size, state, in subdev_do_ioctl()
773 return v4l2_subdev_call(sd, pad, enum_frame_interval, state, in subdev_do_ioctl()
785 sd, pad, get_selection, state, sel); in subdev_do_ioctl()
799 sd, pad, set_selection, state, sel); in subdev_do_ioctl()
805 return v4l2_subdev_call(sd, pad, get_edid, edid); in subdev_do_ioctl()
811 return v4l2_subdev_call(sd, pad, set_edid, edid); in subdev_do_ioctl()
817 return v4l2_subdev_call(sd, pad, dv_timings_cap, cap); in subdev_do_ioctl()
823 return v4l2_subdev_call(sd, pad, enum_dv_timings, dvt); in subdev_do_ioctl()
934 return v4l2_subdev_call(sd, pad, set_routing, state, in subdev_do_ioctl()
1145 v4l2_subdev_link_validate_get_format(struct media_pad *pad, u32 stream, in v4l2_subdev_link_validate_get_format() argument
1153 if (!is_media_entity_v4l2_subdev(pad->entity)) { in v4l2_subdev_link_validate_get_format()
1154 WARN(pad->entity->function != MEDIA_ENT_F_IO_V4L, in v4l2_subdev_link_validate_get_format()
1156 pad->entity->function, pad->entity->name); in v4l2_subdev_link_validate_get_format()
1161 sd = media_entity_to_v4l2_subdev(pad->entity); in v4l2_subdev_link_validate_get_format()
1164 fmt->pad = pad->index; in v4l2_subdev_link_validate_get_format()
1172 ret = v4l2_subdev_call(sd, pad, get_fmt, state, fmt); in v4l2_subdev_link_validate_get_format()
1182 static void __v4l2_link_validate_get_streams(struct media_pad *pad, in __v4l2_link_validate_get_streams() argument
1190 subdev = media_entity_to_v4l2_subdev(pad->entity); in __v4l2_link_validate_get_streams()
1206 if (pad->flags & MEDIA_PAD_FL_SOURCE) { in __v4l2_link_validate_get_streams()
1214 if (route_pad != pad->index) in __v4l2_link_validate_get_streams()
1226 static void v4l2_link_validate_get_streams(struct media_pad *pad, in v4l2_link_validate_get_streams() argument
1230 struct v4l2_subdev *subdev = media_entity_to_v4l2_subdev(pad->entity); in v4l2_link_validate_get_streams()
1239 __v4l2_link_validate_get_streams(pad, streams_mask, states_locked); in v4l2_link_validate_get_streams()
1310 ret = v4l2_subdev_call(sink_subdev, pad, link_validate, link, in v4l2_subdev_link_validate_locked()
1432 ret = v4l2_subdev_call(sd, pad, init_cfg, state); in __v4l2_subdev_state_alloc()
1532 new_configs.configs[idx].pad = route->sink_pad; in v4l2_subdev_init_stream_configs()
1537 new_configs.configs[idx].pad = route->source_pad; in v4l2_subdev_init_stream_configs()
1555 fmt = v4l2_subdev_state_get_stream_format(state, format->pad, in v4l2_subdev_get_fmt()
1557 else if (format->pad < sd->entity.num_pads && format->stream == 0) in v4l2_subdev_get_fmt()
1558 fmt = v4l2_subdev_get_pad_format(sd, state, format->pad); in v4l2_subdev_get_fmt()
1653 unsigned int pad, u32 stream) in v4l2_subdev_state_get_stream_format() argument
1663 if (stream_configs->configs[i].pad == pad && in v4l2_subdev_state_get_stream_format()
1674 unsigned int pad, u32 stream) in v4l2_subdev_state_get_stream_crop() argument
1684 if (stream_configs->configs[i].pad == pad && in v4l2_subdev_state_get_stream_crop()
1695 unsigned int pad, u32 stream) in v4l2_subdev_state_get_stream_compose() argument
1705 if (stream_configs->configs[i].pad == pad && in v4l2_subdev_state_get_stream_compose()
1715 u32 pad, u32 stream, u32 *other_pad, in v4l2_subdev_routing_find_opposite_end() argument
1723 if (route->source_pad == pad && in v4l2_subdev_routing_find_opposite_end()
1732 if (route->sink_pad == pad && route->sink_stream == stream) { in v4l2_subdev_routing_find_opposite_end()
1747 u32 pad, u32 stream) in v4l2_subdev_state_get_opposite_stream_format() argument
1753 pad, stream, in v4l2_subdev_state_get_opposite_stream_format()
1928 static int v4l2_subdev_enable_streams_fallback(struct v4l2_subdev *sd, u32 pad, in v4l2_subdev_enable_streams_fallback() argument
1941 if (!(sd->entity.pads[pad].flags & MEDIA_PAD_FL_SOURCE)) in v4l2_subdev_enable_streams_fallback()
1945 if (i != pad && sd->entity.pads[i].flags & MEDIA_PAD_FL_SOURCE) in v4l2_subdev_enable_streams_fallback()
1951 streams_mask, sd->entity.name, pad); in v4l2_subdev_enable_streams_fallback()
1967 int v4l2_subdev_enable_streams(struct v4l2_subdev *sd, u32 pad, in v4l2_subdev_enable_streams() argument
1977 if (pad >= sd->entity.num_pads) in v4l2_subdev_enable_streams()
1984 if (!sd->ops->pad || !sd->ops->pad->enable_streams) in v4l2_subdev_enable_streams()
1985 return v4l2_subdev_enable_streams_fallback(sd, pad, in v4l2_subdev_enable_streams()
1998 if (cfg->pad != pad || !(streams_mask & BIT_ULL(cfg->stream))) in v4l2_subdev_enable_streams()
2005 cfg->stream, sd->entity.name, pad); in v4l2_subdev_enable_streams()
2013 streams_mask & ~found_streams, sd->entity.name, pad); in v4l2_subdev_enable_streams()
2018 dev_dbg(dev, "enable streams %u:%#llx\n", pad, streams_mask); in v4l2_subdev_enable_streams()
2021 ret = v4l2_subdev_call(sd, pad, enable_streams, state, pad, in v4l2_subdev_enable_streams()
2024 dev_dbg(dev, "enable streams %u:%#llx failed: %d\n", pad, in v4l2_subdev_enable_streams()
2034 if (cfg->pad == pad && (streams_mask & BIT_ULL(cfg->stream))) in v4l2_subdev_enable_streams()
2045 static int v4l2_subdev_disable_streams_fallback(struct v4l2_subdev *sd, u32 pad, in v4l2_subdev_disable_streams_fallback() argument
2058 if (!(sd->entity.pads[pad].flags & MEDIA_PAD_FL_SOURCE)) in v4l2_subdev_disable_streams_fallback()
2062 if (i != pad && sd->entity.pads[i].flags & MEDIA_PAD_FL_SOURCE) in v4l2_subdev_disable_streams_fallback()
2068 streams_mask, sd->entity.name, pad); in v4l2_subdev_disable_streams_fallback()
2084 int v4l2_subdev_disable_streams(struct v4l2_subdev *sd, u32 pad, in v4l2_subdev_disable_streams() argument
2094 if (pad >= sd->entity.num_pads) in v4l2_subdev_disable_streams()
2101 if (!sd->ops->pad || !sd->ops->pad->disable_streams) in v4l2_subdev_disable_streams()
2102 return v4l2_subdev_disable_streams_fallback(sd, pad, in v4l2_subdev_disable_streams()
2115 if (cfg->pad != pad || !(streams_mask & BIT_ULL(cfg->stream))) in v4l2_subdev_disable_streams()
2122 cfg->stream, sd->entity.name, pad); in v4l2_subdev_disable_streams()
2130 streams_mask & ~found_streams, sd->entity.name, pad); in v4l2_subdev_disable_streams()
2135 dev_dbg(dev, "disable streams %u:%#llx\n", pad, streams_mask); in v4l2_subdev_disable_streams()
2138 ret = v4l2_subdev_call(sd, pad, disable_streams, state, pad, in v4l2_subdev_disable_streams()
2141 dev_dbg(dev, "disable streams %u:%#llx failed: %d\n", pad, in v4l2_subdev_disable_streams()
2151 if (cfg->pad == pad && (streams_mask & BIT_ULL(cfg->stream))) in v4l2_subdev_disable_streams()
2166 struct media_pad *pad; in v4l2_subdev_s_stream_helper() local
2175 media_entity_for_each_pad(&sd->entity, pad) { in v4l2_subdev_s_stream_helper()
2176 if (pad->flags & MEDIA_PAD_FL_SOURCE) { in v4l2_subdev_s_stream_helper()
2177 pad_index = pad->index; in v4l2_subdev_s_stream_helper()