[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
					
				
			
		
					 1 changed files with 10 additions and 7 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue