drivers/analogix/anx7625: Utilize retry() macro

Utilize retry() macro in wait_aux_op_finish() and anx7625_init() to
simplify the code.

BUG=none
TEST=emerge-asurada coreboot
BRANCH=none

Change-Id: I207e7075e8ac905efd5f201dd54658dedf531568
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59659
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
This commit is contained in:
Yu-Ping Wu 2021-11-25 16:28:13 +08:00 committed by Hung-Te Lin
parent 0c9b1deb63
commit 734a777d94
1 changed files with 5 additions and 18 deletions

View File

@ -6,6 +6,7 @@
#include <edid.h>
#include <gpio.h>
#include <string.h>
#include <types.h>
#include "anx7625.h"
@ -133,20 +134,11 @@ static int anx7625_write_and(uint8_t bus, uint8_t saddr, uint8_t offset,
static int wait_aux_op_finish(uint8_t bus)
{
uint8_t val;
int loop;
int success = 0;
int ret;
for (loop = 0; loop < 150; loop++) {
mdelay(2);
anx7625_reg_read(bus, RX_P0_ADDR, AP_AUX_CTRL_STATUS, &val);
if (!(val & AP_AUX_CTRL_OP_EN)) {
success = 1;
break;
}
}
if (!success) {
if (!retry(150,
(anx7625_reg_read(bus, RX_P0_ADDR, AP_AUX_CTRL_STATUS, &val),
!(val & AP_AUX_CTRL_OP_EN)), mdelay(2))) {
ANXERROR("Timed out waiting aux operation.\n");
return -1;
}
@ -874,13 +866,8 @@ int anx7625_dp_get_edid(uint8_t bus, struct edid *out)
int anx7625_init(uint8_t bus)
{
int retry_hpd_change = 50;
int retry_power_on = 3;
while (--retry_power_on) {
if (anx7625_power_on_init(bus) >= 0)
break;
}
if (!retry_power_on) {
if (!retry(3, anx7625_power_on_init(bus) >= 0)) {
ANXERROR("Failed to power on.\n");
return -1;
}