msm: mdss: dp: update AUX error codes to match I2C error codes
Update the AUX error codes to match the I2C error codes so that the driver has the correct corresponding error code. This is useful for debugging problems in which there is an AUX transaction failure. CRs-Fixed: 1076516 Change-Id: I3857905e5cc916a3e095fa8fcf3d170b172a8efd Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
This commit is contained in:
parent
53863e5397
commit
7ea6182fb7
2 changed files with 33 additions and 8 deletions
|
@ -39,11 +39,6 @@
|
|||
#define EDP_PORT_MAX 1
|
||||
#define EDP_SINK_CAP_LEN 16
|
||||
|
||||
#define EDP_AUX_ERR_NONE 0
|
||||
#define EDP_AUX_ERR_ADDR -1
|
||||
#define EDP_AUX_ERR_TOUT -2
|
||||
#define EDP_AUX_ERR_NACK -3
|
||||
|
||||
/* 4 bits of aux command */
|
||||
#define EDP_CMD_AUX_WRITE 0x8
|
||||
#define EDP_CMD_AUX_READ 0x9
|
||||
|
@ -512,6 +507,35 @@ enum dp_lane_count {
|
|||
DP_LANE_COUNT_4 = 4,
|
||||
};
|
||||
|
||||
enum dp_aux_error {
|
||||
EDP_AUX_ERR_NONE = 0,
|
||||
EDP_AUX_ERR_ADDR = -1,
|
||||
EDP_AUX_ERR_TOUT = -2,
|
||||
EDP_AUX_ERR_NACK = -3,
|
||||
EDP_AUX_ERR_DEFER = -4,
|
||||
EDP_AUX_ERR_NACK_DEFER = -5,
|
||||
};
|
||||
|
||||
static inline char *mdss_dp_get_aux_error(u32 aux_error)
|
||||
{
|
||||
switch (aux_error) {
|
||||
case EDP_AUX_ERR_NONE:
|
||||
return DP_ENUM_STR(EDP_AUX_ERR_NONE);
|
||||
case EDP_AUX_ERR_ADDR:
|
||||
return DP_ENUM_STR(EDP_AUX_ERR_ADDR);
|
||||
case EDP_AUX_ERR_TOUT:
|
||||
return DP_ENUM_STR(EDP_AUX_ERR_TOUT);
|
||||
case EDP_AUX_ERR_NACK:
|
||||
return DP_ENUM_STR(EDP_AUX_ERR_NACK);
|
||||
case EDP_AUX_ERR_DEFER:
|
||||
return DP_ENUM_STR(EDP_AUX_ERR_DEFER);
|
||||
case EDP_AUX_ERR_NACK_DEFER:
|
||||
return DP_ENUM_STR(EDP_AUX_ERR_NACK_DEFER);
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
enum test_response {
|
||||
TEST_ACK = 0x1,
|
||||
TEST_NACK = 0x2,
|
||||
|
|
|
@ -335,11 +335,11 @@ void dp_aux_i2c_handler(struct mdss_dp_drv_pdata *ep, u32 isr)
|
|||
else if (isr & EDP_INTR_TIMEOUT)
|
||||
ep->aux_error_num = EDP_AUX_ERR_TOUT;
|
||||
if (isr & EDP_INTR_NACK_DEFER)
|
||||
ep->aux_error_num = EDP_AUX_ERR_NACK;
|
||||
ep->aux_error_num = EDP_AUX_ERR_NACK_DEFER;
|
||||
if (isr & EDP_INTR_I2C_NACK)
|
||||
ep->aux_error_num = EDP_AUX_ERR_NACK;
|
||||
if (isr & EDP_INTR_I2C_DEFER)
|
||||
ep->aux_error_num = EDP_AUX_ERR_NACK;
|
||||
ep->aux_error_num = EDP_AUX_ERR_DEFER;
|
||||
}
|
||||
|
||||
complete(&ep->aux_comp);
|
||||
|
@ -709,7 +709,8 @@ static int dp_aux_chan_ready(struct mdss_dp_drv_pdata *ep)
|
|||
|
||||
for (cnt = 5; cnt; cnt--) {
|
||||
ret = dp_aux_write_buf(ep, EDID_START_ADDRESS, &data, 1, 1);
|
||||
pr_debug("ret=%d\n", ret);
|
||||
pr_debug("ret = %d, aux_error = %s\n",
|
||||
ret, mdss_dp_get_aux_error(ep->aux_error_num));
|
||||
if (ret >= 0)
|
||||
break;
|
||||
msleep(100);
|
||||
|
|
Loading…
Add table
Reference in a new issue