libcamera: ipa: Remove unused IPA control types

The ipa_control_range_data structure is only used to document the IPA
control serialization format, but isn't used in code at all as the
ControlRange entries are directly serialized to a byte stream buffer.
This applies to the ipa_control_value_data structure that is solely used
by ipa_control_range_data.

Expand the documentation of the IPA control serialization format to
describe the layout of the control range data in words and diagrams
instead of through a C structure. Remove the unused structures as a
result.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Jacopo Mondi
2020-02-26 10:43:50 +01:00
committed by Laurent Pinchart
parent ca2ea05606
commit 3a48f525f9
2 changed files with 16 additions and 33 deletions
-11
View File
@@ -36,17 +36,6 @@ struct ipa_control_range_entry {
uint32_t padding[1];
};
union ipa_control_value_data {
bool b;
int32_t i32;
int64_t i64;
};
struct ipa_control_range_data {
union ipa_control_value_data min;
union ipa_control_value_data max;
};
#ifdef __cplusplus
}
#endif
+16 -22
View File
@@ -100,8 +100,22 @@
*
* Entries are described by the ipa_control_range_entry structure. They contain
* the numerical ID and type of the control. The control range data is stored
* in the data section as described by the ipa_control_range_data structure.
* The ipa_control_range_entry::offset field stores the offset from the
* in the data section as described by the following diagram.
*
* ~~~~
* +-------------------------+ .
* / | ... | | entry[n].offset
* | +-------------------------+ <-----´
* Data | | minimum value (#n) | \
* section | +-------------------------+ | Entry #n
* | | maximum value (#n) | /
* | +-------------------------+
* \ | ... |
* +-------------------------+
* ~~~~
*
* The minimum and maximum value are stored in the platform's native data
* format. The ipa_control_range_entry::offset field stores the offset from the
* beginning of the data section to the range data.
*
* Range data in the data section shall be stored in the same order as the
@@ -164,23 +178,3 @@
* \var ipa_control_range_entry::padding
* Padding bytes (shall be set to 0)
*/
/**
* \union ipa_control_value_data
* \brief Serialized control value
* \var ipa_control_value_data::b
* Value for ControlTypeBool controls
* \var ipa_control_value_data::i32
* Value for ControlTypeInteger32 controls
* \var ipa_control_value_data::i64
* Value for ControlTypeInteger64 controls
*/
/**
* \struct ipa_control_range_data
* \brief Serialized control range
* \var ipa_control_range_data::min
* The control minimum value
* \var ipa_control_range_data::max
* The control maximum value
*/