summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/gb-camera.h
diff options
context:
space:
mode:
authorEvgeniy Borisov <borisov_evgeniy@projectara.com>2016-04-06 15:22:45 +0300
committerGreg Kroah-Hartman <gregkh@google.com>2016-04-11 18:47:57 -0700
commitb4905038965fb986d8496e47cc52a08428408ae5 (patch)
tree4ba3ac977ed07a31319080c5fd90765caa0dc3fa /drivers/staging/greybus/gb-camera.h
parentddb10c8acc8554ffb68bdb6d80d0e277e124cb2b (diff)
greybus: camera-gb: Extend the configure streams interface
Extending the configure streams interface with CSI params. Getting CSI frequency data form configure streams response. * num_lanes - Number of CSI data lanes * clk_freq - CSI clock frequency in Hz * lines_per_second - Total number of lines in a second of transmission (blanking included) From the AP side we need to know for the CSI speed configuration. This information is needed for dynamically bandwidth calculations. NOTE: Change should be along merged with corresponding interface change in kernel: "camera: Extend the configure streams interface with CSI params" Signed-off-by: Evgeniy Borisov <eborisov@mm-sol.com> Reviewed-by: Gjorgji Rosikopulos <grosikopulos@mm-sol.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/gb-camera.h')
-rw-r--r--drivers/staging/greybus/gb-camera.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/staging/greybus/gb-camera.h b/drivers/staging/greybus/gb-camera.h
index 273b4fa6dd4f..cc9c012249e2 100644
--- a/drivers/staging/greybus/gb-camera.h
+++ b/drivers/staging/greybus/gb-camera.h
@@ -24,10 +24,24 @@ struct gb_camera_stream {
unsigned int max_size;
};
+/**
+ * struct gb_camera_csi_params - CSI configuration parameters
+ * @num_lanes: number of CSI data lanes
+ * @clk_freq: CSI clock frequency in Hz
+ * @lines_per_second: total number of lines in a second of transmission
+ * (blanking included)
+ */
+struct gb_camera_csi_params {
+ unsigned int num_lanes;
+ unsigned int clk_freq;
+ unsigned int lines_per_second;
+};
+
struct gb_camera_ops {
ssize_t (*capabilities)(void *priv, char *buf, size_t len);
int (*configure_streams)(void *priv, unsigned int *nstreams,
- unsigned int *flags, struct gb_camera_stream *streams);
+ unsigned int *flags, struct gb_camera_stream *streams,
+ struct gb_camera_csi_params *csi_params);
int (*capture)(void *priv, u32 request_id,
unsigned int streams, unsigned int num_frames,
size_t settings_size, const void *settings);