msm: camera: cpas: Enable camnoc slave error irq
Enable camnoc slave error irq to identify address decode errors. Also change the camnoc irq clear logic. The change also avoids dumping error logger info. Also remove any error logging in client callbacks for slave error if the client intends to not handle it. CRs-Fixed: 3175797 Change-Id: Iec2c0c3b50a52a4c61ce2d5f6f263327625a8267 Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Este cometimento está contido em:

cometido por
Camera Software Integration

ascendente
af740ba999
cometimento
0b86e7f627
@@ -159,6 +159,21 @@ enum cam_cpas_hw_version {
|
||||
CAM_CPAS_TITAN_MAX
|
||||
};
|
||||
|
||||
/**
|
||||
* enum cam_camnoc_slave_error_codes - Enum for camnoc slave error codes
|
||||
*
|
||||
*/
|
||||
enum cam_camnoc_slave_error_codes {
|
||||
CAM_CAMNOC_TARGET_ERROR,
|
||||
CAM_CAMNOC_ADDRESS_DECODE_ERROR,
|
||||
CAM_CAMNOC_UNSUPPORTED_REQUEST_ERROR,
|
||||
CAM_CAMNOC_DISCONNECTED_TARGET_ERROR,
|
||||
CAM_CAMNOC_SECURITY_VIOLATION,
|
||||
CAM_CAMNOC_HIDDEN_SECURITY_VIOLATION,
|
||||
CAM_CAMNOC_TIME_OUT,
|
||||
CAM_CAMNOC_UNUSED,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum cam_camnoc_irq_type - Enum for camnoc irq types
|
||||
*
|
||||
@@ -416,6 +431,17 @@ struct cam_cpas_irq_data {
|
||||
} u;
|
||||
};
|
||||
|
||||
/*
|
||||
* CPAS client callback
|
||||
*
|
||||
* @client_handle : CPAS client handle
|
||||
* @userdata : User data given at the time of register
|
||||
* @irq_data : Event data
|
||||
*/
|
||||
typedef bool (*cam_cpas_client_cb_func)(
|
||||
uint32_t client_handle, void *userdata,
|
||||
struct cam_cpas_irq_data *irq_data);
|
||||
|
||||
/**
|
||||
* struct cam_cpas_register_params : Register params for cpas client
|
||||
*
|
||||
@@ -430,11 +456,7 @@ struct cam_cpas_irq_data {
|
||||
* an argument while callback.
|
||||
* @cam_cpas_callback : Input callback pointer for triggering the
|
||||
* callbacks from CPAS driver.
|
||||
* @client_handle : CPAS client handle
|
||||
* @userdata : User data given at the time of register
|
||||
* @event_type : event type
|
||||
* @event_data : event data
|
||||
* @client_handle : Output Unique handle generated for this register
|
||||
* @client_handle : Output Unique handle generated for this register
|
||||
*
|
||||
*/
|
||||
struct cam_cpas_register_params {
|
||||
@@ -442,10 +464,7 @@ struct cam_cpas_register_params {
|
||||
uint32_t cell_index;
|
||||
struct device *dev;
|
||||
void *userdata;
|
||||
bool (*cam_cpas_client_cb)(
|
||||
uint32_t client_handle,
|
||||
void *userdata,
|
||||
struct cam_cpas_irq_data *irq_data);
|
||||
cam_cpas_client_cb_func cam_cpas_client_cb;
|
||||
uint32_t client_handle;
|
||||
};
|
||||
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador