/openbmc/linux/drivers/dma/dw-edma/ |
H A D | dw-edma-v0-core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2018-2019 Synopsys, Inc. and/or its affiliates. 11 #include <linux/io-64-nonatomic-lo-hi.h> 13 #include "dw-edma-core.h" 14 #include "dw-edma-v0-core.h" 15 #include "dw-edma-v0-regs.h" 16 #include "dw-edma-v0-debugfs.h" 30 return dw->chip->reg_base; in __dw_regs() 33 #define SET_32(dw, name, value) \ argument 34 writel(value, &(__dw_regs(dw)->name)) [all …]
|
H A D | dw-hdma-v0-core.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <linux/io-64-nonatomic-lo-hi.h> 11 #include "dw-edma-core.h" 12 #include "dw-hdma-v0-core.h" 13 #include "dw-hdma-v0-regs.h" 14 #include "dw-hdma-v0-debugfs.h" 28 return dw->chip->reg_base; in __dw_regs() 35 return &(__dw_regs(dw)->ch[ch].wr); in __dw_ch_regs() 37 return &(__dw_regs(dw)->ch[ch].rd); in __dw_ch_regs() 40 #define SET_CH_32(dw, dir, ch, name, value) \ argument [all …]
|
/openbmc/linux/drivers/iio/ |
H A D | inkern.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <linux/iio/iio-opaque.h> 31 int ret = -ENODEV; in iio_map_array_unregister_locked() 35 if (indio_dev == mapi->indio_dev) { in iio_map_array_unregister_locked() 36 list_del(&mapi->l); in iio_map_array_unregister_locked() 56 ret = -ENOMEM; in iio_map_array_register() 59 mapi->map = &maps[i]; in iio_map_array_register() 60 mapi->indio_dev = indio_dev; in iio_map_array_register() 61 list_add_tail(&mapi->l, &iio_map_list); in iio_map_array_register() 106 *iio_chan_spec_from_name(const struct iio_dev *indio_dev, const char *name) in iio_chan_spec_from_name() argument [all …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | audio-iio-aux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 const char *name; member 36 struct audio_iio_aux_chan *chan = (struct audio_iio_aux_chan *)kcontrol->private_value; in audio_iio_aux_info_volsw() local 38 uinfo->count = 1; in audio_iio_aux_info_volsw() 39 uinfo->value.integer.min = 0; in audio_iio_aux_info_volsw() 40 uinfo->value.integer.max = chan->max - chan->min; in audio_iio_aux_info_volsw() 41 uinfo->type = (uinfo->value.integer.max == 1) ? in audio_iio_aux_info_volsw() 49 struct audio_iio_aux_chan *chan = (struct audio_iio_aux_chan *)kcontrol->private_value; in audio_iio_aux_get_volsw() local 50 int max = chan->max; in audio_iio_aux_get_volsw() 51 int min = chan->min; in audio_iio_aux_get_volsw() [all …]
|
/openbmc/linux/drivers/video/fbdev/nvidia/ |
H A D | nv_i2c.c | 2 * linux/drivers/video/nvidia/nvidia-i2c.c - nVidia i2c 6 * Based on rivafb-i2c.c 30 struct nvidia_i2c_chan *chan = data; in nvidia_gpio_setscl() local 31 struct nvidia_par *par = chan->par; in nvidia_gpio_setscl() 34 val = NVReadCrtc(par, chan->ddc_base + 1) & 0xf0; in nvidia_gpio_setscl() 41 NVWriteCrtc(par, chan->ddc_base + 1, val | 0x01); in nvidia_gpio_setscl() 46 struct nvidia_i2c_chan *chan = data; in nvidia_gpio_setsda() local 47 struct nvidia_par *par = chan->par; in nvidia_gpio_setsda() 50 val = NVReadCrtc(par, chan->ddc_base + 1) & 0xf0; in nvidia_gpio_setsda() 57 NVWriteCrtc(par, chan->ddc_base + 1, val | 0x01); in nvidia_gpio_setsda() [all …]
|
/openbmc/linux/drivers/gpu/drm/gma500/ |
H A D | intel_i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2007 Intel Corporation 11 #include <linux/i2c-algo-bit.h> 25 struct gma_i2c_chan *chan = data; in get_clock() local 26 struct drm_device *dev = chan->drm_dev; in get_clock() 29 val = REG_READ(chan->reg); in get_clock() 35 struct gma_i2c_chan *chan = data; in get_data() local 36 struct drm_device *dev = chan->drm_dev; in get_data() 39 val = REG_READ(chan->reg); in get_data() 45 struct gma_i2c_chan *chan = data; in set_clock() local [all …]
|
/openbmc/linux/drivers/soc/ti/ |
H A D | knav_dma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include <linux/dma-direction.h> 100 char name[32]; member 124 #define chan_number(ch) ((ch->direction == DMA_MEM_TO_DEV) ? \ 125 ch->channel : ch->flow) 136 static bool check_config(struct knav_dma_chan *chan, struct knav_dma_cfg *cfg) in check_config() argument 138 if (!memcmp(&chan->cfg, cfg, sizeof(*cfg))) in check_config() 144 static int chan_start(struct knav_dma_chan *chan, in chan_start() argument 149 spin_lock(&chan->lock); in chan_start() 150 if ((chan->direction == DMA_MEM_TO_DEV) && chan->reg_chan) { in chan_start() [all …]
|
/openbmc/linux/drivers/video/fbdev/aty/ |
H A D | radeon_i2c.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/i2c-algo-bit.h> 20 struct radeon_i2c_chan *chan = data; in radeon_gpio_setscl() local 21 struct radeonfb_info *rinfo = chan->rinfo; in radeon_gpio_setscl() 24 val = INREG(chan->ddc_reg) & ~(VGA_DDC_CLK_OUT_EN); in radeon_gpio_setscl() 28 OUTREG(chan->ddc_reg, val); in radeon_gpio_setscl() 29 (void)INREG(chan->ddc_reg); in radeon_gpio_setscl() 34 struct radeon_i2c_chan *chan = data; in radeon_gpio_setsda() local 35 struct radeonfb_info *rinfo = chan->rinfo; in radeon_gpio_setsda() 38 val = INREG(chan->ddc_reg) & ~(VGA_DDC_DATA_OUT_EN); in radeon_gpio_setsda() [all …]
|
/openbmc/linux/drivers/video/fbdev/riva/ |
H A D | rivafb-i2c.c | 2 * linux/drivers/video/riva/fbdev-i2c.c - nVidia i2c 8 * Based on radeonfb-i2c.c 29 struct riva_i2c_chan *chan = data; in riva_gpio_setscl() local 30 struct riva_par *par = chan->par; in riva_gpio_setscl() 33 VGA_WR08(par->riva.PCIO, 0x3d4, chan->ddc_base + 1); in riva_gpio_setscl() 34 val = VGA_RD08(par->riva.PCIO, 0x3d5) & 0xf0; in riva_gpio_setscl() 41 VGA_WR08(par->riva.PCIO, 0x3d4, chan->ddc_base + 1); in riva_gpio_setscl() 42 VGA_WR08(par->riva.PCIO, 0x3d5, val | 0x1); in riva_gpio_setscl() 47 struct riva_i2c_chan *chan = data; in riva_gpio_setsda() local 48 struct riva_par *par = chan->par; in riva_gpio_setsda() [all …]
|
/openbmc/linux/drivers/video/fbdev/i810/ |
H A D | i810-i2c.c | 1 /*-*- linux-c -*- 2 * linux/drivers/video/i810-i2c.c -- Intel 810/815 I2C support 44 struct i810fb_i2c_chan *chan = data; in i810i2c_setscl() local 45 struct i810fb_par *par = chan->par; in i810i2c_setscl() 46 u8 __iomem *mmio = par->mmio_start_virtual; in i810i2c_setscl() 49 i810_writel(mmio, chan->ddc_base, SCL_DIR_MASK | SCL_VAL_MASK); in i810i2c_setscl() 51 i810_writel(mmio, chan->ddc_base, SCL_DIR | SCL_DIR_MASK | SCL_VAL_MASK); in i810i2c_setscl() 52 i810_readl(mmio, chan->ddc_base); /* flush posted write */ in i810i2c_setscl() 57 struct i810fb_i2c_chan *chan = data; in i810i2c_setsda() local 58 struct i810fb_par *par = chan->par; in i810i2c_setsda() [all …]
|
/openbmc/u-boot/drivers/mailbox/ |
H A D | mailbox-uclass.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <mailbox-uclass.h> 13 return (struct mbox_ops *)dev->driver->ops; in mbox_dev_ops() 16 static int mbox_of_xlate_default(struct mbox_chan *chan, in mbox_of_xlate_default() argument 19 debug("%s(chan=%p)\n", __func__, chan); in mbox_of_xlate_default() 21 if (args->args_count != 1) { in mbox_of_xlate_default() 22 debug("Invaild args_count: %d\n", args->args_count); in mbox_of_xlate_default() 23 return -EINVAL; in mbox_of_xlate_default() 26 chan->id = args->args[0]; in mbox_of_xlate_default() 31 int mbox_get_by_index(struct udevice *dev, int index, struct mbox_chan *chan) in mbox_get_by_index() argument [all …]
|
/openbmc/linux/drivers/video/fbdev/savage/ |
H A D | savagefb-i2c.c | 2 * linux/drivers/video/savage/savagefb-i2c.c - S3 Savage DDC2 6 * Based partly on rivafb-i2c.c 47 struct savagefb_i2c_chan *chan = data; in savage4_gpio_setscl() local 50 r = readl(chan->ioaddr + chan->reg); in savage4_gpio_setscl() 55 writel(r, chan->ioaddr + chan->reg); in savage4_gpio_setscl() 56 readl(chan->ioaddr + chan->reg); /* flush posted write */ in savage4_gpio_setscl() 61 struct savagefb_i2c_chan *chan = data; in savage4_gpio_setsda() local 64 r = readl(chan->ioaddr + chan->reg); in savage4_gpio_setsda() 69 writel(r, chan->ioaddr + chan->reg); in savage4_gpio_setsda() 70 readl(chan->ioaddr + chan->reg); /* flush posted write */ in savage4_gpio_setsda() [all …]
|
/openbmc/linux/drivers/dma/ |
H A D | dmaengine.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright(c) 2004 - 2006 Intel Corporation. All rights reserved. 7 * This code implements the DMA subsystem. It provides a HW-neutral interface 29 * See Documentation/driver-api/dmaengine for more details 35 #include <linux/dma-mapping.h> 63 /* --- debugfs implementation --- */ 71 dma_dev->dbg_dev_root = debugfs_create_dir(dev_name(dma_dev->dev), in dmaengine_debug_register() 73 if (IS_ERR(dma_dev->dbg_dev_root)) in dmaengine_debug_register() 74 dma_dev->dbg_dev_root = NULL; in dmaengine_debug_register() 79 debugfs_remove_recursive(dma_dev->dbg_dev_root); in dmaengine_debug_unregister() [all …]
|
H A D | txx9dmac.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/dma-mapping.h> 19 static struct txx9dmac_chan *to_txx9dmac_chan(struct dma_chan *chan) in to_txx9dmac_chan() argument 21 return container_of(chan, struct txx9dmac_chan, chan); in to_txx9dmac_chan() 26 return dc->ch_regs; in __dma_regs() 32 return dc->ch_regs; in __dma_regs32() 35 #define channel64_readq(dc, name) \ argument 36 __raw_readq(&(__dma_regs(dc)->name)) 37 #define channel64_writeq(dc, name, val) \ argument 38 __raw_writeq((val), &(__dma_regs(dc)->name)) [all …]
|
H A D | of-dma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ 24 * of_dma_find_controller - Get a DMA controller in DT DMA helpers list 37 if (ofdma->of_node == dma_spec->np) in of_dma_find_controller() 41 dma_spec->np); in of_dma_find_controller() 47 * of_dma_router_xlate - translation function for router devices 58 struct dma_chan *chan; in of_dma_router_xlate() local 65 route_data = ofdma->of_dma_route_allocate(&dma_spec_target, ofdma); in of_dma_router_xlate() 71 ofdma->dma_router->route_free(ofdma->dma_router->dev, in of_dma_router_xlate() 73 chan = ERR_PTR(-EPROBE_DEFER); in of_dma_router_xlate() [all …]
|
/openbmc/linux/drivers/mailbox/ |
H A D | mailbox-sti.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 36 #define MBOX_BASE(mdev, inst) ((mdev)->base + ((inst) * 4)) 39 * struct sti_mbox_device - STi Mailbox device data 44 * @name: Name of the mailbox 57 const char *name; member 63 * struct sti_mbox_pdata - STi Mailbox platform specific configuration 74 * struct sti_channel - STi Mailbox allocated channel information 86 static inline bool sti_mbox_channel_is_enabled(struct mbox_chan *chan) in sti_mbox_channel_is_enabled() argument 88 struct sti_channel *chan_info = chan->con_priv; in sti_mbox_channel_is_enabled() 89 struct sti_mbox_device *mdev = chan_info->mdev; in sti_mbox_channel_is_enabled() [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
H A D | chan.c | 24 #include "chan.h" 42 nvkm_chan_cctx_bind(struct nvkm_chan *chan, struct nvkm_engn *engn, struct nvkm_cctx *cctx) in nvkm_chan_cctx_bind() argument 44 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_cctx_bind() 45 struct nvkm_runl *runl = cgrp->runl; in nvkm_chan_cctx_bind() 46 struct nvkm_engine *engine = engn->engine; in nvkm_chan_cctx_bind() 48 if (!engn->func->bind) in nvkm_chan_cctx_bind() 51 CHAN_TRACE(chan, "%sbind cctx %d[%s]", cctx ? "" : "un", engn->id, engine->subdev.name); in nvkm_chan_cctx_bind() 56 if (cgrp->hw) in nvkm_chan_cctx_bind() 59 nvkm_chan_block(chan); in nvkm_chan_cctx_bind() 60 nvkm_chan_preempt(chan, true); in nvkm_chan_cctx_bind() [all …]
|
/openbmc/linux/arch/sh/drivers/pci/ |
H A D | pcie-sh7786.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Low-Level PCI Express Support for the SH7786 5 * Copyright (C) 2009 - 2011 Paul Mundt 15 #include <linux/dma-map-ops.h> 21 #include "pcie-sh7786.h" 44 .name = "PCIe0 MEM 0", 46 .end = 0xfd000000 + SZ_8M - 1, 49 .name = "PCIe0 MEM 1", 51 .end = 0xc0000000 + SZ_512M - 1, 54 .name = "PCIe0 MEM 2", [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_chan.c | 44 nouveau_channel_kill(struct nouveau_channel *chan) in nouveau_channel_kill() argument 46 atomic_set(&chan->killed, 1); in nouveau_channel_kill() 47 if (chan->fence) in nouveau_channel_kill() 48 nouveau_fence_context_kill(chan->fence, -ENODEV); in nouveau_channel_kill() 54 struct nouveau_channel *chan = container_of(event, typeof(*chan), kill); in nouveau_channel_killed() local 55 struct nouveau_cli *cli = chan->cli; in nouveau_channel_killed() 57 NV_PRINTK(warn, cli, "channel %d killed!\n", chan->chid); in nouveau_channel_killed() 59 if (unlikely(!atomic_read(&chan->killed))) in nouveau_channel_killed() 60 nouveau_channel_kill(chan); in nouveau_channel_killed() 66 nouveau_channel_idle(struct nouveau_channel *chan) in nouveau_channel_idle() argument [all …]
|
/openbmc/linux/drivers/video/fbdev/intelfb/ |
H A D | intelfb_i2c.c | 20 FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 35 #include <linux/i2c-algo-bit.h> 56 struct intelfb_i2c_chan *chan = data; in intelfb_gpio_setscl() local 57 struct intelfb_info *dinfo = chan->dinfo; in intelfb_gpio_setscl() 60 OUTREG(chan->reg, (state ? SCL_VAL_OUT : 0) | in intelfb_gpio_setscl() 62 val = INREG(chan->reg); in intelfb_gpio_setscl() 67 struct intelfb_i2c_chan *chan = data; in intelfb_gpio_setsda() local 68 struct intelfb_info *dinfo = chan->dinfo; in intelfb_gpio_setsda() 71 OUTREG(chan->reg, (state ? SDA_VAL_OUT : 0) | in intelfb_gpio_setsda() 73 val = INREG(chan->reg); in intelfb_gpio_setsda() [all …]
|
/openbmc/linux/drivers/media/pci/cx25821/ |
H A D | cx25821-video.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 #include "cx25821-video.h" 20 static unsigned int video_nr[] = {[0 ... (CX25821_MAXBOARDS - 1)] = UNSET }; 66 cx25821_sram_channel_setup(dev, channel, buf->bpl, buf->risc.dma); in cx25821_start_video_dma() 69 cx_write(channel->gpcnt_ctl, 3); in cx25821_start_video_dma() 72 cx_set(PCI_INT_MSK, cx_read(PCI_INT_MSK) | (1 << channel->i)); in cx25821_start_video_dma() 73 cx_set(channel->int_msk, 0x11); in cx25821_start_video_dma() 76 cx_write(channel->dma_ctl, 0x11); /* FIFO and RISC enable */ in cx25821_start_video_dma() 89 const struct sram_channel *channel = dev->channels[chan_num].sram_channels; in cx25821_video_irq() 91 mask = cx_read(channel->int_msk); in cx25821_video_irq() [all …]
|
/openbmc/linux/drivers/iio/multiplexer/ |
H A D | iio-mux.c | 1 // SPDX-License-Identifier: GPL-2.0 34 struct iio_chan_spec *chan; member 42 struct mux_child *child = &mux->child[idx]; in iio_mux_select() 43 struct iio_chan_spec const *chan = &mux->chan[idx]; in iio_mux_select() local 47 ret = mux_control_select_delay(mux->control, chan->channel, in iio_mux_select() 48 mux->delay_us); in iio_mux_select() 50 mux->cached_state = -1; in iio_mux_select() 54 if (mux->cached_state == chan->channel) in iio_mux_select() 57 if (chan->ext_info) { in iio_mux_select() 58 for (i = 0; chan->ext_info[i].name; ++i) { in iio_mux_select() [all …]
|
/openbmc/linux/drivers/staging/media/tegra-video/ |
H A D | vi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 #include <media/v4l2-dv-timings.h> 22 #include <media/v4l2-event.h> 23 #include <media/v4l2-fh.h> 24 #include <media/v4l2-fwnode.h> 25 #include <media/v4l2-ioctl.h> 26 #include <media/videobuf2-dma-contig.h> 36 * struct tegra_vi_graph_entity - Entity in the video graph 72 for (i = offset; i < vi->soc->nformats; ++i) { in tegra_get_format_idx_by_code() 73 if (vi->soc->video_formats[i].code == code) in tegra_get_format_idx_by_code() [all …]
|
/openbmc/linux/arch/sh/drivers/dma/ |
H A D | dma-api.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * arch/sh/drivers/dma/dma-api.c 5 * SuperH-specific DMA management API 24 struct dma_info *get_dma_info(unsigned int chan) in get_dma_info() argument 33 if ((chan < info->first_vchannel_nr) || in get_dma_info() 34 (chan >= info->first_vchannel_nr + info->nr_channels)) in get_dma_info() 49 if (dmac_name && (strcmp(dmac_name, info->name) != 0)) in get_dma_info_by_name() 68 nr += info->nr_channels; in get_nr_channels() 73 struct dma_channel *get_dma_channel(unsigned int chan) in get_dma_channel() argument 75 struct dma_info *info = get_dma_info(chan); in get_dma_channel() [all …]
|
/openbmc/linux/sound/soc/ |
H A D | soc-generic-dmaengine-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 // Author: Lars-Peter Clausen <lars@metafoo.de> 13 #include <linux/dma-mapping.h> 31 if (!pcm->chan[substream->stream]) in dmaengine_dma_dev() 34 return pcm->chan[substream->stream]->device->dev; in dmaengine_dma_dev() 38 * snd_dmaengine_pcm_prepare_slave_config() - Generic prepare_slave_config callback 57 if (rtd->dai_link->num_cpus > 1) { in snd_dmaengine_pcm_prepare_slave_config() 58 dev_err(rtd->dev, in snd_dmaengine_pcm_prepare_slave_config() 60 return -EINVAL; in snd_dmaengine_pcm_prepare_slave_config() 81 struct dma_chan *chan = snd_dmaengine_pcm_get_chan(substream); in dmaengine_pcm_hw_params() local [all …]
|