提交 640924d2 编写于 作者: L Laurent Pinchart 提交者: Greg Kroah-Hartman

greybus: camera: Don't configure CSI TX in test only mode

When the GB_CAMERA_CONFIGURE_STREAMS_TEST_ONLY flag is set by the caller
the configure streams operation should only test the requested settings
without modifying the hardware state. This applies for both the module,
the UniPro links power modes and the AP bridge settings. Return early
when the flag is set to avoid modifying the AP bridge CSI TX settings.
Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: NGjorgji Rosikopulos <grosikopulos@mm-sol.com>
Tested-by: NJacopo Mondi <jacopo.mondi@linaro.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@google.com>
上级 66c36070
......@@ -242,26 +242,21 @@ static int gb_camera_configure_streams(struct gb_camera *gcam,
}
}
if (nstreams && resp->flags & GB_CAMERA_CONFIGURE_STREAMS_ADJUSTED) {
if ((resp->flags & GB_CAMERA_CONFIGURE_STREAMS_ADJUSTED) ||
(*flags & GB_CAMERA_CONFIGURE_STREAMS_TEST_ONLY)) {
*flags = resp->flags;
*num_streams = resp->num_streams;
goto done;
}
/* Setup unipro link speed. */
if (nstreams && !(*flags & GB_CAMERA_CONFIGURE_STREAMS_TEST_ONLY)) {
ret = gb_camera_set_power_mode(gcam, true);
if (ret < 0)
goto done;
} else if (nstreams == 0) {
ret = gb_camera_set_power_mode(gcam, false);
if (ret < 0)
goto done;
}
ret = gb_camera_set_power_mode(gcam, nstreams != 0);
if (ret < 0)
goto done;
/* Configure the CSI transmitter. Hardcode the parameters for now. */
memset(&csi_cfg, 0, sizeof(csi_cfg));
/* Configure the CSI transmitter. Hardcode the parameters for now. */
if (nstreams) {
csi_cfg.csi_id = 1;
csi_cfg.clock_mode = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册