| /kernel/linux/linux-5.10/drivers/visorbus/ |
| D | visorchannel.c | 8 * This provides s-Par channel communication primitives, which are 9 * independent of the mechanism used to access the channel data. 36 * channel creator knows if more than one thread will be inserting or 48 void visorchannel_destroy(struct visorchannel *channel) in visorchannel_destroy() argument 50 if (!channel) in visorchannel_destroy() 53 if (channel->mapped) { in visorchannel_destroy() 54 memunmap(channel->mapped); in visorchannel_destroy() 55 if (channel->requested) in visorchannel_destroy() 56 release_mem_region(channel->physaddr, channel->nbytes); in visorchannel_destroy() 58 kfree(channel); in visorchannel_destroy() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/sfc/ |
| D | efx_channels.c | 47 /* This is the weight assigned to each of the (per-channel) virtual 56 int efx_channel_dummy_op_int(struct efx_channel *channel) in efx_channel_dummy_op_int() argument 61 void efx_channel_dummy_op_void(struct efx_channel *channel) in efx_channel_dummy_op_void() argument 163 * We need a channel per event queue, plus a VI per tx queue. in efx_allocate_msix_channels() 262 /* Fall back to single channel MSI */ in efx_probe_interrupts() 352 struct efx_channel *channel; in efx_set_interrupt_affinity() local 355 efx_for_each_channel(channel, efx) { in efx_set_interrupt_affinity() 356 cpu = cpumask_local_spread(channel->channel, in efx_set_interrupt_affinity() 358 irq_set_affinity_hint(channel->irq, cpumask_of(cpu)); in efx_set_interrupt_affinity() 364 struct efx_channel *channel; in efx_clear_interrupt_affinity() local [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/sfc/siena/ |
| D | efx_channels.c | 157 * We need a channel per event queue, plus a VI per tx queue. in efx_allocate_msix_channels() 274 /* Fall back to single channel MSI */ in efx_siena_probe_interrupts() 367 struct efx_channel *channel; in efx_siena_set_interrupt_affinity() local 375 efx_for_each_channel(channel, efx) { in efx_siena_set_interrupt_affinity() 379 irq_set_affinity_hint(channel->irq, cpumask_of(cpu)); in efx_siena_set_interrupt_affinity() 385 struct efx_channel *channel; in efx_siena_clear_interrupt_affinity() local 387 efx_for_each_channel(channel, efx) in efx_siena_clear_interrupt_affinity() 388 irq_set_affinity_hint(channel->irq, NULL); in efx_siena_clear_interrupt_affinity() 404 struct efx_channel *channel; in efx_siena_remove_interrupts() local 407 efx_for_each_channel(channel, efx) in efx_siena_remove_interrupts() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
| D | efx_channels.c | 156 * We need a channel per event queue, plus a VI per tx queue. in efx_allocate_msix_channels() 273 /* Fall back to single channel MSI */ in efx_probe_interrupts() 366 struct efx_channel *channel; in efx_set_interrupt_affinity() local 374 efx_for_each_channel(channel, efx) { in efx_set_interrupt_affinity() 378 irq_set_affinity_hint(channel->irq, cpumask_of(cpu)); in efx_set_interrupt_affinity() 384 struct efx_channel *channel; in efx_clear_interrupt_affinity() local 386 efx_for_each_channel(channel, efx) in efx_clear_interrupt_affinity() 387 irq_set_affinity_hint(channel->irq, NULL); in efx_clear_interrupt_affinity() 403 struct efx_channel *channel; in efx_remove_interrupts() local 406 efx_for_each_channel(channel, efx) in efx_remove_interrupts() [all …]
|
| /kernel/linux/linux-6.6/drivers/rpmsg/ |
| D | qcom_smd.c | 30 * Each channel consists of a control item (channel info) and a ring buffer 31 * pair. The channel info carry information related to channel state, flow 37 * Upon creating a new channel the remote processor allocates channel info and 39 * interrupt is sent to the other end of the channel and a scan for new 40 * channels should be done. A channel never goes away, it will only change 44 * channel by setting the state of its end of the channel to "opening" and 46 * consume the channel. Upon finding a consumer we finish the handshake and the 47 * channel is up. 49 * Upon closing a channel, the remote processor will update the state of its 50 * end of the channel and signal us, we will then unregister any attached [all …]
|
| D | qcom_glink_native.c | 63 * @in_use: To mark if intent is already in use for the channel 88 * @lcids: idr of all channels with a known local channel id 89 * @rcids: idr of all channels with a known remote channel id 128 * struct glink_channel - internal representation of a channel 130 * @ept: rpmsg endpoint this channel is associated with 132 * @refcount: refcount for the channel object 134 * @name: unique channel name/identifier 135 * @lcid: channel id, in local space 136 * @rcid: channel id, in remote space 217 struct glink_channel *channel; in qcom_glink_alloc_channel() local [all …]
|
| /kernel/linux/linux-5.10/drivers/rpmsg/ |
| D | qcom_smd.c | 30 * Each channel consists of a control item (channel info) and a ring buffer 31 * pair. The channel info carry information related to channel state, flow 37 * Upon creating a new channel the remote processor allocates channel info and 39 * interrupt is sent to the other end of the channel and a scan for new 40 * channels should be done. A channel never goes away, it will only change 44 * channel by setting the state of its end of the channel to "opening" and 46 * consume the channel. Upon finding a consumer we finish the handshake and the 47 * channel is up. 49 * Upon closing a channel, the remote processor will update the state of its 50 * end of the channel and signal us, we will then unregister any attached [all …]
|
| D | qcom_glink_native.c | 63 * @in_use: To mark if intent is already in use for the channel 82 * @mbox_chan: mailbox channel 91 * @lcids: idr of all channels with a known local channel id 92 * @rcids: idr of all channels with a known remote channel id 131 * struct glink_channel - internal representation of a channel 133 * @ept: rpmsg endpoint this channel is associated with 135 * @refcount: refcount for the channel object 137 * @name: unique channel name/identifier 138 * @lcid: channel id, in local space 139 * @rcid: channel id, in remote space [all …]
|
| /kernel/linux/linux-6.6/drivers/char/xillybus/ |
| D | xillybus_core.c | 102 "Malformed message (skipping): opcode=%d, channel=%03x, dir=%d, bufno=%03x, data=%07x\n", in malformed_message() 120 struct xilly_channel *channel; in xillybus_isr() local 177 channel = ep->channels[msg_channel]; in xillybus_isr() 179 if (msg_dir) { /* Write channel */ in xillybus_isr() 180 if (msg_bufno >= channel->num_wr_buffers) { in xillybus_isr() 184 spin_lock(&channel->wr_spinlock); in xillybus_isr() 185 channel->wr_buffers[msg_bufno]->end_offset = in xillybus_isr() 187 channel->wr_fpga_buf_idx = msg_bufno; in xillybus_isr() 188 channel->wr_empty = 0; in xillybus_isr() 189 channel->wr_sleepy = 0; in xillybus_isr() [all …]
|
| /kernel/linux/linux-5.10/drivers/char/xillybus/ |
| D | xillybus_core.c | 113 "Malformed message (skipping): opcode=%d, channel=%03x, dir=%d, bufno=%03x, data=%07x\n", in malformed_message() 131 struct xilly_channel *channel; in xillybus_isr() local 191 channel = ep->channels[msg_channel]; in xillybus_isr() 193 if (msg_dir) { /* Write channel */ in xillybus_isr() 194 if (msg_bufno >= channel->num_wr_buffers) { in xillybus_isr() 198 spin_lock(&channel->wr_spinlock); in xillybus_isr() 199 channel->wr_buffers[msg_bufno]->end_offset = in xillybus_isr() 201 channel->wr_fpga_buf_idx = msg_bufno; in xillybus_isr() 202 channel->wr_empty = 0; in xillybus_isr() 203 channel->wr_sleepy = 0; in xillybus_isr() [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/greybus/ |
| D | light.c | 69 static void gb_lights_channel_free(struct gb_channel *channel); 71 static struct gb_connection *get_conn_from_channel(struct gb_channel *channel) in get_conn_from_channel() argument 73 return channel->light->glights->connection; in get_conn_from_channel() 81 static bool is_channel_flash(struct gb_channel *channel) in is_channel_flash() argument 83 return !!(channel->mode & (GB_CHANNEL_MODE_FLASH | GB_CHANNEL_MODE_TORCH in is_channel_flash() 95 static struct led_classdev *get_channel_cdev(struct gb_channel *channel) in get_channel_cdev() argument 97 return &channel->fled.led_cdev; in get_channel_cdev() 103 struct gb_channel *channel; in get_channel_from_mode() local 107 channel = &light->channels[i]; in get_channel_from_mode() 108 if (channel->mode == mode) in get_channel_from_mode() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/greybus/ |
| D | light.c | 69 static void gb_lights_channel_free(struct gb_channel *channel); 71 static struct gb_connection *get_conn_from_channel(struct gb_channel *channel) in get_conn_from_channel() argument 73 return channel->light->glights->connection; in get_conn_from_channel() 81 static bool is_channel_flash(struct gb_channel *channel) in is_channel_flash() argument 83 return !!(channel->mode & (GB_CHANNEL_MODE_FLASH | GB_CHANNEL_MODE_TORCH in is_channel_flash() 95 static struct led_classdev *get_channel_cdev(struct gb_channel *channel) in get_channel_cdev() argument 97 return &channel->fled.led_cdev; in get_channel_cdev() 103 struct gb_channel *channel = NULL; in get_channel_from_mode() local 107 channel = &light->channels[i]; in get_channel_from_mode() 108 if (channel && channel->mode == mode) in get_channel_from_mode() [all …]
|
| /kernel/linux/linux-6.6/drivers/ipack/devices/ |
| D | ipoctal.c | 48 struct ipoctal_channel channel[NR_CHANNELS]; member 57 return container_of(chan, struct ipoctal, channel[index]); in chan_to_ipoctal() 60 static void ipoctal_reset_channel(struct ipoctal_channel *channel) in ipoctal_reset_channel() argument 62 iowrite8(CR_DISABLE_RX | CR_DISABLE_TX, &channel->regs->w.cr); in ipoctal_reset_channel() 63 channel->rx_enable = 0; in ipoctal_reset_channel() 64 iowrite8(CR_CMD_RESET_RX, &channel->regs->w.cr); in ipoctal_reset_channel() 65 iowrite8(CR_CMD_RESET_TX, &channel->regs->w.cr); in ipoctal_reset_channel() 66 iowrite8(CR_CMD_RESET_ERR_STATUS, &channel->regs->w.cr); in ipoctal_reset_channel() 67 iowrite8(CR_CMD_RESET_MR, &channel->regs->w.cr); in ipoctal_reset_channel() 72 struct ipoctal_channel *channel; in ipoctal_port_activate() local [all …]
|
| /kernel/linux/linux-5.10/drivers/ipack/devices/ |
| D | ipoctal.c | 50 struct ipoctal_channel channel[NR_CHANNELS]; member 59 return container_of(chan, struct ipoctal, channel[index]); in chan_to_ipoctal() 62 static void ipoctal_reset_channel(struct ipoctal_channel *channel) in ipoctal_reset_channel() argument 64 iowrite8(CR_DISABLE_RX | CR_DISABLE_TX, &channel->regs->w.cr); in ipoctal_reset_channel() 65 channel->rx_enable = 0; in ipoctal_reset_channel() 66 iowrite8(CR_CMD_RESET_RX, &channel->regs->w.cr); in ipoctal_reset_channel() 67 iowrite8(CR_CMD_RESET_TX, &channel->regs->w.cr); in ipoctal_reset_channel() 68 iowrite8(CR_CMD_RESET_ERR_STATUS, &channel->regs->w.cr); in ipoctal_reset_channel() 69 iowrite8(CR_CMD_RESET_MR, &channel->regs->w.cr); in ipoctal_reset_channel() 74 struct ipoctal_channel *channel; in ipoctal_port_activate() local [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/renesas/ |
| D | r8a779f0-ether-serdes.c | 37 struct r8a779f0_eth_serdes_channel channel[R8A779F0_ETH_SERDES_NUM]; member 53 r8a779f0_eth_serdes_reg_wait(struct r8a779f0_eth_serdes_channel *channel, in r8a779f0_eth_serdes_reg_wait() argument 59 iowrite32(bank, channel->addr + R8A779F0_ETH_SERDES_BANK_SELECT); in r8a779f0_eth_serdes_reg_wait() 61 ret = readl_poll_timeout_atomic(channel->addr + offs, val, in r8a779f0_eth_serdes_reg_wait() 65 dev_dbg(&channel->phy->dev, in r8a779f0_eth_serdes_reg_wait() 67 __func__, channel->index, offs, bank, mask, expected); in r8a779f0_eth_serdes_reg_wait() 75 struct r8a779f0_eth_serdes_channel *channel; in r8a779f0_eth_serdes_common_init_ram() local 79 channel = &dd->channel[i]; in r8a779f0_eth_serdes_common_init_ram() 80 ret = r8a779f0_eth_serdes_reg_wait(channel, 0x026c, 0x180, BIT(0), 0x01); in r8a779f0_eth_serdes_common_init_ram() 91 r8a779f0_eth_serdes_common_setting(struct r8a779f0_eth_serdes_channel *channel) in r8a779f0_eth_serdes_common_setting() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/media/allegro-dvt/ |
| D | allegro-core.c | 231 /* user_id is used to identify the channel during CREATE_CHANNEL */ 253 allegro_set_state(struct allegro_channel *channel, enum allegro_state state) in allegro_set_state() argument 255 channel->state = state; in allegro_set_state() 261 allegro_get_state(struct allegro_channel *channel) in allegro_get_state() argument 263 return channel->state; in allegro_get_state() 335 /* Helper functions for channel and user operations */ 349 struct allegro_channel *channel; in allegro_find_channel_by_user_id() local 351 list_for_each_entry(channel, &dev->channels, list) { in allegro_find_channel_by_user_id() 352 if (channel->user_id == user_id) in allegro_find_channel_by_user_id() 353 return channel; in allegro_find_channel_by_user_id() [all …]
|
| /kernel/linux/linux-6.6/drivers/dma/sh/ |
| D | rz-dmac.c | 192 static void rz_dmac_ch_writel(struct rz_dmac_chan *channel, unsigned int val, in rz_dmac_ch_writel() argument 196 writel(val, channel->ch_base + offset); in rz_dmac_ch_writel() 198 writel(val, channel->ch_cmn_base + offset); in rz_dmac_ch_writel() 201 static u32 rz_dmac_ch_readl(struct rz_dmac_chan *channel, in rz_dmac_ch_readl() argument 205 return readl(channel->ch_base + offset); in rz_dmac_ch_readl() 207 return readl(channel->ch_cmn_base + offset); in rz_dmac_ch_readl() 215 static void rz_lmdesc_setup(struct rz_dmac_chan *channel, in rz_lmdesc_setup() argument 220 channel->lmdesc.base = lmdesc; in rz_lmdesc_setup() 221 channel->lmdesc.head = lmdesc; in rz_lmdesc_setup() 222 channel->lmdesc.tail = lmdesc; in rz_lmdesc_setup() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/powerpc/fsl/ |
| D | dma.txt | 4 This is a little-endian 4-channel DMA controller, used in Freescale mpc83xx 17 - DMA channel nodes: 18 - compatible : must include "fsl,elo-dma-channel" 20 - reg : DMA channel specific registers 21 - cell-index : DMA channel index starts at 0. 24 - interrupts : interrupt specifier for DMA channel IRQ 38 dma-channel@0 { 39 compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 45 dma-channel@80 { 46 compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/powerpc/fsl/ |
| D | dma.txt | 4 This is a little-endian 4-channel DMA controller, used in Freescale mpc83xx 17 - DMA channel nodes: 18 - compatible : must include "fsl,elo-dma-channel" 20 - reg : DMA channel specific registers 21 - cell-index : DMA channel index starts at 0. 24 - interrupts : interrupt specifier for DMA channel IRQ 38 dma-channel@0 { 39 compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 45 dma-channel@80 { 46 compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; [all …]
|
| /kernel/linux/linux-6.6/drivers/media/platform/allegro-dvt/ |
| D | allegro-core.c | 285 /* user_id is used to identify the channel during CREATE_CHANNEL */ 306 allegro_channel_get_i_frame_qp(struct allegro_channel *channel) in allegro_channel_get_i_frame_qp() argument 308 if (channel->codec == V4L2_PIX_FMT_HEVC) in allegro_channel_get_i_frame_qp() 309 return v4l2_ctrl_g_ctrl(channel->mpeg_video_hevc_i_frame_qp); in allegro_channel_get_i_frame_qp() 311 return v4l2_ctrl_g_ctrl(channel->mpeg_video_h264_i_frame_qp); in allegro_channel_get_i_frame_qp() 315 allegro_channel_get_p_frame_qp(struct allegro_channel *channel) in allegro_channel_get_p_frame_qp() argument 317 if (channel->codec == V4L2_PIX_FMT_HEVC) in allegro_channel_get_p_frame_qp() 318 return v4l2_ctrl_g_ctrl(channel->mpeg_video_hevc_p_frame_qp); in allegro_channel_get_p_frame_qp() 320 return v4l2_ctrl_g_ctrl(channel->mpeg_video_h264_p_frame_qp); in allegro_channel_get_p_frame_qp() 324 allegro_channel_get_b_frame_qp(struct allegro_channel *channel) in allegro_channel_get_b_frame_qp() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/most/ |
| D | most_snd.c | 28 * struct channel - private structure to keep channel specific data 31 * @iface: interface for which the channel belongs to 32 * @cfg: channel configuration 35 * @id: channel index 44 struct channel { struct 152 * get_channel - get pointer to channel 154 * @channel_id: channel ID 156 * This traverses the channel list and returns the channel matching the 159 * Returns pointer to channel on success or NULL otherwise. 161 static struct channel *get_channel(struct most_interface *iface, in get_channel() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/most/sound/ |
| D | sound.c | 28 * struct channel - private structure to keep channel specific data 30 * @iface: interface for which the channel belongs to 31 * @cfg: channel configuration 34 * @id: channel index 42 struct channel { struct 160 * get_channel - get pointer to channel 162 * @channel_id: channel ID 164 * This traverses the channel list and returns the channel matching the 167 * Returns pointer to channel on success or NULL otherwise. 169 static struct channel *get_channel(struct most_interface *iface, in get_channel() [all …]
|
| /kernel/linux/linux-6.6/drivers/ptp/ |
| D | ptp_clockmatrix.c | 41 static int _idtcm_adjfine(struct idtcm_channel *channel, long scaled_ppm); 242 static int arm_tod_read_trig_sel_refclk(struct idtcm_channel *channel, u8 ref) in arm_tod_read_trig_sel_refclk() argument 244 struct idtcm *idtcm = channel->idtcm; in arm_tod_read_trig_sel_refclk() 252 err = idtcm_write(idtcm, channel->tod_read_secondary, in arm_tod_read_trig_sel_refclk() 259 err = idtcm_write(idtcm, channel->tod_read_secondary, tod_read_cmd, in arm_tod_read_trig_sel_refclk() 273 static int idtcm_extts_enable(struct idtcm_channel *channel, in idtcm_extts_enable() argument 283 idtcm = channel->idtcm; in idtcm_extts_enable() 303 /* Use the pin configured for the channel */ in idtcm_extts_enable() 304 ref = ptp_find_pin(channel->ptp_clock, PTP_PF_EXTTS, channel->tod); in idtcm_extts_enable() 308 __func__, channel->tod); in idtcm_extts_enable() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ipa/ |
| D | gsi.c | 52 * of data to or from the IPA. A channel is implemented as a ring buffer, 59 * or more TREs to a channel, the writer (either the IPA or an EE) writes a 63 * Each channel has a GSI "event ring" associated with it. An event ring 64 * is implemented very much like a channel ring, but is always directed from 65 * the IPA to an EE. The IPA notifies an EE (such as the AP) about channel 66 * events by adding an entry to the event ring associated with the channel. 69 * to the channel TRE whose completion the event represents. 71 * Each TRE in a channel ring has a set of flags. One flag indicates whether 73 * an interrupt) in the channel's event ring. Other flags allow transfer 76 * to signal completion of channel transfers. [all …]
|
| /kernel/linux/linux-5.10/sound/xen/ |
| D | xen_snd_front_evtchnl.c | 23 struct xen_snd_front_evtchnl *channel = dev_id; in evtchnl_interrupt_req() local 24 struct xen_snd_front_info *front_info = channel->front_info; in evtchnl_interrupt_req() 28 if (unlikely(channel->state != EVTCHNL_STATE_CONNECTED)) in evtchnl_interrupt_req() 31 mutex_lock(&channel->ring_io_lock); in evtchnl_interrupt_req() 34 rp = channel->u.req.ring.sring->rsp_prod; in evtchnl_interrupt_req() 43 for (i = channel->u.req.ring.rsp_cons; i != rp; i++) { in evtchnl_interrupt_req() 44 resp = RING_GET_RESPONSE(&channel->u.req.ring, i); in evtchnl_interrupt_req() 45 if (resp->id != channel->evt_id) in evtchnl_interrupt_req() 53 channel->u.req.resp_status = resp->status; in evtchnl_interrupt_req() 54 complete(&channel->u.req.completion); in evtchnl_interrupt_req() [all …]
|