in img-ascii-lcd.c [140:168]
static int sead3_wait_lcd_idle(struct img_ascii_lcd_ctx *ctx)
{
unsigned int cpld_data;
int err;
err = sead3_wait_sm_idle(ctx);
if (err)
return err;
do {
err = regmap_read(ctx->regmap,
ctx->offset + SEAD3_REG_LCD_CTRL,
&cpld_data);
if (err)
return err;
err = sead3_wait_sm_idle(ctx);
if (err)
return err;
err = regmap_read(ctx->regmap,
ctx->offset + SEAD3_REG_CPLD_DATA,
&cpld_data);
if (err)
return err;
} while (cpld_data & SEAD3_REG_CPLD_DATA_BUSY);
return 0;
}