qmc_chan
ret = qmc_chan_read_submit(qmc_hdlc->qmc_chan, desc->dma_addr, desc->dma_size,
ret = qmc_chan_write_submit(qmc_hdlc->qmc_chan, desc->dma_addr, desc->dma_size,
struct qmc_chan *qmc_chan;
ret = qmc_chan_get_ts_info(qmc_hdlc->qmc_chan, &ts_info);
ret = qmc_chan_set_ts_info(qmc_hdlc->qmc_chan, &ts_info);
ret = qmc_chan_set_param(qmc_hdlc->qmc_chan, &chan_param);
ret = qmc_chan_start(qmc_hdlc->qmc_chan, QMC_CHAN_ALL);
qmc_chan_reset(qmc_hdlc->qmc_chan, QMC_CHAN_ALL);
qmc_chan_stop(qmc_hdlc->qmc_chan, QMC_CHAN_ALL);
qmc_chan_reset(qmc_hdlc->qmc_chan, QMC_CHAN_ALL);
qmc_hdlc->qmc_chan = devm_qmc_chan_get_bychild(dev, dev->of_node);
if (IS_ERR(qmc_hdlc->qmc_chan))
return dev_err_probe(dev, PTR_ERR(qmc_hdlc->qmc_chan),
ret = qmc_chan_get_info(qmc_hdlc->qmc_chan, &info);
ret = qmc_chan_get_ts_info(qmc_hdlc->qmc_chan, &ts_info);
static int qmc_chan_start_rx(struct qmc_chan *chan)
static int qmc_chan_start_tx(struct qmc_chan *chan)
int qmc_chan_start(struct qmc_chan *chan, int direction)
static void qmc_chan_reset_rx(struct qmc_chan *chan)
static void qmc_chan_reset_tx(struct qmc_chan *chan)
int qmc_chan_reset(struct qmc_chan *chan, int direction)
struct qmc_chan *chan;
struct qmc_chan *chan;
struct qmc_chan *chan;
static int qmc_setup_chan(struct qmc *qmc, struct qmc_chan *chan)
struct qmc_chan *chan;
struct qmc_chan *chan;
struct qmc_chan *chan;
static struct qmc_chan *qmc_chan_get_from_qmc(struct device_node *qmc_np, unsigned int chan_index)
struct qmc_chan *qmc_chan;
qmc_chan = qmc->chans[chan_index];
if (!qmc_chan) {
return qmc_chan;
struct qmc_chan *qmc_chan_get_byphandles_index(struct device_node *np,
struct qmc_chan *qmc_chan;
qmc_chan = qmc_chan_get_from_qmc(out_args.np, out_args.args[0]);
return qmc_chan;
struct qmc_chan *qmc_chan_get_bychild(struct device_node *np)
void qmc_chan_put(struct qmc_chan *chan)
struct qmc_chan **qmc_chan = res;
qmc_chan_put(*qmc_chan);
struct qmc_chan *devm_qmc_chan_get_byphandles_index(struct device *dev,
struct qmc_chan *qmc_chan;
struct qmc_chan **dr;
qmc_chan = qmc_chan_get_byphandles_index(np, phandles_name, index);
if (!IS_ERR(qmc_chan)) {
*dr = qmc_chan;
return qmc_chan;
struct qmc_chan *devm_qmc_chan_get_bychild(struct device *dev,
struct qmc_chan *qmc_chan;
struct qmc_chan **dr;
qmc_chan = qmc_chan_get_bychild(np);
if (!IS_ERR(qmc_chan)) {
*dr = qmc_chan;
return qmc_chan;
struct qmc_chan *chans[64];
int qmc_chan_get_info(struct qmc_chan *chan, struct qmc_chan_info *info)
int qmc_chan_get_ts_info(struct qmc_chan *chan, struct qmc_chan_ts_info *ts_info)
int qmc_chan_set_ts_info(struct qmc_chan *chan, const struct qmc_chan_ts_info *ts_info)
int qmc_chan_set_param(struct qmc_chan *chan, const struct qmc_chan_param *param)
int qmc_chan_write_submit(struct qmc_chan *chan, dma_addr_t addr, size_t length,
static void qmc_chan_write_done(struct qmc_chan *chan)
int qmc_chan_read_submit(struct qmc_chan *chan, dma_addr_t addr, size_t length,
static void qmc_chan_read_done(struct qmc_chan *chan)
static int qmc_chan_setup_tsa_64rxtx(struct qmc_chan *chan, const struct tsa_serial_info *info,
static int qmc_chan_setup_tsa_32rx(struct qmc_chan *chan, const struct tsa_serial_info *info,
static int qmc_chan_setup_tsa_32tx(struct qmc_chan *chan, const struct tsa_serial_info *info,
static int qmc_chan_setup_tsa_tx(struct qmc_chan *chan, bool enable)
static int qmc_chan_setup_tsa_rx(struct qmc_chan *chan, bool enable)
static int qmc_chan_cpm1_command(struct qmc_chan *chan, u8 qmc_opcode)
static int qmc_chan_qe_command(struct qmc_chan *chan, u32 cmd)
static int qmc_chan_stop_rx(struct qmc_chan *chan)
static int qmc_chan_stop_tx(struct qmc_chan *chan)
static int qmc_chan_start_rx(struct qmc_chan *chan);
int qmc_chan_stop(struct qmc_chan *chan, int direction)
static int qmc_setup_chan_trnsync(struct qmc *qmc, struct qmc_chan *chan)
int qmc_chan_read_submit(struct qmc_chan *chan, dma_addr_t addr, size_t length,
int qmc_chan_start(struct qmc_chan *chan, int direction);
int qmc_chan_stop(struct qmc_chan *chan, int direction);
int qmc_chan_reset(struct qmc_chan *chan, int direction);
struct qmc_chan;
struct qmc_chan *qmc_chan_get_byphandles_index(struct device_node *np,
struct qmc_chan *devm_qmc_chan_get_byphandles_index(struct device *dev,
static inline struct qmc_chan *qmc_chan_get_byphandle(struct device_node *np,
static inline struct qmc_chan *devm_qmc_chan_get_byphandle(struct device *dev,
struct qmc_chan *qmc_chan_get_bychild(struct device_node *np);
void qmc_chan_put(struct qmc_chan *chan);
struct qmc_chan *devm_qmc_chan_get_bychild(struct device *dev, struct device_node *np);
int qmc_chan_get_info(struct qmc_chan *chan, struct qmc_chan_info *info);
int qmc_chan_get_ts_info(struct qmc_chan *chan, struct qmc_chan_ts_info *ts_info);
int qmc_chan_set_ts_info(struct qmc_chan *chan, const struct qmc_chan_ts_info *ts_info);
int qmc_chan_set_param(struct qmc_chan *chan, const struct qmc_chan_param *param);
int qmc_chan_write_submit(struct qmc_chan *chan, dma_addr_t addr, size_t length,
struct qmc_chan **qmc_chans;