mxs_chan 205 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 206 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 207 drivers/dma/mxs-dma.c int chan_id = mxs_chan->chan.chan_id; mxs_chan 216 drivers/dma/mxs-dma.c if (mxs_chan->flags & MXS_DMA_USE_SEMAPHORE && mxs_chan 217 drivers/dma/mxs-dma.c mxs_chan->flags & MXS_DMA_SG_LOOP) { mxs_chan 218 drivers/dma/mxs-dma.c mxs_chan->reset = true; mxs_chan 241 drivers/dma/mxs-dma.c dev_err(&mxs_chan->mxs_dma->pdev->dev, mxs_chan 249 drivers/dma/mxs-dma.c mxs_chan->status = DMA_COMPLETE; mxs_chan 254 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 255 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 256 drivers/dma/mxs-dma.c int chan_id = mxs_chan->chan.chan_id; mxs_chan 259 drivers/dma/mxs-dma.c writel(mxs_chan->ccw_phys, mxs_chan 263 drivers/dma/mxs-dma.c if (mxs_chan->flags & MXS_DMA_USE_SEMAPHORE && mxs_chan 264 drivers/dma/mxs-dma.c mxs_chan->flags & MXS_DMA_SG_LOOP) { mxs_chan 272 drivers/dma/mxs-dma.c mxs_chan->reset = false; mxs_chan 277 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 279 drivers/dma/mxs-dma.c mxs_chan->status = DMA_COMPLETE; mxs_chan 284 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 285 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 286 drivers/dma/mxs-dma.c int chan_id = mxs_chan->chan.chan_id; mxs_chan 296 drivers/dma/mxs-dma.c mxs_chan->status = DMA_PAUSED; mxs_chan 302 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 303 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 304 drivers/dma/mxs-dma.c int chan_id = mxs_chan->chan.chan_id; mxs_chan 314 drivers/dma/mxs-dma.c mxs_chan->status = DMA_IN_PROGRESS; mxs_chan 325 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = (struct mxs_dma_chan *) data; mxs_chan 327 drivers/dma/mxs-dma.c dmaengine_desc_get_callback_invoke(&mxs_chan->desc, NULL); mxs_chan 344 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan; mxs_chan 384 drivers/dma/mxs-dma.c mxs_chan = &mxs_dma->mxs_chans[chan]; mxs_chan 390 drivers/dma/mxs-dma.c mxs_chan->status = DMA_ERROR; mxs_chan 391 drivers/dma/mxs-dma.c mxs_dma_reset_chan(&mxs_chan->chan); mxs_chan 392 drivers/dma/mxs-dma.c } else if (mxs_chan->status != DMA_COMPLETE) { mxs_chan 393 drivers/dma/mxs-dma.c if (mxs_chan->flags & MXS_DMA_SG_LOOP) { mxs_chan 394 drivers/dma/mxs-dma.c mxs_chan->status = DMA_IN_PROGRESS; mxs_chan 395 drivers/dma/mxs-dma.c if (mxs_chan->flags & MXS_DMA_USE_SEMAPHORE) mxs_chan 399 drivers/dma/mxs-dma.c mxs_chan->status = DMA_COMPLETE; mxs_chan 403 drivers/dma/mxs-dma.c if (mxs_chan->status == DMA_COMPLETE) { mxs_chan 404 drivers/dma/mxs-dma.c if (mxs_chan->reset) mxs_chan 406 drivers/dma/mxs-dma.c dma_cookie_complete(&mxs_chan->desc); mxs_chan 410 drivers/dma/mxs-dma.c tasklet_schedule(&mxs_chan->tasklet); mxs_chan 417 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 418 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 421 drivers/dma/mxs-dma.c mxs_chan->ccw = dma_alloc_coherent(mxs_dma->dma_device.dev, mxs_chan 423 drivers/dma/mxs-dma.c &mxs_chan->ccw_phys, GFP_KERNEL); mxs_chan 424 drivers/dma/mxs-dma.c if (!mxs_chan->ccw) { mxs_chan 429 drivers/dma/mxs-dma.c ret = request_irq(mxs_chan->chan_irq, mxs_dma_int_handler, mxs_chan 440 drivers/dma/mxs-dma.c dma_async_tx_descriptor_init(&mxs_chan->desc, chan); mxs_chan 441 drivers/dma/mxs-dma.c mxs_chan->desc.tx_submit = mxs_dma_tx_submit; mxs_chan 444 drivers/dma/mxs-dma.c async_tx_ack(&mxs_chan->desc); mxs_chan 449 drivers/dma/mxs-dma.c free_irq(mxs_chan->chan_irq, mxs_dma); mxs_chan 452 drivers/dma/mxs-dma.c mxs_chan->ccw, mxs_chan->ccw_phys); mxs_chan 459 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 460 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 464 drivers/dma/mxs-dma.c free_irq(mxs_chan->chan_irq, mxs_dma); mxs_chan 467 drivers/dma/mxs-dma.c mxs_chan->ccw, mxs_chan->ccw_phys); mxs_chan 499 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 500 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 507 drivers/dma/mxs-dma.c if (mxs_chan->status == DMA_IN_PROGRESS) mxs_chan 508 drivers/dma/mxs-dma.c idx = mxs_chan->desc_count; mxs_chan 517 drivers/dma/mxs-dma.c mxs_chan->status = DMA_IN_PROGRESS; mxs_chan 518 drivers/dma/mxs-dma.c mxs_chan->flags = 0; mxs_chan 526 drivers/dma/mxs-dma.c ccw = &mxs_chan->ccw[idx - 1]; mxs_chan 527 drivers/dma/mxs-dma.c ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * idx; mxs_chan 536 drivers/dma/mxs-dma.c ccw = &mxs_chan->ccw[idx++]; mxs_chan 561 drivers/dma/mxs-dma.c ccw = &mxs_chan->ccw[idx++]; mxs_chan 563 drivers/dma/mxs-dma.c ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * idx; mxs_chan 584 drivers/dma/mxs-dma.c mxs_chan->desc_count = idx; mxs_chan 586 drivers/dma/mxs-dma.c return &mxs_chan->desc; mxs_chan 589 drivers/dma/mxs-dma.c mxs_chan->status = DMA_ERROR; mxs_chan 598 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 599 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 603 drivers/dma/mxs-dma.c if (mxs_chan->status == DMA_IN_PROGRESS) mxs_chan 606 drivers/dma/mxs-dma.c mxs_chan->status = DMA_IN_PROGRESS; mxs_chan 607 drivers/dma/mxs-dma.c mxs_chan->flags |= MXS_DMA_SG_LOOP; mxs_chan 608 drivers/dma/mxs-dma.c mxs_chan->flags |= MXS_DMA_USE_SEMAPHORE; mxs_chan 625 drivers/dma/mxs-dma.c struct mxs_dma_ccw *ccw = &mxs_chan->ccw[i]; mxs_chan 628 drivers/dma/mxs-dma.c ccw->next = mxs_chan->ccw_phys; mxs_chan 630 drivers/dma/mxs-dma.c ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * (i + 1); mxs_chan 649 drivers/dma/mxs-dma.c mxs_chan->desc_count = i; mxs_chan 651 drivers/dma/mxs-dma.c return &mxs_chan->desc; mxs_chan 654 drivers/dma/mxs-dma.c mxs_chan->status = DMA_ERROR; mxs_chan 669 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 670 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 673 drivers/dma/mxs-dma.c if (mxs_chan->status == DMA_IN_PROGRESS && mxs_chan 674 drivers/dma/mxs-dma.c mxs_chan->flags & MXS_DMA_SG_LOOP) { mxs_chan 678 drivers/dma/mxs-dma.c last_ccw = &mxs_chan->ccw[mxs_chan->desc_count - 1]; mxs_chan 689 drivers/dma/mxs-dma.c return mxs_chan->status; mxs_chan 728 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); mxs_chan 729 drivers/dma/mxs-dma.c struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; mxs_chan 739 drivers/dma/mxs-dma.c mxs_chan->chan_irq = chan_irq; mxs_chan 809 drivers/dma/mxs-dma.c struct mxs_dma_chan *mxs_chan = &mxs_dma->mxs_chans[i]; mxs_chan 811 drivers/dma/mxs-dma.c mxs_chan->mxs_dma = mxs_dma; mxs_chan 812 drivers/dma/mxs-dma.c mxs_chan->chan.device = &mxs_dma->dma_device; mxs_chan 813 drivers/dma/mxs-dma.c dma_cookie_init(&mxs_chan->chan); mxs_chan 815 drivers/dma/mxs-dma.c tasklet_init(&mxs_chan->tasklet, mxs_dma_tasklet, mxs_chan 816 drivers/dma/mxs-dma.c (unsigned long) mxs_chan); mxs_chan 820 drivers/dma/mxs-dma.c list_add_tail(&mxs_chan->chan.device_node,