hsdevp 189 drivers/ata/sata_dwc_460ex.c static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag); hsdevp 214 drivers/ata/sata_dwc_460ex.c static int sata_dwc_dma_get_channel_old(struct sata_dwc_device_port *hsdevp) hsdevp 216 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device *hsdev = hsdevp->hsdev; hsdevp 226 drivers/ata/sata_dwc_460ex.c hsdevp->chan = dma_request_channel(mask, sata_dwc_dma_filter, hsdevp); hsdevp 227 drivers/ata/sata_dwc_460ex.c if (!hsdevp->chan) { hsdevp 335 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp; hsdevp 341 drivers/ata/sata_dwc_460ex.c hsdevp = HSDEVP_FROM_AP(ap); hsdevp 349 drivers/ata/sata_dwc_460ex.c hsdevp->dma_interrupt_count++; hsdevp 350 drivers/ata/sata_dwc_460ex.c sata_dwc_clear_dmacr(hsdevp, tag); hsdevp 352 drivers/ata/sata_dwc_460ex.c if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_NONE) { hsdevp 354 drivers/ata/sata_dwc_460ex.c tag, hsdevp->dma_pending[tag]); hsdevp 357 drivers/ata/sata_dwc_460ex.c if ((hsdevp->dma_interrupt_count % 2) == 0) hsdevp 366 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 385 drivers/ata/sata_dwc_460ex.c dmaengine_slave_config(hsdevp->chan, &sconf); hsdevp 388 drivers/ata/sata_dwc_460ex.c desc = dmaengine_prep_slave_sg(hsdevp->chan, qc->sg, qc->n_elem, hsdevp 455 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 471 drivers/ata/sata_dwc_460ex.c __func__, serror, intpr, status, hsdevp->dma_interrupt_count, hsdevp 472 drivers/ata/sata_dwc_460ex.c hsdevp->dma_pending[tag], hsdevp->cmd_issued[tag]); hsdevp 513 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp; hsdevp 522 drivers/ata/sata_dwc_460ex.c hsdevp = HSDEVP_FROM_AP(ap); hsdevp 540 drivers/ata/sata_dwc_460ex.c if (hsdevp->cmd_issued[tag] != SATA_DWC_CMD_ISSUED_PEND) hsdevp 580 drivers/ata/sata_dwc_460ex.c hsdevp->cmd_issued[tag] = SATA_DWC_CMD_ISSUED_NOT; hsdevp 599 drivers/ata/sata_dwc_460ex.c hsdevp->dma_interrupt_count++; hsdevp 600 drivers/ata/sata_dwc_460ex.c if (hsdevp->dma_pending[tag] == \ hsdevp 605 drivers/ata/sata_dwc_460ex.c hsdevp->dma_pending[tag]); hsdevp 608 drivers/ata/sata_dwc_460ex.c if ((hsdevp->dma_interrupt_count % 2) == 0) hsdevp 664 drivers/ata/sata_dwc_460ex.c hsdevp->cmd_issued[tag] = SATA_DWC_CMD_ISSUED_NOT; hsdevp 679 drivers/ata/sata_dwc_460ex.c hsdevp->dma_interrupt_count++; hsdevp 680 drivers/ata/sata_dwc_460ex.c if (hsdevp->dma_pending[tag] == \ hsdevp 684 drivers/ata/sata_dwc_460ex.c if ((hsdevp->dma_interrupt_count % 2) == 0) hsdevp 718 drivers/ata/sata_dwc_460ex.c static void sata_dwc_clear_dmacr(struct sata_dwc_device_port *hsdevp, u8 tag) hsdevp 720 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device *hsdev = HSDEV_FROM_HSDEVP(hsdevp); hsdevp 723 drivers/ata/sata_dwc_460ex.c if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_RX) { hsdevp 726 drivers/ata/sata_dwc_460ex.c } else if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_TX) { hsdevp 736 drivers/ata/sata_dwc_460ex.c __func__, tag, hsdevp->dma_pending[tag], dmacr); hsdevp 745 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 768 drivers/ata/sata_dwc_460ex.c if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_NONE) { hsdevp 775 drivers/ata/sata_dwc_460ex.c hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_NONE; hsdevp 790 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 794 drivers/ata/sata_dwc_460ex.c if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_TX) hsdevp 796 drivers/ata/sata_dwc_460ex.c else if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_RX) hsdevp 851 drivers/ata/sata_dwc_460ex.c static int sata_dwc_dma_get_channel(struct sata_dwc_device_port *hsdevp) hsdevp 853 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device *hsdev = hsdevp->hsdev; hsdevp 858 drivers/ata/sata_dwc_460ex.c return sata_dwc_dma_get_channel_old(hsdevp); hsdevp 861 drivers/ata/sata_dwc_460ex.c hsdevp->chan = dma_request_chan(dev, "sata-dma"); hsdevp 862 drivers/ata/sata_dwc_460ex.c if (IS_ERR(hsdevp->chan)) { hsdevp 864 drivers/ata/sata_dwc_460ex.c PTR_ERR(hsdevp->chan)); hsdevp 865 drivers/ata/sata_dwc_460ex.c return PTR_ERR(hsdevp->chan); hsdevp 881 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = NULL; hsdevp 898 drivers/ata/sata_dwc_460ex.c hsdevp = kzalloc(sizeof(*hsdevp), GFP_KERNEL); hsdevp 899 drivers/ata/sata_dwc_460ex.c if (!hsdevp) { hsdevp 903 drivers/ata/sata_dwc_460ex.c hsdevp->hsdev = hsdev; hsdevp 905 drivers/ata/sata_dwc_460ex.c err = sata_dwc_dma_get_channel(hsdevp); hsdevp 914 drivers/ata/sata_dwc_460ex.c hsdevp->cmd_issued[i] = SATA_DWC_CMD_ISSUED_NOT; hsdevp 934 drivers/ata/sata_dwc_460ex.c ap->private_data = hsdevp; hsdevp 939 drivers/ata/sata_dwc_460ex.c kfree(hsdevp); hsdevp 947 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 952 drivers/ata/sata_dwc_460ex.c dmaengine_terminate_sync(hsdevp->chan); hsdevp 953 drivers/ata/sata_dwc_460ex.c dma_release_channel(hsdevp->chan); hsdevp 956 drivers/ata/sata_dwc_460ex.c kfree(hsdevp); hsdevp 971 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 976 drivers/ata/sata_dwc_460ex.c hsdevp->cmd_issued[tag] = cmd_issued; hsdevp 1013 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 1014 drivers/ata/sata_dwc_460ex.c struct dma_async_tx_descriptor *desc = hsdevp->desc[tag]; hsdevp 1017 drivers/ata/sata_dwc_460ex.c if (hsdevp->cmd_issued[tag] != SATA_DWC_CMD_ISSUED_NOT) { hsdevp 1020 drivers/ata/sata_dwc_460ex.c hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_TX; hsdevp 1022 drivers/ata/sata_dwc_460ex.c hsdevp->dma_pending[tag] = SATA_DWC_DMA_PENDING_RX; hsdevp 1026 drivers/ata/sata_dwc_460ex.c __func__, hsdevp->cmd_issued[tag], tag); hsdevp 1052 drivers/ata/sata_dwc_460ex.c dma_async_issue_pending(hsdevp->chan); hsdevp 1075 drivers/ata/sata_dwc_460ex.c struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap); hsdevp 1091 drivers/ata/sata_dwc_460ex.c hsdevp->desc[tag] = dma_dwc_xfer_setup(qc); hsdevp 1092 drivers/ata/sata_dwc_460ex.c if (!hsdevp->desc[tag]) hsdevp 1095 drivers/ata/sata_dwc_460ex.c hsdevp->desc[tag] = NULL;