Lines Matching refs:desc
197 static void __ismt_desc_dump(struct device *dev, const struct ismt_desc *desc) in __ismt_desc_dump() argument
200 dev_dbg(dev, "Descriptor struct: %p\n", desc); in __ismt_desc_dump()
201 dev_dbg(dev, "\ttgtaddr_rw=0x%02X\n", desc->tgtaddr_rw); in __ismt_desc_dump()
202 dev_dbg(dev, "\twr_len_cmd=0x%02X\n", desc->wr_len_cmd); in __ismt_desc_dump()
203 dev_dbg(dev, "\trd_len= 0x%02X\n", desc->rd_len); in __ismt_desc_dump()
204 dev_dbg(dev, "\tcontrol= 0x%02X\n", desc->control); in __ismt_desc_dump()
205 dev_dbg(dev, "\tstatus= 0x%02X\n", desc->status); in __ismt_desc_dump()
206 dev_dbg(dev, "\tretry= 0x%02X\n", desc->retry); in __ismt_desc_dump()
207 dev_dbg(dev, "\trxbytes= 0x%02X\n", desc->rxbytes); in __ismt_desc_dump()
208 dev_dbg(dev, "\ttxbytes= 0x%02X\n", desc->txbytes); in __ismt_desc_dump()
209 dev_dbg(dev, "\tdptr_low= 0x%08X\n", desc->dptr_low); in __ismt_desc_dump()
210 dev_dbg(dev, "\tdptr_high= 0x%08X\n", desc->dptr_high); in __ismt_desc_dump()
219 struct ismt_desc *desc = &priv->hw[priv->head]; in ismt_desc_dump() local
222 __ismt_desc_dump(dev, desc); in ismt_desc_dump()
316 static int ismt_process_desc(const struct ismt_desc *desc, in ismt_process_desc() argument
324 __ismt_desc_dump(&priv->pci_dev->dev, desc); in ismt_process_desc()
326 if (desc->status & ISMT_DESC_SCS) { in ismt_process_desc()
342 memcpy(&data->block[1], dma_buffer, desc->rxbytes); in ismt_process_desc()
343 data->block[0] = desc->rxbytes; in ismt_process_desc()
349 if (likely(desc->status & ISMT_DESC_NAK)) in ismt_process_desc()
352 if (desc->status & ISMT_DESC_CRC) in ismt_process_desc()
355 if (desc->status & ISMT_DESC_COL) in ismt_process_desc()
358 if (desc->status & ISMT_DESC_LPR) in ismt_process_desc()
361 if (desc->status & (ISMT_DESC_DLTO | ISMT_DESC_CLTO)) in ismt_process_desc()
386 struct ismt_desc *desc; in ismt_access() local
390 desc = &priv->hw[priv->head]; in ismt_access()
396 memset(desc, 0, sizeof(struct ismt_desc)); in ismt_access()
397 desc->tgtaddr_rw = ISMT_DESC_ADDR_RW(addr, read_write); in ismt_access()
401 desc->control = ISMT_DESC_INT | ISMT_DESC_FAIR; in ismt_access()
403 desc->control = ISMT_DESC_FAIR; in ismt_access()
407 desc->control |= ISMT_DESC_PEC; in ismt_access()
421 desc->control |= ISMT_DESC_CWRL; in ismt_access()
422 desc->wr_len_cmd = command; in ismt_access()
428 desc->rd_len = 1; in ismt_access()
439 desc->wr_len_cmd = 2; in ismt_access()
447 desc->control |= ISMT_DESC_CWRL; in ismt_access()
448 desc->wr_len_cmd = command; in ismt_access()
449 desc->rd_len = 1; in ismt_access()
459 desc->wr_len_cmd = 3; in ismt_access()
468 desc->wr_len_cmd = command; in ismt_access()
469 desc->control |= ISMT_DESC_CWRL; in ismt_access()
470 desc->rd_len = 2; in ismt_access()
478 desc->wr_len_cmd = 3; in ismt_access()
479 desc->rd_len = 2; in ismt_access()
493 desc->wr_len_cmd = dma_size; in ismt_access()
494 desc->control |= ISMT_DESC_BLK; in ismt_access()
502 desc->rd_len = dma_size; in ismt_access()
503 desc->wr_len_cmd = command; in ismt_access()
504 desc->control |= (ISMT_DESC_BLK | ISMT_DESC_CWRL); in ismt_access()
521 desc->wr_len_cmd = dma_size; in ismt_access()
522 desc->control |= ISMT_DESC_I2C; in ismt_access()
530 desc->rd_len = dma_size; in ismt_access()
531 desc->wr_len_cmd = command; in ismt_access()
532 desc->control |= (ISMT_DESC_I2C | ISMT_DESC_CWRL); in ismt_access()
539 desc->tgtaddr_rw = ISMT_DESC_ADDR_RW(addr, 0); in ismt_access()
571 desc->dptr_low = lower_32_bits(dma_addr); in ismt_access()
572 desc->dptr_high = upper_32_bits(dma_addr); in ismt_access()
594 ret = ismt_process_desc(desc, data, priv, size, read_write); in ismt_access()