[media] coda: fix CODA7541 hardware reset
Do not try to read the CODA960 GDI status register on CODA7541. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
cd73bb6c4e
commit
ae5abd2561
@ -350,19 +350,22 @@ static int coda_hw_reset(struct coda_ctx *ctx)
|
|||||||
|
|
||||||
idx = coda_read(dev, CODA_REG_BIT_RUN_INDEX);
|
idx = coda_read(dev, CODA_REG_BIT_RUN_INDEX);
|
||||||
|
|
||||||
timeout = jiffies + msecs_to_jiffies(100);
|
if (dev->devtype->product == CODA_960) {
|
||||||
coda_write(dev, 0x11, CODA9_GDI_BUS_CTRL);
|
timeout = jiffies + msecs_to_jiffies(100);
|
||||||
while (coda_read(dev, CODA9_GDI_BUS_STATUS) != 0x77) {
|
coda_write(dev, 0x11, CODA9_GDI_BUS_CTRL);
|
||||||
if (time_after(jiffies, timeout))
|
while (coda_read(dev, CODA9_GDI_BUS_STATUS) != 0x77) {
|
||||||
return -ETIME;
|
if (time_after(jiffies, timeout))
|
||||||
cpu_relax();
|
return -ETIME;
|
||||||
|
cpu_relax();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = reset_control_reset(dev->rstc);
|
ret = reset_control_reset(dev->rstc);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
coda_write(dev, 0x00, CODA9_GDI_BUS_CTRL);
|
if (dev->devtype->product == CODA_960)
|
||||||
|
coda_write(dev, 0x00, CODA9_GDI_BUS_CTRL);
|
||||||
coda_write(dev, CODA_REG_BIT_BUSY_FLAG, CODA_REG_BIT_BUSY);
|
coda_write(dev, CODA_REG_BIT_BUSY_FLAG, CODA_REG_BIT_BUSY);
|
||||||
coda_write(dev, CODA_REG_RUN_ENABLE, CODA_REG_BIT_CODE_RUN);
|
coda_write(dev, CODA_REG_RUN_ENABLE, CODA_REG_BIT_CODE_RUN);
|
||||||
ret = coda_wait_timeout(dev);
|
ret = coda_wait_timeout(dev);
|
||||||
|
Loading…
Reference in New Issue
Block a user