linux/drivers/media/platform/vsp1
Laurent Pinchart 960de2cff4 [media] v4l: vsp1: Setup control handler automatically at stream on time
When setting a control directly on a subdev node the VSP1 driver doesn't
guarantee that the device is powered on. This leads to crashes when the
control handlers writes to hardware registers. One easy way to fix this
is to ensure that the device gets powered on when a subdev node is
opened. However, this consumes power unnecessarily, as there's no need
to power the device on when setting formats on the pipeline.
Furthermore, control handler setup at entity init time suffers from the
same problem as the device isn't powered on easier.

Fix this by extend the entity base object to setup the control handler
automatically when starting the stream. Entities must then skip writing
to registers in the set control handler when not streaming, which can be
tested with the new vsp1_entity_is_streaming() helper function.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-17 12:44:53 -03:00
..
Makefile [media] v4l: vsp1: Add BRU support 2014-04-23 10:20:15 -03:00
vsp1_bru.c [media] v4l: vsp1: Add BRU support 2014-04-23 10:20:15 -03:00
vsp1_bru.h [media] v4l: vsp1: Add BRU support 2014-04-23 10:20:15 -03:00
vsp1_drv.c [media] v4l: vsp1: Propagate vsp1_device_get errors to the callers 2014-07-17 12:44:52 -03:00
vsp1_entity.c [media] v4l: vsp1: Setup control handler automatically at stream on time 2014-07-17 12:44:53 -03:00
vsp1_entity.h [media] v4l: vsp1: Setup control handler automatically at stream on time 2014-07-17 12:44:53 -03:00
vsp1_hsit.c [media] v4l: vsp1: Support multi-input entities 2014-04-23 10:18:36 -03:00
vsp1_hsit.h [media] v4l: vsp1: Add HST and HSI support 2013-12-11 09:22:44 -02:00
vsp1_lif.c [media] v4l: vsp1: Support multi-input entities 2014-04-23 10:18:36 -03:00
vsp1_lif.h [media] v4l: vsp1: Update copyright notice 2014-03-12 10:41:51 -03:00
vsp1_lut.c [media] v4l: vsp1: Support multi-input entities 2014-04-23 10:18:36 -03:00
vsp1_lut.h [media] v4l: vsp1: Add LUT support 2013-12-11 09:25:20 -02:00
vsp1_regs.h [media] v4l: vsp1: Add BRU support 2014-04-23 10:20:15 -03:00
vsp1_rpf.c [media] v4l: vsp1: Cleanup video nodes at removal time 2014-07-17 12:44:52 -03:00
vsp1_rwpf.c [media] v4l: vsp1: Update copyright notice 2014-03-12 10:41:51 -03:00
vsp1_rwpf.h [media] v4l: vsp1: Add BRU support 2014-04-23 10:20:15 -03:00
vsp1_sru.c [media] v4l: vsp1: Support multi-input entities 2014-04-23 10:18:36 -03:00
vsp1_sru.h [media] v4l: vsp1: Add SRU support 2013-12-11 09:23:59 -02:00
vsp1_uds.c [media] v4l: vsp1: Support multi-input entities 2014-04-23 10:18:36 -03:00
vsp1_uds.h [media] v4l: vsp1: Update copyright notice 2014-03-12 10:41:51 -03:00
vsp1_video.c [media] v4l: vsp1: Propagate vsp1_device_get errors to the callers 2014-07-17 12:44:52 -03:00
vsp1_video.h [media] v4l: vsp1: Fix typos 2014-07-17 12:44:51 -03:00
vsp1_wpf.c [media] v4l: vsp1: Cleanup video nodes at removal time 2014-07-17 12:44:52 -03:00
vsp1.h [media] v4l: vsp1: Propagate vsp1_device_get errors to the callers 2014-07-17 12:44:52 -03:00