• Laurent Pinchart's avatar
    [media] v4l: vsp1: Setup control handler automatically at stream on time · 960de2cf
    Laurent Pinchart authored
    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: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
    960de2cf
vsp1_entity.c 6.17 KB