Lines Matching refs:hsdevp

180 						(hsdevp)->hsdev)
216 static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag);
275 struct sata_dwc_device_port *hsdevp; in dma_dwc_xfer_done() local
281 hsdevp = HSDEVP_FROM_AP(ap); in dma_dwc_xfer_done()
289 hsdevp->dma_interrupt_count++; in dma_dwc_xfer_done()
290 sata_dwc_clear_dmacr(hsdevp, tag); in dma_dwc_xfer_done()
292 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_NONE) { in dma_dwc_xfer_done()
294 tag, hsdevp->dma_pending[tag]); in dma_dwc_xfer_done()
297 if ((hsdevp->dma_interrupt_count % 2) == 0) in dma_dwc_xfer_done()
306 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in dma_dwc_xfer_setup() local
326 dmaengine_slave_config(hsdevp->chan, &sconf); in dma_dwc_xfer_setup()
329 desc = dmaengine_prep_slave_sg(hsdevp->chan, qc->sg, qc->n_elem, in dma_dwc_xfer_setup()
406 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_error_intr() local
422 __func__, serror, intpr, status, hsdevp->dma_interrupt_count, in sata_dwc_error_intr()
423 hsdevp->dma_pending[tag], hsdevp->cmd_issued[tag]); in sata_dwc_error_intr()
464 struct sata_dwc_device_port *hsdevp; in sata_dwc_isr() local
473 hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_isr()
491 if (hsdevp->cmd_issued[tag] != SATA_DWC_CMD_ISSUED_PEND) in sata_dwc_isr()
531 hsdevp->cmd_issued[tag] = SATA_DWC_CMD_ISSUED_NOT; in sata_dwc_isr()
550 hsdevp->dma_interrupt_count++; in sata_dwc_isr()
551 if (hsdevp->dma_pending[tag] == \ in sata_dwc_isr()
556 hsdevp->dma_pending[tag]); in sata_dwc_isr()
559 if ((hsdevp->dma_interrupt_count % 2) == 0) in sata_dwc_isr()
618 hsdevp->cmd_issued[tag] = SATA_DWC_CMD_ISSUED_NOT; in sata_dwc_isr()
633 hsdevp->dma_interrupt_count++; in sata_dwc_isr()
634 if (hsdevp->dma_pending[tag] == \ in sata_dwc_isr()
638 if ((hsdevp->dma_interrupt_count % 2) == 0) in sata_dwc_isr()
672 static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag) in sata_dwc_clear_dmacr() argument
674 struct sata_dwc_device *hsdev = HSDEV_FROM_HSDEVP(hsdevp); in sata_dwc_clear_dmacr()
676 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_RX) { in sata_dwc_clear_dmacr()
680 } else if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_TX) { in sata_dwc_clear_dmacr()
691 __func__, tag, hsdevp->dma_pending[tag], in sata_dwc_clear_dmacr()
701 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_dma_xfer_complete() local
724 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_NONE) { in sata_dwc_dma_xfer_complete()
731 hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_NONE; in sata_dwc_dma_xfer_complete()
745 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_qc_complete() local
749 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_TX) in sata_dwc_qc_complete()
751 else if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_RX) in sata_dwc_qc_complete()
788 struct sata_dwc_device_port *hsdevp = param; in sata_dwc_dma_filter() local
789 struct dw_dma_slave *dws = hsdevp->dws; in sata_dwc_dma_filter()
830 struct sata_dwc_device_port *hsdevp = NULL; in sata_dwc_port_start() local
848 hsdevp = kzalloc(sizeof(*hsdevp), GFP_KERNEL); in sata_dwc_port_start()
849 if (!hsdevp) { in sata_dwc_port_start()
854 hsdevp->hsdev = hsdev; in sata_dwc_port_start()
856 hsdevp->dws = &sata_dwc_dma_dws; in sata_dwc_port_start()
857 hsdevp->dws->dma_dev = hsdev->dev; in sata_dwc_port_start()
863 hsdevp->chan = dma_request_channel(mask, sata_dwc_dma_filter, hsdevp); in sata_dwc_port_start()
864 if (!hsdevp->chan) { in sata_dwc_port_start()
872 hsdevp->cmd_issued[i] = SATA_DWC_CMD_ISSUED_NOT; in sata_dwc_port_start()
892 ap->private_data = hsdevp; in sata_dwc_port_start()
897 kfree(hsdevp); in sata_dwc_port_start()
905 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_port_stop() local
909 dmaengine_terminate_all(hsdevp->chan); in sata_dwc_port_stop()
910 dma_release_channel(hsdevp->chan); in sata_dwc_port_stop()
912 kfree(hsdevp); in sata_dwc_port_stop()
928 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_exec_command_by_tag() local
934 hsdevp->cmd_issued[tag] = cmd_issued; in sata_dwc_exec_command_by_tag()
971 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_bmdma_start_by_tag() local
972 struct dma_async_tx_descriptor *desc = hsdevp->desc[tag]; in sata_dwc_bmdma_start_by_tag()
975 if (hsdevp->cmd_issued[tag] != SATA_DWC_CMD_ISSUED_NOT) { in sata_dwc_bmdma_start_by_tag()
978 hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_TX; in sata_dwc_bmdma_start_by_tag()
980 hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_RX; in sata_dwc_bmdma_start_by_tag()
984 __func__, hsdevp->cmd_issued[tag], tag); in sata_dwc_bmdma_start_by_tag()
1010 dma_async_issue_pending(hsdevp->chan); in sata_dwc_bmdma_start_by_tag()
1038 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); in sata_dwc_qc_prep_by_tag() local
1050 hsdevp->desc[tag] = desc; in sata_dwc_qc_prep_by_tag()