Lines Matching defs:hsdevp

193 static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag);
218 static int sata_dwc_dma_get_channel_old(struct sata_dwc_device_port *hsdevp)
220 struct sata_dwc_device *hsdev = hsdevp->hsdev;
230 hsdevp->chan = dma_request_channel(mask, sata_dwc_dma_filter, hsdevp);
231 if (!hsdevp->chan) {
339 struct sata_dwc_device_port *hsdevp;
345 hsdevp = HSDEVP_FROM_AP(ap);
353 hsdevp->dma_interrupt_count++;
354 sata_dwc_clear_dmacr(hsdevp, tag);
356 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_NONE) {
358 tag, hsdevp->dma_pending[tag]);
361 if ((hsdevp->dma_interrupt_count % 2) == 0)
370 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
389 dmaengine_slave_config(hsdevp->chan, &sconf);
392 desc = dmaengine_prep_slave_sg(hsdevp->chan, qc->sg, qc->n_elem,
459 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
475 __func__, serror, intpr, status, hsdevp->dma_interrupt_count,
476 hsdevp->dma_pending[tag], hsdevp->cmd_issued[tag]);
517 struct sata_dwc_device_port *hsdevp;
526 hsdevp = HSDEVP_FROM_AP(ap);
544 if (hsdevp->cmd_issued[tag] != SATA_DWC_CMD_ISSUED_PEND)
584 hsdevp->cmd_issued[tag] = SATA_DWC_CMD_ISSUED_NOT;
603 hsdevp->dma_interrupt_count++;
604 if (hsdevp->dma_pending[tag] == \
609 hsdevp->dma_pending[tag]);
612 if ((hsdevp->dma_interrupt_count % 2) == 0)
668 hsdevp->cmd_issued[tag] = SATA_DWC_CMD_ISSUED_NOT;
683 hsdevp->dma_interrupt_count++;
684 if (hsdevp->dma_pending[tag] == \
688 if ((hsdevp->dma_interrupt_count % 2) == 0)
722 static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag)
724 struct sata_dwc_device *hsdev = HSDEV_FROM_HSDEVP(hsdevp);
727 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_RX) {
730 } else if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_TX) {
740 __func__, tag, hsdevp->dma_pending[tag], dmacr);
749 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
772 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_NONE) {
779 hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_NONE;
794 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
798 if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_TX)
800 else if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_RX)
855 static int sata_dwc_dma_get_channel(struct sata_dwc_device_port *hsdevp)
857 struct sata_dwc_device *hsdev = hsdevp->hsdev;
862 return sata_dwc_dma_get_channel_old(hsdevp);
865 hsdevp->chan = dma_request_chan(dev, "sata-dma");
866 if (IS_ERR(hsdevp->chan)) {
868 PTR_ERR(hsdevp->chan));
869 return PTR_ERR(hsdevp->chan);
885 struct sata_dwc_device_port *hsdevp = NULL;
902 hsdevp = kzalloc(sizeof(*hsdevp), GFP_KERNEL);
903 if (!hsdevp) {
907 hsdevp->hsdev = hsdev;
909 err = sata_dwc_dma_get_channel(hsdevp);
918 hsdevp->cmd_issued[i] = SATA_DWC_CMD_ISSUED_NOT;
938 ap->private_data = hsdevp;
943 kfree(hsdevp);
951 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
956 dmaengine_terminate_sync(hsdevp->chan);
957 dma_release_channel(hsdevp->chan);
960 kfree(hsdevp);
975 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
980 hsdevp->cmd_issued[tag] = cmd_issued;
1017 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
1018 struct dma_async_tx_descriptor *desc = hsdevp->desc[tag];
1021 if (hsdevp->cmd_issued[tag] != SATA_DWC_CMD_ISSUED_NOT) {
1024 hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_TX;
1026 hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_RX;
1030 __func__, hsdevp->cmd_issued[tag], tag);
1056 dma_async_issue_pending(hsdevp->chan);
1079 struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
1095 hsdevp->desc[tag] = dma_dwc_xfer_setup(qc);
1096 if (!hsdevp->desc[tag])
1099 hsdevp->desc[tag] = NULL;