| /linux/drivers/dma/ |
| H A D | img-mdc-dma.c | 128 void (*enable_chan)(struct mdc_chan *mchan); 129 void (*disable_chan)(struct mdc_chan *mchan); 158 static inline u32 mdc_chan_readl(struct mdc_chan *mchan, u32 reg) in mdc_chan_readl() argument 160 return mdc_readl(mchan->mdma, mchan->chan_nr * 0x040 + reg); in mdc_chan_readl() 163 static inline void mdc_chan_writel(struct mdc_chan *mchan, u32 val, u32 reg) in mdc_chan_writel() argument 165 mdc_writel(mchan->mdma, val, mchan->chan_nr * 0x040 + reg); in mdc_chan_writel() 204 static void mdc_list_desc_config(struct mdc_chan *mchan, in mdc_list_desc_config() argument 209 struct mdc_dma *mdma = mchan->mdma; in mdc_list_desc_config() 216 (mchan->thread << MDC_READ_PORT_CONFIG_STHREAD_SHIFT) | in mdc_list_desc_config() 217 (mchan->thread << MDC_READ_PORT_CONFIG_RTHREAD_SHIFT) | in mdc_list_desc_config() [all …]
|
| H A D | mpc512x_dma.c | 241 struct mpc_dma_chan *mchan = dma_chan_to_mpc_dma_chan(c); in dma_chan_to_mpc_dma() local 243 return container_of(mchan, struct mpc_dma, channels[c->chan_id]); in dma_chan_to_mpc_dma() 254 static void mpc_dma_execute(struct mpc_dma_chan *mchan) in mpc_dma_execute() argument 256 struct mpc_dma *mdma = dma_chan_to_mpc_dma(&mchan->chan); in mpc_dma_execute() 260 int cid = mchan->chan.chan_id; in mpc_dma_execute() 262 while (!list_empty(&mchan->queued)) { in mpc_dma_execute() 263 mdesc = list_first_entry(&mchan->queued, in mpc_dma_execute() 272 if (list_empty(&mchan->active)) in mpc_dma_execute() 273 list_move_tail(&mdesc->node, &mchan->active); in mpc_dma_execute() 276 list_move_tail(&mdesc->node, &mchan->active); in mpc_dma_execute() [all …]
|
| /linux/drivers/mailbox/ |
| H A D | riscv-sbi-mpxy-mbox.c | 405 static void mpxy_mbox_send_rpmi_data(struct mpxy_mbox_channel *mchan, in mpxy_mbox_send_rpmi_data() argument 413 msg->attr.value = mchan->attrs.msg_proto_version; in mpxy_mbox_send_rpmi_data() 416 msg->attr.value = mchan->max_xfer_len; in mpxy_mbox_send_rpmi_data() 419 msg->attr.value = mchan->rpmi_attrs.servicegroup_id; in mpxy_mbox_send_rpmi_data() 422 msg->attr.value = mchan->rpmi_attrs.servicegroup_version; in mpxy_mbox_send_rpmi_data() 425 msg->attr.value = mchan->rpmi_attrs.impl_id; in mpxy_mbox_send_rpmi_data() 428 msg->attr.value = mchan->rpmi_attrs.impl_version; in mpxy_mbox_send_rpmi_data() 441 (msg->data.request && msg->data.request_len > mchan->max_xfer_len) || in mpxy_mbox_send_rpmi_data() 446 if (!(mchan->attrs.capability & SBI_MPXY_CHAN_CAP_SEND_WITH_RESP)) { in mpxy_mbox_send_rpmi_data() 450 msg->error = mpxy_send_message_with_resp(mchan->channel_id, in mpxy_mbox_send_rpmi_data() [all …]
|
| H A D | hi6220-mailbox.c | 87 struct hi6220_mbox_chan mchan[] __counted_by(chan_num); 112 struct hi6220_mbox_chan *mchan = chan->con_priv; in hi6220_mbox_last_tx_done() local 113 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_last_tx_done() 119 state = readl(mbox->base + MBOX_MODE_REG(mchan->slot)); in hi6220_mbox_last_tx_done() 125 struct hi6220_mbox_chan *mchan = chan->con_priv; in hi6220_mbox_send_data() local 126 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_send_data() 127 unsigned int slot = mchan->slot; in hi6220_mbox_send_data() 132 mchan->dir = MBOX_TX; in hi6220_mbox_send_data() 145 writel(BIT(mchan->dst_irq), DST_INT_RAW_REG(mbox->ipc)); in hi6220_mbox_send_data() 152 struct hi6220_mbox_chan *mchan; in hi6220_mbox_interrupt() local [all …]
|
| H A D | hi3660-mailbox.c | 74 struct hi3660_chan_info mchan[MBOX_CHAN_MAX]; member 87 struct hi3660_chan_info *mchan = &mbox->mchan[ch]; in hi3660_mbox_check_state() local 105 writel(BIT(mchan->ack_irq), base + MBOX_ICLR_REG); in hi3660_mbox_check_state() 135 struct hi3660_chan_info *mchan = &mbox->mchan[ch]; in hi3660_mbox_acquire_channel() local 142 writel(BIT(mchan->ack_irq), base + MBOX_SRC_REG); in hi3660_mbox_acquire_channel() 146 if (val & BIT(mchan->ack_irq)) in hi3660_mbox_acquire_channel() 176 struct hi3660_chan_info *mchan = &mbox->mchan[ch]; in hi3660_mbox_send_data() local 187 writel_relaxed(~BIT(mchan->dst_irq), base + MBOX_IMASK_REG); in hi3660_mbox_send_data() 190 writel_relaxed(BIT(mchan->dst_irq), base + MBOX_DST_REG); in hi3660_mbox_send_data() 200 writel(BIT(mchan->ack_irq), base + MBOX_SEND_REG); in hi3660_mbox_send_data() [all …]
|
| H A D | qcom-ipcc.c | 57 struct qcom_ipcc_chan_info *mchan; member 151 struct qcom_ipcc_chan_info *mchan = chan->con_priv; in qcom_ipcc_mbox_send_data() local 154 hwirq = qcom_ipcc_get_hwirq(mchan->client_id, mchan->signal_id); in qcom_ipcc_mbox_send_data() 169 struct qcom_ipcc_chan_info *mchan; in qcom_ipcc_mbox_xlate() local 181 mchan = chan->con_priv; in qcom_ipcc_mbox_xlate() 183 if (!mchan) { in qcom_ipcc_mbox_xlate() 187 } else if (mchan->client_id == ph->args[0] && in qcom_ipcc_mbox_xlate() 188 mchan->signal_id == ph->args[1]) { in qcom_ipcc_mbox_xlate() 198 mchan = devm_kzalloc(dev, sizeof(*mchan), GFP_KERNEL); in qcom_ipcc_mbox_xlate() 199 if (!mchan) in qcom_ipcc_mbox_xlate() [all …]
|
| H A D | pcc.c | 396 chan = pchan->chan.mchan; in pcc_mbox_request_channel() 433 struct mbox_chan *chan = pchan->mchan; in pcc_mbox_free_channel() 860 pchan->chan.mchan = &pcc_mbox_channels[i]; in pcc_mbox_probe()
|
| /linux/drivers/dma/qcom/ |
| H A D | hidma.c | 106 static void hidma_process_completed(struct hidma_chan *mchan) in hidma_process_completed() argument 108 struct dma_device *ddev = mchan->chan.device; in hidma_process_completed() 120 spin_lock_irqsave(&mchan->lock, irqflags); in hidma_process_completed() 121 list_splice_tail_init(&mchan->completed, &list); in hidma_process_completed() 122 spin_unlock_irqrestore(&mchan->lock, irqflags); in hidma_process_completed() 135 spin_lock_irqsave(&mchan->lock, irqflags); in hidma_process_completed() 137 mchan->last_success = last_cookie; in hidma_process_completed() 144 spin_unlock_irqrestore(&mchan->lock, irqflags); in hidma_process_completed() 150 spin_lock_irqsave(&mchan->lock, irqflags); in hidma_process_completed() 151 list_move(&mdesc->node, &mchan->free); in hidma_process_completed() [all …]
|
| H A D | hidma_dbg.c | 86 struct hidma_chan *mchan = s->private; in hidma_chan_show() local 88 struct hidma_dev *dmadev = mchan->dmadev; in hidma_chan_show() 91 seq_printf(s, "paused=%u\n", mchan->paused); in hidma_chan_show() 92 seq_printf(s, "dma_sig=%u\n", mchan->dma_sig); in hidma_chan_show() 94 list_for_each_entry(mdesc, &mchan->prepared, node) in hidma_chan_show() 95 hidma_ll_chstats(s, mchan->dmadev->lldev, mdesc->tre_ch); in hidma_chan_show() 98 list_for_each_entry(mdesc, &mchan->active, node) in hidma_chan_show() 99 hidma_ll_chstats(s, mchan->dmadev->lldev, mdesc->tre_ch); in hidma_chan_show() 102 list_for_each_entry(mdesc, &mchan->completed, node) in hidma_chan_show() 103 hidma_ll_chstats(s, mchan->dmadev->lldev, mdesc->tre_ch); in hidma_chan_show() [all …]
|
| /linux/drivers/acpi/ |
| H A D | acpi_pcc.c | 77 if (!pcc_chan->mchan->mbox->txdone_irq) { in acpi_pcc_address_space_setup() 109 ret = mbox_send_message(data->pcc_chan->mchan, NULL); in acpi_pcc_address_space_handler() 126 mbox_chan_txdone(data->pcc_chan->mchan, ret); in acpi_pcc_address_space_handler()
|
| H A D | cppc_acpi.c | 415 ret = mbox_send_message(pcc_ss_data->pcc_channel->mchan, &cmd); in send_pcc_cmd() 428 if (pcc_ss_data->pcc_channel->mchan->mbox->txdone_irq) in send_pcc_cmd() 429 mbox_chan_txdone(pcc_ss_data->pcc_channel->mchan, ret); in send_pcc_cmd() 431 mbox_client_txdone(pcc_ss_data->pcc_channel->mchan, ret); in send_pcc_cmd()
|
| /linux/drivers/devfreq/ |
| H A D | hisi_uncore_freq.c | 221 rc = mbox_send_message(pchan->mchan, &cmd); in hisi_uncore_cmd_send() 246 mbox_client_txdone(pchan->mchan, rc); in hisi_uncore_cmd_send()
|
| /linux/drivers/i2c/busses/ |
| H A D | i2c-xgene-slimpro.c | 484 ctx->mbox_chan = pcc_chan->mchan; in xgene_slimpro_i2c_probe()
|
| /linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/ |
| H A D | cfg80211.c | 7503 bool mon_flag, mbss, p2p, rsdb, mchan; in brcmf_setup_ifmodes() local 7510 mchan = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MCHAN); in brcmf_setup_ifmodes() 7534 combo[c].num_different_channels = 1 + (rsdb || (p2p && mchan)); in brcmf_setup_ifmodes() 7535 c0_limits[i].max = 1 + (p2p && mchan); in brcmf_setup_ifmodes()
|
| /linux/ |
| H A D | MAINTAINERS | 5624 M: Michael Chan <mchan@broadcom.com>
|