1
0

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:
Karthik Anantha Ram
2022-03-28 12:30:06 -07:00
cometido por Camera Software Integration
ascendente af740ba999
cometimento 0b86e7f627
6 ficheiros modificados com 154 adições e 118 eliminações

Ver ficheiro

@@ -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;
};