Lines Matching refs:bru

30 static inline u32 vsp1_bru_read(struct vsp1_bru *bru, u32 reg)  in vsp1_bru_read()  argument
32 return vsp1_read(bru->entity.vsp1, reg); in vsp1_bru_read()
35 static inline void vsp1_bru_write(struct vsp1_bru *bru, u32 reg, u32 data) in vsp1_bru_write() argument
37 vsp1_write(bru->entity.vsp1, reg, data); in vsp1_bru_write()
46 struct vsp1_bru *bru = in bru_s_ctrl() local
49 if (!vsp1_entity_is_streaming(&bru->entity)) in bru_s_ctrl()
54 vsp1_bru_write(bru, VI6_BRU_VIRRPF_COL, ctrl->val | in bru_s_ctrl()
73 struct vsp1_bru *bru = to_bru(subdev); in bru_s_stream() local
79 ret = vsp1_entity_set_streaming(&bru->entity, enable); in bru_s_stream()
86 format = &bru->entity.formats[BRU_PAD_SOURCE]; in bru_s_stream()
98 vsp1_bru_write(bru, VI6_BRU_INCTRL, in bru_s_stream()
103 vsp1_bru_write(bru, VI6_BRU_VIRRPF_SIZE, in bru_s_stream()
106 vsp1_bru_write(bru, VI6_BRU_VIRRPF_LOC, 0); in bru_s_stream()
112 vsp1_bru_write(bru, VI6_BRU_ROP, VI6_BRU_ROP_DSTSEL_BRUIN(1) | in bru_s_stream()
125 if (bru->inputs[i].rpf) { in bru_s_stream()
128 premultiplied = bru->inputs[i].rpf->video.format.flags in bru_s_stream()
149 vsp1_bru_write(bru, VI6_BRU_CTRL(i), ctrl); in bru_s_stream()
163 vsp1_bru_write(bru, VI6_BRU_BLD(i), in bru_s_stream()
193 struct vsp1_bru *bru = to_bru(subdev); in bru_enum_mbus_code() local
205 format = vsp1_entity_get_pad_format(&bru->entity, cfg, in bru_enum_mbus_code()
232 static struct v4l2_rect *bru_get_compose(struct vsp1_bru *bru, in bru_get_compose() argument
238 return v4l2_subdev_get_try_crop(&bru->entity.subdev, cfg, pad); in bru_get_compose()
240 return &bru->inputs[pad].compose; in bru_get_compose()
249 struct vsp1_bru *bru = to_bru(subdev); in bru_get_format() local
251 fmt->format = *vsp1_entity_get_pad_format(&bru->entity, cfg, fmt->pad, in bru_get_format()
257 static void bru_try_format(struct vsp1_bru *bru, struct v4l2_subdev_pad_config *cfg, in bru_try_format() argument
273 format = vsp1_entity_get_pad_format(&bru->entity, cfg, in bru_try_format()
288 struct vsp1_bru *bru = to_bru(subdev); in bru_set_format() local
291 bru_try_format(bru, cfg, fmt->pad, &fmt->format, fmt->which); in bru_set_format()
293 format = vsp1_entity_get_pad_format(&bru->entity, cfg, fmt->pad, in bru_set_format()
301 compose = bru_get_compose(bru, cfg, fmt->pad, fmt->which); in bru_set_format()
313 format = vsp1_entity_get_pad_format(&bru->entity, cfg, in bru_set_format()
326 struct vsp1_bru *bru = to_bru(subdev); in bru_get_selection() local
340 sel->r = *bru_get_compose(bru, cfg, sel->pad, sel->which); in bru_get_selection()
352 struct vsp1_bru *bru = to_bru(subdev); in bru_set_selection() local
365 format = vsp1_entity_get_pad_format(&bru->entity, cfg, BRU_PAD_SOURCE, in bru_set_selection()
373 format = vsp1_entity_get_pad_format(&bru->entity, cfg, sel->pad, in bru_set_selection()
378 compose = bru_get_compose(bru, cfg, sel->pad, sel->which); in bru_set_selection()
413 struct vsp1_bru *bru; in vsp1_bru_create() local
416 bru = devm_kzalloc(vsp1->dev, sizeof(*bru), GFP_KERNEL); in vsp1_bru_create()
417 if (bru == NULL) in vsp1_bru_create()
420 bru->entity.type = VSP1_ENTITY_BRU; in vsp1_bru_create()
422 ret = vsp1_entity_init(vsp1, &bru->entity, 5); in vsp1_bru_create()
427 subdev = &bru->entity.subdev; in vsp1_bru_create()
434 v4l2_set_subdevdata(subdev, bru); in vsp1_bru_create()
440 v4l2_ctrl_handler_init(&bru->ctrls, 1); in vsp1_bru_create()
441 v4l2_ctrl_new_std(&bru->ctrls, &bru_ctrl_ops, V4L2_CID_BG_COLOR, in vsp1_bru_create()
444 bru->entity.subdev.ctrl_handler = &bru->ctrls; in vsp1_bru_create()
446 if (bru->ctrls.error) { in vsp1_bru_create()
448 ret = bru->ctrls.error; in vsp1_bru_create()
449 vsp1_entity_destroy(&bru->entity); in vsp1_bru_create()
453 return bru; in vsp1_bru_create()