acd 166 arch/arm/mach-omap2/soc.h IS_DRA_SUBCLASS_PACKAGE(76x, acd, 3) acd 42 drivers/staging/kpc2000/kpc_dma/dma.c dev_dbg(&eng->pldev->dev, "Handling completed descriptor %p (acd = %p)\n", cur, cur->acd); acd 58 drivers/staging/kpc2000/kpc_dma/dma.c if (cur->acd) acd 59 drivers/staging/kpc2000/kpc_dma/dma.c transfer_complete_cb(cur->acd, eng->accumulated_bytes, eng->accumulated_flags | ACD_FLAG_DONE); acd 261 drivers/staging/kpc2000/kpc_dma/dma.c desc->acd = NULL; acd 40 drivers/staging/kpc2000/kpc_dma/fileops.c struct aio_cb_data *acd; acd 56 drivers/staging/kpc2000/kpc_dma/fileops.c acd = kzalloc(sizeof(*acd), GFP_KERNEL); acd 57 drivers/staging/kpc2000/kpc_dma/fileops.c if (!acd) { acd 61 drivers/staging/kpc2000/kpc_dma/fileops.c memset(acd, 0x66, sizeof(struct aio_cb_data)); acd 63 drivers/staging/kpc2000/kpc_dma/fileops.c acd->priv = priv; acd 64 drivers/staging/kpc2000/kpc_dma/fileops.c acd->ldev = priv->ldev; acd 65 drivers/staging/kpc2000/kpc_dma/fileops.c acd->cpl = &done; acd 66 drivers/staging/kpc2000/kpc_dma/fileops.c acd->flags = 0; acd 67 drivers/staging/kpc2000/kpc_dma/fileops.c acd->len = iov_len; acd 68 drivers/staging/kpc2000/kpc_dma/fileops.c acd->page_count = count_pages(iov_base, iov_len); acd 71 drivers/staging/kpc2000/kpc_dma/fileops.c acd->user_pages = kzalloc(sizeof(struct page *) * acd->page_count, GFP_KERNEL); acd 72 drivers/staging/kpc2000/kpc_dma/fileops.c if (!acd->user_pages) { acd 80 drivers/staging/kpc2000/kpc_dma/fileops.c rv = get_user_pages(iov_base, acd->page_count, FOLL_TOUCH | FOLL_WRITE | FOLL_GET, acd->user_pages, NULL); acd 82 drivers/staging/kpc2000/kpc_dma/fileops.c if (rv != acd->page_count) { acd 88 drivers/staging/kpc2000/kpc_dma/fileops.c rv = sg_alloc_table_from_pages(&acd->sgt, acd->user_pages, acd->page_count, iov_base & (PAGE_SIZE-1), iov_len, GFP_KERNEL); acd 95 drivers/staging/kpc2000/kpc_dma/fileops.c acd->mapped_entry_count = dma_map_sg(&ldev->pldev->dev, acd->sgt.sgl, acd->sgt.nents, ldev->dir); acd 96 drivers/staging/kpc2000/kpc_dma/fileops.c if (acd->mapped_entry_count <= 0) { acd 97 drivers/staging/kpc2000/kpc_dma/fileops.c dev_err(&priv->ldev->pldev->dev, "Couldn't dma_map_sg (%d)\n", acd->mapped_entry_count); acd 102 drivers/staging/kpc2000/kpc_dma/fileops.c for_each_sg(acd->sgt.sgl, sg, acd->mapped_entry_count, i) { acd 110 drivers/staging/kpc2000/kpc_dma/fileops.c dev_dbg(&priv->ldev->pldev->dev, " mapped_entry_count = %d num_descrs_needed = %d num_descrs_avail = %d\n", acd->mapped_entry_count, desc_needed, num_descrs_avail); acd 112 drivers/staging/kpc2000/kpc_dma/fileops.c dev_warn(&priv->ldev->pldev->dev, " mapped_entry_count = %d num_descrs_needed = %d num_descrs_avail = %d TOO MANY to ever complete!\n", acd->mapped_entry_count, desc_needed, num_descrs_avail); acd 117 drivers/staging/kpc2000/kpc_dma/fileops.c dev_warn(&priv->ldev->pldev->dev, " mapped_entry_count = %d num_descrs_needed = %d num_descrs_avail = %d Too many to complete right now.\n", acd->mapped_entry_count, desc_needed, num_descrs_avail); acd 124 drivers/staging/kpc2000/kpc_dma/fileops.c card_addr = acd->priv->card_addr; acd 125 drivers/staging/kpc2000/kpc_dma/fileops.c for_each_sg(acd->sgt.sgl, sg, acd->mapped_entry_count, i) { acd 141 drivers/staging/kpc2000/kpc_dma/fileops.c if (i == acd->mapped_entry_count-1 && p == pcnt-1) acd 152 drivers/staging/kpc2000/kpc_dma/fileops.c user_ctl = acd->priv->user_ctl; acd 153 drivers/staging/kpc2000/kpc_dma/fileops.c if (i == acd->mapped_entry_count-1 && p == pcnt-1) { acd 154 drivers/staging/kpc2000/kpc_dma/fileops.c user_ctl = acd->priv->user_ctl_last; acd 159 drivers/staging/kpc2000/kpc_dma/fileops.c if (i == acd->mapped_entry_count-1 && p == pcnt-1) acd 160 drivers/staging/kpc2000/kpc_dma/fileops.c desc->acd = acd; acd 162 drivers/staging/kpc2000/kpc_dma/fileops.c dev_dbg(&priv->ldev->pldev->dev, " Filled descriptor %p (acd = %p)\n", desc, desc->acd); acd 180 drivers/staging/kpc2000/kpc_dma/fileops.c acd->cpl = NULL; acd 182 drivers/staging/kpc2000/kpc_dma/fileops.c rv = acd->len; acd 183 drivers/staging/kpc2000/kpc_dma/fileops.c kfree(acd); acd 189 drivers/staging/kpc2000/kpc_dma/fileops.c dma_unmap_sg(&ldev->pldev->dev, acd->sgt.sgl, acd->sgt.nents, ldev->dir); acd 190 drivers/staging/kpc2000/kpc_dma/fileops.c sg_free_table(&acd->sgt); acd 193 drivers/staging/kpc2000/kpc_dma/fileops.c for (i = 0 ; i < acd->page_count ; i++) { acd 194 drivers/staging/kpc2000/kpc_dma/fileops.c put_page(acd->user_pages[i]); acd 197 drivers/staging/kpc2000/kpc_dma/fileops.c kfree(acd->user_pages); acd 199 drivers/staging/kpc2000/kpc_dma/fileops.c kfree(acd); acd 204 drivers/staging/kpc2000/kpc_dma/fileops.c void transfer_complete_cb(struct aio_cb_data *acd, size_t xfr_count, u32 flags) acd 208 drivers/staging/kpc2000/kpc_dma/fileops.c BUG_ON(acd == NULL); acd 209 drivers/staging/kpc2000/kpc_dma/fileops.c BUG_ON(acd->user_pages == NULL); acd 210 drivers/staging/kpc2000/kpc_dma/fileops.c BUG_ON(acd->sgt.sgl == NULL); acd 211 drivers/staging/kpc2000/kpc_dma/fileops.c BUG_ON(acd->ldev == NULL); acd 212 drivers/staging/kpc2000/kpc_dma/fileops.c BUG_ON(acd->ldev->pldev == NULL); acd 214 drivers/staging/kpc2000/kpc_dma/fileops.c for (i = 0 ; i < acd->page_count ; i++) { acd 215 drivers/staging/kpc2000/kpc_dma/fileops.c if (!PageReserved(acd->user_pages[i])) { acd 216 drivers/staging/kpc2000/kpc_dma/fileops.c set_page_dirty(acd->user_pages[i]); acd 220 drivers/staging/kpc2000/kpc_dma/fileops.c dma_unmap_sg(&acd->ldev->pldev->dev, acd->sgt.sgl, acd->sgt.nents, acd->ldev->dir); acd 222 drivers/staging/kpc2000/kpc_dma/fileops.c for (i = 0 ; i < acd->page_count ; i++) { acd 223 drivers/staging/kpc2000/kpc_dma/fileops.c put_page(acd->user_pages[i]); acd 226 drivers/staging/kpc2000/kpc_dma/fileops.c sg_free_table(&acd->sgt); acd 228 drivers/staging/kpc2000/kpc_dma/fileops.c kfree(acd->user_pages); acd 230 drivers/staging/kpc2000/kpc_dma/fileops.c acd->flags = flags; acd 232 drivers/staging/kpc2000/kpc_dma/fileops.c if (acd->cpl) { acd 233 drivers/staging/kpc2000/kpc_dma/fileops.c complete(acd->cpl); acd 239 drivers/staging/kpc2000/kpc_dma/fileops.c kfree(acd); acd 281 drivers/staging/kpc2000/kpc_dma/fileops.c dev_dbg(&eng->pldev->dev, "Aborting descriptor %p (acd = %p)\n", cur, cur->acd); acd 283 drivers/staging/kpc2000/kpc_dma/fileops.c if (cur->acd) acd 284 drivers/staging/kpc2000/kpc_dma/fileops.c transfer_complete_cb(cur->acd, 0, ACD_FLAG_ABORT); acd 123 drivers/staging/kpc2000/kpc_dma/kpc_dma_driver.h struct aio_cb_data *acd; acd 219 drivers/staging/kpc2000/kpc_dma/kpc_dma_driver.h void transfer_complete_cb(struct aio_cb_data *acd, size_t xfr_count, u32 flags);