Lines Matching refs:desc

198 static void __ismt_desc_dump(struct device *dev, const struct ismt_desc *desc)  in __ismt_desc_dump()  argument
201 dev_dbg(dev, "Descriptor struct: %p\n", desc); in __ismt_desc_dump()
202 dev_dbg(dev, "\ttgtaddr_rw=0x%02X\n", desc->tgtaddr_rw); in __ismt_desc_dump()
203 dev_dbg(dev, "\twr_len_cmd=0x%02X\n", desc->wr_len_cmd); in __ismt_desc_dump()
204 dev_dbg(dev, "\trd_len= 0x%02X\n", desc->rd_len); in __ismt_desc_dump()
205 dev_dbg(dev, "\tcontrol= 0x%02X\n", desc->control); in __ismt_desc_dump()
206 dev_dbg(dev, "\tstatus= 0x%02X\n", desc->status); in __ismt_desc_dump()
207 dev_dbg(dev, "\tretry= 0x%02X\n", desc->retry); in __ismt_desc_dump()
208 dev_dbg(dev, "\trxbytes= 0x%02X\n", desc->rxbytes); in __ismt_desc_dump()
209 dev_dbg(dev, "\ttxbytes= 0x%02X\n", desc->txbytes); in __ismt_desc_dump()
210 dev_dbg(dev, "\tdptr_low= 0x%08X\n", desc->dptr_low); in __ismt_desc_dump()
211 dev_dbg(dev, "\tdptr_high= 0x%08X\n", desc->dptr_high); in __ismt_desc_dump()
220 struct ismt_desc *desc = &priv->hw[priv->head]; in ismt_desc_dump() local
223 __ismt_desc_dump(dev, desc); in ismt_desc_dump()
317 static int ismt_process_desc(const struct ismt_desc *desc, in ismt_process_desc() argument
325 __ismt_desc_dump(&priv->pci_dev->dev, desc); in ismt_process_desc()
327 if (desc->status & ISMT_DESC_SCS) { in ismt_process_desc()
343 memcpy(&data->block[1], dma_buffer, desc->rxbytes); in ismt_process_desc()
344 data->block[0] = desc->rxbytes; in ismt_process_desc()
350 if (likely(desc->status & ISMT_DESC_NAK)) in ismt_process_desc()
353 if (desc->status & ISMT_DESC_CRC) in ismt_process_desc()
356 if (desc->status & ISMT_DESC_COL) in ismt_process_desc()
359 if (desc->status & ISMT_DESC_LPR) in ismt_process_desc()
362 if (desc->status & (ISMT_DESC_DLTO | ISMT_DESC_CLTO)) in ismt_process_desc()
387 struct ismt_desc *desc; in ismt_access() local
391 desc = &priv->hw[priv->head]; in ismt_access()
397 memset(desc, 0, sizeof(struct ismt_desc)); in ismt_access()
398 desc->tgtaddr_rw = ISMT_DESC_ADDR_RW(addr, read_write); in ismt_access()
402 desc->control = ISMT_DESC_INT | ISMT_DESC_FAIR; in ismt_access()
404 desc->control = ISMT_DESC_FAIR; in ismt_access()
408 desc->control |= ISMT_DESC_PEC; in ismt_access()
422 desc->control |= ISMT_DESC_CWRL; in ismt_access()
423 desc->wr_len_cmd = command; in ismt_access()
429 desc->rd_len = 1; in ismt_access()
440 desc->wr_len_cmd = 2; in ismt_access()
448 desc->control |= ISMT_DESC_CWRL; in ismt_access()
449 desc->wr_len_cmd = command; in ismt_access()
450 desc->rd_len = 1; in ismt_access()
460 desc->wr_len_cmd = 3; in ismt_access()
469 desc->wr_len_cmd = command; in ismt_access()
470 desc->control |= ISMT_DESC_CWRL; in ismt_access()
471 desc->rd_len = 2; in ismt_access()
479 desc->wr_len_cmd = 3; in ismt_access()
480 desc->rd_len = 2; in ismt_access()
494 desc->wr_len_cmd = dma_size; in ismt_access()
495 desc->control |= ISMT_DESC_BLK; in ismt_access()
503 desc->rd_len = dma_size; in ismt_access()
504 desc->wr_len_cmd = command; in ismt_access()
505 desc->control |= (ISMT_DESC_BLK | ISMT_DESC_CWRL); in ismt_access()
522 desc->wr_len_cmd = dma_size; in ismt_access()
523 desc->control |= ISMT_DESC_I2C; in ismt_access()
531 desc->rd_len = dma_size; in ismt_access()
532 desc->wr_len_cmd = command; in ismt_access()
533 desc->control |= (ISMT_DESC_I2C | ISMT_DESC_CWRL); in ismt_access()
540 desc->tgtaddr_rw = ISMT_DESC_ADDR_RW(addr, 0); in ismt_access()
572 desc->dptr_low = lower_32_bits(dma_addr); in ismt_access()
573 desc->dptr_high = upper_32_bits(dma_addr); in ismt_access()
595 ret = ismt_process_desc(desc, data, priv, size, read_write); in ismt_access()