channel_program
static struct ccwchain *ccwchain_alloc(struct channel_program *cp, int len)
static int ccwchain_calc_length(u64 iova, struct channel_program *cp)
static int tic_target_chain_exists(struct ccw1 *tic, struct channel_program *cp)
struct channel_program *cp);
static int ccwchain_handle_ccw(dma32_t cda, struct channel_program *cp)
static int ccwchain_loop_tic(struct ccwchain *chain, struct channel_program *cp)
struct channel_program *cp)
static dma64_t *get_guest_idal(struct ccw1 *ccw, struct channel_program *cp, int idaw_nr)
struct channel_program *cp)
struct channel_program *cp)
struct channel_program *cp)
int cp_init(struct channel_program *cp, union orb *orb)
void cp_free(struct channel_program *cp)
int cp_prefetch(struct channel_program *cp)
union orb *cp_get_orb(struct channel_program *cp, struct subchannel *sch)
void cp_update_scsw(struct channel_program *cp, union scsw *scsw)
bool cp_iova_pinned(struct channel_program *cp, u64 iova, u64 length)
int cp_init(struct channel_program *cp, union orb *orb);
void cp_free(struct channel_program *cp);
int cp_prefetch(struct channel_program *cp);
union orb *cp_get_orb(struct channel_program *cp, struct subchannel *sch);
void cp_update_scsw(struct channel_program *cp, union scsw *scsw);
bool cp_iova_pinned(struct channel_program *cp, u64 iova, u64 length);
struct channel_program cp;
controller->controller.channel_program = cppi41_dma_channel_program;
int (*channel_program)(struct dma_channel *channel,
use_dma = use_dma && c->channel_program(
use_dma = use_dma && c->channel_program(
use_dma = use_dma && c->channel_program(
if (c->channel_program(channel,
use_dma = c->channel_program(
if (c->channel_program(channel,
ret = c->channel_program(channel,
return dma->channel_program(channel, qh->maxpacket, 0,
done = dma->channel_program(channel, qh->maxpacket,
if (!dma->channel_program(channel, pkt_size, mode,
dma_ok = dma_controller->channel_program(dma_channel,
controller->controller.channel_program = dma_channel_program;
tusb_dma->controller.channel_program = tusb_omap_dma_program;
controller->controller.channel_program = ux500_dma_channel_program;