diff options
author | Evgeniy Borisov <borisov_evgeniy@projectara.com> | 2016-04-06 15:22:45 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2016-04-11 18:47:57 -0700 |
commit | b4905038965fb986d8496e47cc52a08428408ae5 (patch) | |
tree | 4ba3ac977ed07a31319080c5fd90765caa0dc3fa /drivers/staging/greybus/gb-camera.h | |
parent | ddb10c8acc8554ffb68bdb6d80d0e277e124cb2b (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.h | 16 |
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); |