Lines Matching refs:dev

17 static inline u32 saa7146_i2c_status(struct saa7146_dev *dev)  in saa7146_i2c_status()  argument
19 u32 iicsta = saa7146_read(dev, I2C_STATUS); in saa7146_i2c_status()
112 static int saa7146_i2c_reset(struct saa7146_dev *dev) in saa7146_i2c_reset() argument
115 u32 status = saa7146_i2c_status(dev); in saa7146_i2c_reset()
118 saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate); in saa7146_i2c_reset()
119 saa7146_write(dev, I2C_TRANSFER, 0); in saa7146_i2c_reset()
128 saa7146_write(dev, I2C_STATUS, (dev->i2c_bitrate | MASK_07)); in saa7146_i2c_reset()
129 saa7146_write(dev, MC2, (MASK_00 | MASK_16)); in saa7146_i2c_reset()
133 saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate); in saa7146_i2c_reset()
134 saa7146_write(dev, MC2, (MASK_00 | MASK_16)); in saa7146_i2c_reset()
139 status = saa7146_i2c_status(dev); in saa7146_i2c_reset()
141 if ( dev->i2c_bitrate != status ) { in saa7146_i2c_reset()
147 saa7146_write(dev, I2C_STATUS, (dev->i2c_bitrate | MASK_07)); in saa7146_i2c_reset()
148 saa7146_write(dev, MC2, (MASK_00 | MASK_16)); in saa7146_i2c_reset()
152 saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate); in saa7146_i2c_reset()
153 saa7146_write(dev, MC2, (MASK_00 | MASK_16)); in saa7146_i2c_reset()
158 saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate); in saa7146_i2c_reset()
159 saa7146_write(dev, MC2, (MASK_00 | MASK_16)); in saa7146_i2c_reset()
164 status = saa7146_i2c_status(dev); in saa7146_i2c_reset()
165 if ( dev->i2c_bitrate != status ) { in saa7146_i2c_reset()
176 static int saa7146_i2c_writeout(struct saa7146_dev *dev, __le32 *dword, int short_delay) in saa7146_i2c_writeout() argument
184 *dword, saa7146_read(dev, I2C_STATUS), dev->i2c_op); in saa7146_i2c_writeout()
186 if( 0 != (SAA7146_USE_I2C_IRQ & dev->ext->flags)) { in saa7146_i2c_writeout()
188 saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate); in saa7146_i2c_writeout()
189 saa7146_write(dev, I2C_TRANSFER, le32_to_cpu(*dword)); in saa7146_i2c_writeout()
191 dev->i2c_op = 1; in saa7146_i2c_writeout()
192 SAA7146_ISR_CLEAR(dev, MASK_16|MASK_17); in saa7146_i2c_writeout()
193 SAA7146_IER_ENABLE(dev, MASK_16|MASK_17); in saa7146_i2c_writeout()
194 saa7146_write(dev, MC2, (MASK_00 | MASK_16)); in saa7146_i2c_writeout()
197 timeout = wait_event_interruptible_timeout(dev->i2c_wq, dev->i2c_op == 0, timeout); in saa7146_i2c_writeout()
198 if (timeout == -ERESTARTSYS || dev->i2c_op) { in saa7146_i2c_writeout()
199 SAA7146_IER_DISABLE(dev, MASK_16|MASK_17); in saa7146_i2c_writeout()
200 SAA7146_ISR_CLEAR(dev, MASK_16|MASK_17); in saa7146_i2c_writeout()
206 dev->name, __func__); in saa7146_i2c_writeout()
209 status = saa7146_read(dev, I2C_STATUS); in saa7146_i2c_writeout()
211 saa7146_write(dev, I2C_STATUS, dev->i2c_bitrate); in saa7146_i2c_writeout()
212 saa7146_write(dev, I2C_TRANSFER, le32_to_cpu(*dword)); in saa7146_i2c_writeout()
213 saa7146_write(dev, MC2, (MASK_00 | MASK_16)); in saa7146_i2c_writeout()
218 mc2 = (saa7146_read(dev, MC2) & 0x1); in saa7146_i2c_writeout()
224 dev->name, __func__); in saa7146_i2c_writeout()
231 saa7146_i2c_status(dev); in saa7146_i2c_writeout()
233 status = saa7146_i2c_status(dev); in saa7146_i2c_writeout()
241 dev->name, __func__); in saa7146_i2c_writeout()
285 *dword = cpu_to_le32(saa7146_read(dev, I2C_TRANSFER)); in saa7146_i2c_writeout()
291 static int saa7146_i2c_transfer(struct saa7146_dev *dev, const struct i2c_msg *msgs, int num, int r… in saa7146_i2c_transfer() argument
294 __le32 *buffer = dev->d_i2c.cpu_addr; in saa7146_i2c_transfer()
298 if (mutex_lock_interruptible(&dev->i2c_lock)) in saa7146_i2c_transfer()
312 if ( count > 3 || 0 != (SAA7146_I2C_SHORT_DELAY & dev->ext->flags) ) in saa7146_i2c_transfer()
317 err = saa7146_i2c_reset(dev); in saa7146_i2c_transfer()
325 err = saa7146_i2c_writeout(dev, &buffer[i], short_delay); in saa7146_i2c_transfer()
337 if (-EREMOTEIO == err && 0 != (SAA7146_USE_I2C_IRQ & dev->ext->flags)) in saa7146_i2c_transfer()
369 if( 0 == dev->revision ) { in saa7146_i2c_transfer()
371 saa7146_i2c_reset(dev); in saa7146_i2c_transfer()
372 if( 0 != saa7146_i2c_writeout(dev, &zero, short_delay)) { in saa7146_i2c_transfer()
377 mutex_unlock(&dev->i2c_lock); in saa7146_i2c_transfer()
385 struct saa7146_dev *dev = to_saa7146_dev(v4l2_dev); in saa7146_i2c_xfer() local
388 return saa7146_i2c_transfer(dev, msg, num, adapter->retries); in saa7146_i2c_xfer()
401 int saa7146_i2c_adapter_prepare(struct saa7146_dev *dev, struct i2c_adapter *i2c_adapter, u32 bitra… in saa7146_i2c_adapter_prepare() argument
406 saa7146_write(dev, MC1, (MASK_08 | MASK_24)); in saa7146_i2c_adapter_prepare()
408 dev->i2c_bitrate = bitrate; in saa7146_i2c_adapter_prepare()
409 saa7146_i2c_reset(dev); in saa7146_i2c_adapter_prepare()
412 i2c_set_adapdata(i2c_adapter, &dev->v4l2_dev); in saa7146_i2c_adapter_prepare()
413 i2c_adapter->dev.parent = &dev->pci->dev; in saa7146_i2c_adapter_prepare()