H A D | vsp1_uds.c | 32 static inline u32 vsp1_uds_read(struct vsp1_uds *uds, u32 reg) vsp1_uds_read() argument 34 return vsp1_read(uds->entity.vsp1, vsp1_uds_read() 35 reg + uds->entity.index * VI6_UDS_OFFSET); vsp1_uds_read() 38 static inline void vsp1_uds_write(struct vsp1_uds *uds, u32 reg, u32 data) vsp1_uds_write() argument 40 vsp1_write(uds->entity.vsp1, vsp1_uds_write() 41 reg + uds->entity.index * VI6_UDS_OFFSET, data); vsp1_uds_write() 48 void vsp1_uds_set_alpha(struct vsp1_uds *uds, unsigned int alpha) vsp1_uds_set_alpha() argument 50 vsp1_uds_write(uds, VI6_UDS_ALPVAL, alpha << VI6_UDS_ALPVAL_VAL0_SHIFT); vsp1_uds_set_alpha() 119 struct vsp1_uds *uds = to_uds(subdev); uds_s_stream() local 129 input = &uds->entity.formats[UDS_PAD_SINK]; uds_s_stream() 130 output = &uds->entity.formats[UDS_PAD_SOURCE]; uds_s_stream() 135 dev_dbg(uds->entity.vsp1->dev, "hscale %u vscale %u\n", hscale, vscale); uds_s_stream() 141 if (uds->scale_alpha && (hscale >= 8192 || vscale >= 8192)) uds_s_stream() 146 vsp1_uds_write(uds, VI6_UDS_CTRL, uds_s_stream() 147 (uds->scale_alpha ? VI6_UDS_CTRL_AON : 0) | uds_s_stream() 150 vsp1_uds_write(uds, VI6_UDS_PASS_BWIDTH, uds_s_stream() 157 vsp1_uds_write(uds, VI6_UDS_SCALE, uds_s_stream() 160 vsp1_uds_write(uds, VI6_UDS_CLIP_SIZE, uds_s_stream() 179 struct vsp1_uds *uds = to_uds(subdev); uds_enum_mbus_code() local 195 format = vsp1_entity_get_pad_format(&uds->entity, cfg, uds_enum_mbus_code() 207 struct vsp1_uds *uds = to_uds(subdev); uds_enum_frame_size() local 210 format = vsp1_entity_get_pad_format(&uds->entity, cfg, uds_enum_frame_size() 234 struct vsp1_uds *uds = to_uds(subdev); uds_get_format() local 236 fmt->format = *vsp1_entity_get_pad_format(&uds->entity, cfg, fmt->pad, uds_get_format() 242 static void uds_try_format(struct vsp1_uds *uds, struct v4l2_subdev_pad_config *cfg, uds_try_format() argument 263 format = vsp1_entity_get_pad_format(&uds->entity, cfg, uds_try_format() 281 struct vsp1_uds *uds = to_uds(subdev); uds_set_format() local 284 uds_try_format(uds, cfg, fmt->pad, &fmt->format, fmt->which); uds_set_format() 286 format = vsp1_entity_get_pad_format(&uds->entity, cfg, fmt->pad, uds_set_format() 292 format = vsp1_entity_get_pad_format(&uds->entity, cfg, uds_set_format() 296 uds_try_format(uds, cfg, UDS_PAD_SOURCE, format, fmt->which); uds_set_format() 329 struct vsp1_uds *uds; vsp1_uds_create() local 332 uds = devm_kzalloc(vsp1->dev, sizeof(*uds), GFP_KERNEL); vsp1_uds_create() 333 if (uds == NULL) vsp1_uds_create() 336 uds->entity.type = VSP1_ENTITY_UDS; vsp1_uds_create() 337 uds->entity.index = index; vsp1_uds_create() 339 ret = vsp1_entity_init(vsp1, &uds->entity, 2); vsp1_uds_create() 344 subdev = &uds->entity.subdev; vsp1_uds_create() 349 snprintf(subdev->name, sizeof(subdev->name), "%s uds.%u", vsp1_uds_create() 351 v4l2_set_subdevdata(subdev, uds); vsp1_uds_create() 356 return uds; vsp1_uds_create()
|