/kernel/linux/linux-6.6/drivers/dma/dw-edma/ |
H A D | dw-edma-v0-debugfs.c | 12 #include "dw-edma-v0-debugfs.h" 13 #include "dw-edma-v0-regs.h" 14 #include "dw-edma-core.h" 16 #define REGS_ADDR(dw, name) \ 18 struct dw_edma_v0_regs __iomem *__regs = (dw)->chip->reg_base; \ 23 #define REGS_CH_ADDR(dw, name, _dir, _ch) \ 27 if ((dw)->chip->mf == EDMA_MF_EDMA_LEGACY) \ 28 __ch_regs = REGS_ADDR(dw, type.legacy.ch); \ 30 __ch_regs = REGS_ADDR(dw, type.unroll.ch[_ch].rd); \ 32 __ch_regs = REGS_ADDR(dw, typ 64 struct dw_edma *dw; global() member 74 struct dw_edma *dw = entry->dw; dw_edma_debugfs_u32_get() local 99 dw_edma_debugfs_create_x32(struct dw_edma *dw, const struct dw_edma_debugfs_entry ini[], int nr_entries, struct dentry *dent) dw_edma_debugfs_create_x32() argument 119 dw_edma_debugfs_regs_ch(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch, struct dentry *dent) dw_edma_debugfs_regs_ch() argument 140 dw_edma_debugfs_regs_wr(struct dw_edma *dw, struct dentry *dent) dw_edma_debugfs_regs_wr() argument 201 dw_edma_debugfs_regs_rd(struct dw_edma *dw, struct dentry *dent) dw_edma_debugfs_regs_rd() argument 264 dw_edma_debugfs_regs(struct dw_edma *dw) dw_edma_debugfs_regs() argument 282 dw_edma_v0_debugfs_on(struct dw_edma *dw) dw_edma_v0_debugfs_on() argument [all...] |
H A D | dw-hdma-v0-debugfs.c | 12 #include "dw-hdma-v0-debugfs.h" 13 #include "dw-hdma-v0-regs.h" 14 #include "dw-edma-core.h" 16 #define REGS_ADDR(dw, name) \ 18 struct dw_hdma_v0_regs __iomem *__regs = (dw)->chip->reg_base; \ 23 #define REGS_CH_ADDR(dw, name, _dir, _ch) \ 28 __ch_regs = REGS_ADDR(dw, ch[_ch].rd); \ 30 __ch_regs = REGS_ADDR(dw, ch[_ch].wr); \ 35 #define CTX_REGISTER(dw, name, dir, ch) \ 36 {#name, REGS_CH_ADDR(dw, nam 59 dw_hdma_debugfs_create_x32(struct dw_edma *dw, const struct dw_hdma_debugfs_entry ini[], int nr_entries, struct dentry *dent) dw_hdma_debugfs_create_x32() argument 79 dw_hdma_debugfs_regs_ch(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch, struct dentry *dent) dw_hdma_debugfs_regs_ch() argument 116 dw_hdma_debugfs_regs_wr(struct dw_edma *dw, struct dentry *dent) dw_hdma_debugfs_regs_wr() argument 133 dw_hdma_debugfs_regs_rd(struct dw_edma *dw, struct dentry *dent) dw_hdma_debugfs_regs_rd() argument 150 dw_hdma_debugfs_regs(struct dw_edma *dw) dw_hdma_debugfs_regs() argument 160 dw_hdma_v0_debugfs_on(struct dw_edma *dw) dw_hdma_v0_debugfs_on() argument [all...] |
H A D | dw-edma-v0-core.c | 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" 28 static inline struct dw_edma_v0_regs __iomem *__dw_regs(struct dw_edma *dw) in __dw_regs() argument 30 return dw->chip->reg_base; in __dw_regs() 33 #define SET_32(dw, name, value) \ 34 writel(value, &(__dw_regs(dw)->name)) 36 #define GET_32(dw, name) \ 37 readl(&(__dw_regs(dw) 95 __dw_ch_regs(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch) __dw_ch_regs() argument 106 writel_ch(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch, u32 value, void __iomem *addr) writel_ch() argument 129 readl_ch(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch, const void __iomem *addr) readl_ch() argument 163 dw_edma_v0_core_off(struct dw_edma *dw) dw_edma_v0_core_off() argument 172 dw_edma_v0_core_ch_count(struct dw_edma *dw, enum dw_edma_dir dir) dw_edma_v0_core_ch_count() argument 191 struct dw_edma *dw = chan->dw; dw_edma_v0_core_ch_status() local 207 struct dw_edma *dw = chan->dw; dw_edma_v0_core_clear_done_int() local 215 struct dw_edma *dw = chan->dw; dw_edma_v0_core_clear_abort_int() local 221 dw_edma_v0_core_status_done_int(struct dw_edma *dw, enum dw_edma_dir dir) dw_edma_v0_core_status_done_int() argument 227 dw_edma_v0_core_status_abort_int(struct dw_edma *dw, enum dw_edma_dir dir) dw_edma_v0_core_status_abort_int() argument 237 struct dw_edma *dw = dw_irq->dw; dw_edma_v0_core_handle_int() local 366 struct dw_edma *dw = chan->dw; dw_edma_v0_core_start() local 439 struct dw_edma *dw = chan->dw; dw_edma_v0_core_ch_config() local 507 dw_edma_v0_core_debugfs_on(struct dw_edma *dw) dw_edma_v0_core_debugfs_on() argument 522 dw_edma_v0_core_register(struct dw_edma *dw) dw_edma_v0_core_register() argument [all...] |
H A D | dw-hdma-v0-core.c | 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" 26 static inline struct dw_hdma_v0_regs __iomem *__dw_regs(struct dw_edma *dw) in __dw_regs() argument 28 return dw->chip->reg_base; in __dw_regs() 32 __dw_ch_regs(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch) in __dw_ch_regs() argument 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, di 53 dw_hdma_v0_core_off(struct dw_edma *dw) dw_hdma_v0_core_off() argument 66 dw_hdma_v0_core_ch_count(struct dw_edma *dw, enum dw_edma_dir dir) dw_hdma_v0_core_ch_count() argument 78 struct dw_edma *dw = chan->dw; dw_hdma_v0_core_ch_status() local 94 struct dw_edma *dw = chan->dw; dw_hdma_v0_core_clear_done_int() local 101 struct dw_edma *dw = chan->dw; dw_hdma_v0_core_clear_abort_int() local 108 struct dw_edma *dw = chan->dw; dw_hdma_v0_core_status_int() local 117 struct dw_edma *dw = dw_irq->dw; dw_hdma_v0_core_handle_int() local 242 struct dw_edma *dw = chan->dw; dw_hdma_v0_core_start() local 278 struct dw_edma *dw = chan->dw; dw_hdma_v0_core_ch_config() local 291 dw_hdma_v0_core_debugfs_on(struct dw_edma *dw) dw_hdma_v0_core_debugfs_on() argument 306 dw_hdma_v0_core_register(struct dw_edma *dw) dw_hdma_v0_core_register() argument [all...] |
H A D | dw-edma-core.h | 76 struct dw_edma *dw; member 95 struct dw_edma *dw; member 121 void (*off)(struct dw_edma *dw); 122 u16 (*ch_count)(struct dw_edma *dw, enum dw_edma_dir dir); 128 void (*debugfs_on)(struct dw_edma *dw); 167 void dw_edma_core_off(struct dw_edma *dw) in dw_edma_core_off() argument 169 dw->core->off(dw); in dw_edma_core_off() 173 u16 dw_edma_core_ch_count(struct dw_edma *dw, enum dw_edma_dir dir) in dw_edma_core_ch_count() argument 175 return dw in dw_edma_core_ch_count() 192 dw_edma_core_start(struct dw_edma *dw, struct dw_edma_chunk *chunk, bool first) dw_edma_core_start() argument 204 dw_edma_core_debugfs_on(struct dw_edma *dw) dw_edma_core_debugfs_on() argument [all...] |
H A D | Makefile | 3 obj-$(CONFIG_DW_EDMA) += dw-edma.o 4 dw-edma-$(CONFIG_DEBUG_FS) := dw-edma-v0-debugfs.o \ 5 dw-hdma-v0-debugfs.o 6 dw-edma-objs := dw-edma-core.o \ 7 dw-edma-v0-core.o \ 8 dw-hdma-v0-core.o $(dw-edma-y) 9 obj-$(CONFIG_DW_EDMA_PCIE) += dw [all...] |
H A D | dw-edma-core.c | 19 #include "dw-edma-core.h" 20 #include "dw-edma-v0-core.h" 21 #include "dw-hdma-v0-core.h" 46 struct dw_edma_chip *chip = chan->dw->chip; in dw_edma_get_pci_address() 78 struct dw_edma_chip *chip = desc->chan->dw->chip; in dw_edma_alloc_chunk() 187 struct dw_edma *dw = chan->dw; in dw_edma_start_transfer() local 205 dw_edma_core_start(dw, child, !desc->xfer_sz); in dw_edma_start_transfer() 220 if (chan->dw->chip->flags & DW_EDMA_CHIP_LOCAL) { in dw_edma_device_caps() 404 if (chan->dw in dw_edma_device_transfer() 710 dw_edma_channel_setup(struct dw_edma *dw, u32 wr_alloc, u32 rd_alloc) dw_edma_channel_setup() argument 830 dw_edma_irq_request(struct dw_edma *dw, u32 *wr_alloc, u32 *rd_alloc) dw_edma_irq_request() argument 908 struct dw_edma *dw; dw_edma_probe() local 988 struct dw_edma *dw = chip->dw; dw_edma_remove() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/bridge/synopsys/ |
H A D | dw-hdmi-ahb-audio.c | 21 #include "dw-hdmi-audio.h" 23 #define DRIVER_NAME "dw-hdmi-ahb-audio" 153 static void dw_hdmi_reformat_iec958(struct snd_dw_hdmi *dw, in dw_hdmi_reformat_iec958() argument 156 u32 *src = dw->buf_src + offset; in dw_hdmi_reformat_iec958() 157 u32 *dst = dw->buf_dst + offset; in dw_hdmi_reformat_iec958() 158 u32 *end = dw->buf_src + offset + bytes; in dw_hdmi_reformat_iec958() 181 static void dw_hdmi_reformat_s24(struct snd_dw_hdmi *dw, in dw_hdmi_reformat_s24() argument 184 u32 *src = dw->buf_src + offset; in dw_hdmi_reformat_s24() 185 u32 *dst = dw->buf_dst + offset; in dw_hdmi_reformat_s24() 186 u32 *end = dw in dw_hdmi_reformat_s24() 209 dw_hdmi_create_cs(struct snd_dw_hdmi *dw, struct snd_pcm_runtime *runtime) dw_hdmi_create_cs() argument 233 dw_hdmi_start_dma(struct snd_dw_hdmi *dw) dw_hdmi_start_dma() argument 262 dw_hdmi_stop_dma(struct snd_dw_hdmi *dw) dw_hdmi_stop_dma() argument 271 struct snd_dw_hdmi *dw = data; snd_dw_hdmi_irq() local 321 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_open() local 378 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_close() local 405 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_prepare() local 466 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_trigger() local 500 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_pointer() local 525 struct snd_dw_hdmi *dw; snd_dw_hdmi_probe() local 589 struct snd_dw_hdmi *dw = platform_get_drvdata(pdev); snd_dw_hdmi_remove() local 603 struct snd_dw_hdmi *dw = dev_get_drvdata(dev); snd_dw_hdmi_suspend() local 612 struct snd_dw_hdmi *dw = dev_get_drvdata(dev); snd_dw_hdmi_resume() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/bridge/synopsys/ |
H A D | dw-hdmi-ahb-audio.c | 21 #include "dw-hdmi-audio.h" 23 #define DRIVER_NAME "dw-hdmi-ahb-audio" 153 static void dw_hdmi_reformat_iec958(struct snd_dw_hdmi *dw, in dw_hdmi_reformat_iec958() argument 156 u32 *src = dw->buf_src + offset; in dw_hdmi_reformat_iec958() 157 u32 *dst = dw->buf_dst + offset; in dw_hdmi_reformat_iec958() 158 u32 *end = dw->buf_src + offset + bytes; in dw_hdmi_reformat_iec958() 181 static void dw_hdmi_reformat_s24(struct snd_dw_hdmi *dw, in dw_hdmi_reformat_s24() argument 184 u32 *src = dw->buf_src + offset; in dw_hdmi_reformat_s24() 185 u32 *dst = dw->buf_dst + offset; in dw_hdmi_reformat_s24() 186 u32 *end = dw in dw_hdmi_reformat_s24() 209 dw_hdmi_create_cs(struct snd_dw_hdmi *dw, struct snd_pcm_runtime *runtime) dw_hdmi_create_cs() argument 233 dw_hdmi_start_dma(struct snd_dw_hdmi *dw) dw_hdmi_start_dma() argument 262 dw_hdmi_stop_dma(struct snd_dw_hdmi *dw) dw_hdmi_stop_dma() argument 271 struct snd_dw_hdmi *dw = data; snd_dw_hdmi_irq() local 321 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_open() local 378 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_close() local 405 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_prepare() local 466 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_trigger() local 500 struct snd_dw_hdmi *dw = substream->private_data; dw_hdmi_pointer() local 525 struct snd_dw_hdmi *dw; snd_dw_hdmi_probe() local 589 struct snd_dw_hdmi *dw = platform_get_drvdata(pdev); snd_dw_hdmi_remove() local 601 struct snd_dw_hdmi *dw = dev_get_drvdata(dev); snd_dw_hdmi_suspend() local 610 struct snd_dw_hdmi *dw = dev_get_drvdata(dev); snd_dw_hdmi_resume() local [all...] |
H A D | dw-hdmi-gp-audio.c | 3 * dw-hdmi-gp-audio.c 26 #include "dw-hdmi-audio.h" 28 #define DRIVER_NAME "dw-hdmi-gp-audio" 79 struct snd_dw_hdmi *dw = dev_get_drvdata(dev); in audio_hw_params() local 82 dw_hdmi_set_sample_rate(dw->data.hdmi, params->sample_rate); in audio_hw_params() 86 dw_hdmi_set_channel_count(dw->data.hdmi, params->channels); in audio_hw_params() 87 dw_hdmi_set_channel_allocation(dw->data.hdmi, ca); in audio_hw_params() 89 dw_hdmi_set_sample_non_pcm(dw->data.hdmi, in audio_hw_params() 91 dw_hdmi_set_sample_width(dw->data.hdmi, params->sample_width); in audio_hw_params() 103 struct snd_dw_hdmi *dw in audio_mute_stream() local 133 struct snd_dw_hdmi *dw = dev_get_drvdata(dev); audio_hook_plugged_cb() local 149 struct snd_dw_hdmi *dw; snd_dw_hdmi_probe() local 177 struct snd_dw_hdmi *dw = platform_get_drvdata(pdev); snd_dw_hdmi_remove() local [all...] |
/kernel/linux/linux-5.10/drivers/dma/dw/ |
H A D | core.c | 82 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dwc_desc_get() local 86 desc = dma_pool_zalloc(dw->desc_pool, GFP_ATOMIC, &phys); in dwc_desc_get() 101 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dwc_desc_put() local 109 dma_pool_free(dw->desc_pool, child, child->txd.phys); in dwc_desc_put() 113 dma_pool_free(dw->desc_pool, desc, desc->txd.phys); in dwc_desc_put() 119 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dwc_initialize() local 121 dw->initialize_chan(dwc); in dwc_initialize() 124 channel_set_bit(dw, MASK.XFER, dwc->mask); in dwc_initialize() 125 channel_set_bit(dw, MASK.ERROR, dwc->mask); in dwc_initialize() 141 static inline void dwc_chan_disable(struct dw_dma *dw, struc argument 154 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_do_single_block() local 176 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_dostart() local 262 dwc_complete_all(struct dw_dma *dw, struct dw_dma_chan *dwc) dwc_complete_all() argument 293 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_get_sent() local 300 dwc_scan_descriptors(struct dw_dma *dw, struct dw_dma_chan *dwc) dwc_scan_descriptors() argument 423 dwc_handle_error(struct dw_dma *dw, struct dw_dma_chan *dwc) dwc_handle_error() argument 468 struct dw_dma *dw = from_tasklet(dw, t, tasklet); dw_dma_tasklet() local 496 struct dw_dma *dw = dev_id; dw_dma_interrupt() local 544 struct dw_dma *dw = to_dw_dma(chan->device); dwc_prep_dma_memcpy() local 622 struct dw_dma *dw = to_dw_dma(chan->device); dwc_prep_slave_sg() local 789 struct dw_dma *dw = to_dw_dma(chan->device); dwc_config() local 806 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_chan_pause() local 831 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_chan_resume() local 856 struct dw_dma *dw = to_dw_dma(chan->device); dwc_terminate_all() local 959 do_dw_dma_off(struct dw_dma *dw) do_dw_dma_off() argument 973 do_dw_dma_on(struct dw_dma *dw) do_dw_dma_on() argument 981 struct dw_dma *dw = to_dw_dma(chan->device); dwc_alloc_chan_resources() local 1018 struct dw_dma *dw = to_dw_dma(chan->device); dwc_free_chan_resources() local 1070 struct dw_dma *dw = chip->dw; do_dma_probe() local 1281 struct dw_dma *dw = chip->dw; do_dma_remove() local 1304 struct dw_dma *dw = chip->dw; do_dw_dma_disable() local 1313 struct dw_dma *dw = chip->dw; do_dw_dma_enable() local [all...] |
H A D | idma32.c | 88 static void idma32_set_device_name(struct dw_dma *dw, int id) in idma32_set_device_name() argument 90 snprintf(dw->name, sizeof(dw->name), "idma32:dmac%d", id); in idma32_set_device_name() 99 static void idma32_fifo_partition(struct dw_dma *dw) in idma32_fifo_partition() argument 112 idma32_writeq(dw, FIFO_PARTITION1, fifo_partition); in idma32_fifo_partition() 113 idma32_writeq(dw, FIFO_PARTITION0, fifo_partition); in idma32_fifo_partition() 116 static void idma32_disable(struct dw_dma *dw) in idma32_disable() argument 118 do_dw_dma_off(dw); in idma32_disable() 119 idma32_fifo_partition(dw); in idma32_disable() 122 static void idma32_enable(struct dw_dma *dw) in idma32_enable() argument 130 struct dw_dma *dw; idma32_dma_probe() local [all...] |
H A D | dw.c | 16 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dw_dma_initialize_chan() local 23 cfghi |= DWC_CFGH_PROTCTL(dw->pdata->protctl); in dw_dma_initialize_chan() 91 static void dw_dma_set_device_name(struct dw_dma *dw, int id) in dw_dma_set_device_name() argument 93 snprintf(dw->name, sizeof(dw->name), "dw:dmac%d", id); in dw_dma_set_device_name() 96 static void dw_dma_disable(struct dw_dma *dw) in dw_dma_disable() argument 98 do_dw_dma_off(dw); in dw_dma_disable() 101 static void dw_dma_enable(struct dw_dma *dw) in dw_dma_enable() argument 103 do_dw_dma_on(dw); in dw_dma_enable() 108 struct dw_dma *dw; dw_dma_probe() local [all...] |
H A D | internal.h | 11 #include <linux/dma/dw.h> 18 void do_dw_dma_on(struct dw_dma *dw); 19 void do_dw_dma_off(struct dw_dma *dw); 27 void dw_dma_acpi_controller_register(struct dw_dma *dw); 28 void dw_dma_acpi_controller_free(struct dw_dma *dw); 30 static inline void dw_dma_acpi_controller_register(struct dw_dma *dw) {} in dw_dma_acpi_controller_register() argument 31 static inline void dw_dma_acpi_controller_free(struct dw_dma *dw) {} in dw_dma_acpi_controller_free() argument 38 void dw_dma_of_controller_register(struct dw_dma *dw); 39 void dw_dma_of_controller_free(struct dw_dma *dw); 45 static inline void dw_dma_of_controller_register(struct dw_dma *dw) {} in dw_dma_of_controller_register() argument 46 dw_dma_of_controller_free(struct dw_dma *dw) dw_dma_of_controller_free() argument [all...] |
/kernel/linux/linux-6.6/drivers/dma/dw/ |
H A D | core.c | 79 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dwc_desc_get() local 83 desc = dma_pool_zalloc(dw->desc_pool, GFP_ATOMIC, &phys); in dwc_desc_get() 98 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dwc_desc_put() local 106 dma_pool_free(dw->desc_pool, child, child->txd.phys); in dwc_desc_put() 110 dma_pool_free(dw->desc_pool, desc, desc->txd.phys); in dwc_desc_put() 116 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dwc_initialize() local 118 dw->initialize_chan(dwc); in dwc_initialize() 121 channel_set_bit(dw, MASK.XFER, dwc->mask); in dwc_initialize() 122 channel_set_bit(dw, MASK.ERROR, dwc->mask); in dwc_initialize() 138 static inline void dwc_chan_disable(struct dw_dma *dw, struc argument 151 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_do_single_block() local 173 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_dostart() local 259 dwc_complete_all(struct dw_dma *dw, struct dw_dma_chan *dwc) dwc_complete_all() argument 290 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_get_sent() local 297 dwc_scan_descriptors(struct dw_dma *dw, struct dw_dma_chan *dwc) dwc_scan_descriptors() argument 420 dwc_handle_error(struct dw_dma *dw, struct dw_dma_chan *dwc) dwc_handle_error() argument 465 struct dw_dma *dw = from_tasklet(dw, t, tasklet); dw_dma_tasklet() local 493 struct dw_dma *dw = dev_id; dw_dma_interrupt() local 541 struct dw_dma *dw = to_dw_dma(chan->device); dwc_prep_dma_memcpy() local 619 struct dw_dma *dw = to_dw_dma(chan->device); dwc_prep_slave_sg() local 786 struct dw_dma *dw = to_dw_dma(chan->device); dwc_config() local 803 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_chan_pause() local 828 struct dw_dma *dw = to_dw_dma(dwc->chan.device); dwc_chan_resume() local 853 struct dw_dma *dw = to_dw_dma(chan->device); dwc_terminate_all() local 955 do_dw_dma_off(struct dw_dma *dw) do_dw_dma_off() argument 969 do_dw_dma_on(struct dw_dma *dw) do_dw_dma_on() argument 977 struct dw_dma *dw = to_dw_dma(chan->device); dwc_alloc_chan_resources() local 1014 struct dw_dma *dw = to_dw_dma(chan->device); dwc_free_chan_resources() local 1066 struct dw_dma *dw = chip->dw; do_dma_probe() local 1277 struct dw_dma *dw = chip->dw; do_dma_remove() local 1300 struct dw_dma *dw = chip->dw; do_dw_dma_disable() local 1309 struct dw_dma *dw = chip->dw; do_dw_dma_enable() local [all...] |
H A D | dw.c | 16 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in dw_dma_initialize_chan() local 23 cfghi |= DWC_CFGH_PROTCTL(dw->pdata->protctl); in dw_dma_initialize_chan() 91 static void dw_dma_set_device_name(struct dw_dma *dw, int id) in dw_dma_set_device_name() argument 93 snprintf(dw->name, sizeof(dw->name), "dw:dmac%d", id); in dw_dma_set_device_name() 96 static void dw_dma_disable(struct dw_dma *dw) in dw_dma_disable() argument 98 do_dw_dma_off(dw); in dw_dma_disable() 101 static void dw_dma_enable(struct dw_dma *dw) in dw_dma_enable() argument 103 do_dw_dma_on(dw); in dw_dma_enable() 108 struct dw_dma *dw; dw_dma_probe() local [all...] |
H A D | idma32.c | 48 struct dw_dma *dw = to_dw_dma(dwc->chan.device); in idma32_initialize_chan_xbar() local 49 void __iomem *misc = __dw_regs(dw); in idma32_initialize_chan_xbar() 217 static void idma32_set_device_name(struct dw_dma *dw, int id) in idma32_set_device_name() argument 219 snprintf(dw->name, sizeof(dw->name), "idma32:dmac%d", id); in idma32_set_device_name() 228 static void idma32_fifo_partition(struct dw_dma *dw) in idma32_fifo_partition() argument 241 idma32_writeq(dw, FIFO_PARTITION1, fifo_partition); in idma32_fifo_partition() 242 idma32_writeq(dw, FIFO_PARTITION0, fifo_partition); in idma32_fifo_partition() 245 static void idma32_disable(struct dw_dma *dw) in idma32_disable() argument 247 do_dw_dma_off(dw); in idma32_disable() 251 idma32_enable(struct dw_dma *dw) idma32_enable() argument 259 struct dw_dma *dw; idma32_dma_probe() local [all...] |
H A D | internal.h | 11 #include <linux/dma/dw.h> 18 void do_dw_dma_on(struct dw_dma *dw); 19 void do_dw_dma_off(struct dw_dma *dw); 27 void dw_dma_acpi_controller_register(struct dw_dma *dw); 28 void dw_dma_acpi_controller_free(struct dw_dma *dw); 30 static inline void dw_dma_acpi_controller_register(struct dw_dma *dw) {} in dw_dma_acpi_controller_register() argument 31 static inline void dw_dma_acpi_controller_free(struct dw_dma *dw) {} in dw_dma_acpi_controller_free() argument 38 void dw_dma_of_controller_register(struct dw_dma *dw); 39 void dw_dma_of_controller_free(struct dw_dma *dw); 45 static inline void dw_dma_of_controller_register(struct dw_dma *dw) {} in dw_dma_of_controller_register() argument 46 dw_dma_of_controller_free(struct dw_dma *dw) dw_dma_of_controller_free() argument [all...] |
/kernel/linux/linux-5.10/drivers/dma/dw-edma/ |
H A D | dw-edma-v0-core.c | 11 #include "dw-edma-core.h" 12 #include "dw-edma-v0-core.h" 13 #include "dw-edma-v0-regs.h" 14 #include "dw-edma-v0-debugfs.h" 26 static inline struct dw_edma_v0_regs __iomem *__dw_regs(struct dw_edma *dw) in __dw_regs() argument 28 return dw->rg_region.vaddr; in __dw_regs() 31 #define SET(dw, name, value) \ 32 writel(value, &(__dw_regs(dw)->name)) 34 #define GET(dw, name) \ 35 readl(&(__dw_regs(dw) 57 __dw_ch_regs(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch) __dw_ch_regs() argument 68 writel_ch(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch, u32 value, void __iomem *addr) writel_ch() argument 91 readl_ch(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch, const void __iomem *addr) readl_ch() argument 128 dw_edma_v0_core_off(struct dw_edma *dw) dw_edma_v0_core_off() argument 135 dw_edma_v0_core_ch_count(struct dw_edma *dw, enum dw_edma_dir dir) dw_edma_v0_core_ch_count() argument 152 struct dw_edma *dw = chan->chip->dw; dw_edma_v0_core_ch_status() local 168 struct dw_edma *dw = chan->chip->dw; dw_edma_v0_core_clear_done_int() local 176 struct dw_edma *dw = chan->chip->dw; dw_edma_v0_core_clear_abort_int() local 182 dw_edma_v0_core_status_done_int(struct dw_edma *dw, enum dw_edma_dir dir) dw_edma_v0_core_status_done_int() argument 187 dw_edma_v0_core_status_abort_int(struct dw_edma *dw, enum dw_edma_dir dir) dw_edma_v0_core_status_abort_int() argument 239 struct dw_edma *dw = chan->chip->dw; dw_edma_v0_core_start() local 272 struct dw_edma *dw = chan->chip->dw; dw_edma_v0_core_device_config() local [all...] |
H A D | dw-edma-pcie.c | 17 #include "dw-edma-core.h" 73 struct dw_edma *dw; in dw_edma_pcie_probe() local 123 dw = devm_kzalloc(dev, sizeof(*dw), GFP_KERNEL); in dw_edma_pcie_probe() 124 if (!dw) in dw_edma_pcie_probe() 137 chip->dw = dw; in dw_edma_pcie_probe() 142 dw->rg_region.vaddr = pcim_iomap_table(pdev)[pdata->rg_bar]; in dw_edma_pcie_probe() 143 dw->rg_region.vaddr += pdata->rg_off; in dw_edma_pcie_probe() 144 dw in dw_edma_pcie_probe() [all...] |
H A D | dw-edma-core.c | 20 #include "dw-edma-core.h" 21 #include "dw-edma-v0-core.h" 68 struct dw_edma *dw = chan->chip->dw; in dw_edma_alloc_chunk() local 84 chunk->ll_region.paddr = dw->ll_region.paddr + chan->ll_off; in dw_edma_alloc_chunk() 85 chunk->ll_region.vaddr = dw->ll_region.vaddr + chan->ll_off; in dw_edma_alloc_chunk() 555 struct dw_edma *dw = dw_irq->dw; in dw_edma_interrupt() local 561 total = dw->wr_ch_cnt; in dw_edma_interrupt() 565 total = dw in dw_edma_interrupt() 648 struct dw_edma *dw = chip->dw; dw_edma_channel_setup() local 791 struct dw_edma *dw = chip->dw; dw_edma_irq_request() local 853 struct dw_edma *dw; dw_edma_probe() local 932 struct dw_edma *dw = chip->dw; dw_edma_remove() local [all...] |
H A D | Makefile | 3 obj-$(CONFIG_DW_EDMA) += dw-edma.o 4 dw-edma-$(CONFIG_DEBUG_FS) := dw-edma-v0-debugfs.o 5 dw-edma-objs := dw-edma-core.o \ 6 dw-edma-v0-core.o $(dw-edma-y) 7 obj-$(CONFIG_DW_EDMA_PCIE) += dw-edma-pcie.o
|
/kernel/linux/linux-6.6/drivers/misc/ |
H A D | dw-xdata-pcie.c | 20 #define DW_XDATA_DRIVER_NAME "dw-xdata-pcie" 73 static inline struct dw_xdata_regs __iomem *__dw_regs(struct dw_xdata *dw) in __dw_regs() argument 75 return dw->rg_region.vaddr; in __dw_regs() 78 static void dw_xdata_stop(struct dw_xdata *dw) in dw_xdata_stop() argument 82 mutex_lock(&dw->mutex); in dw_xdata_stop() 84 burst = readl(&(__dw_regs(dw)->burst_cnt)); in dw_xdata_stop() 88 writel(burst, &(__dw_regs(dw)->burst_cnt)); in dw_xdata_stop() 91 mutex_unlock(&dw->mutex); in dw_xdata_stop() 94 static void dw_xdata_start(struct dw_xdata *dw, bool write) in dw_xdata_start() argument 96 struct device *dev = &dw in dw_xdata_start() 138 dw_xdata_perf_meas(struct dw_xdata *dw, u64 *data, bool write) dw_xdata_perf_meas() argument 162 dw_xdata_perf(struct dw_xdata *dw, u64 *rate, bool write) dw_xdata_perf() argument 210 struct dw_xdata *dw = misc_dev_to_dw(misc_dev); write_show() local 222 struct dw_xdata *dw = misc_dev_to_dw(misc_dev); write_store() local 247 struct dw_xdata *dw = misc_dev_to_dw(misc_dev); read_show() local 259 struct dw_xdata *dw = misc_dev_to_dw(misc_dev); read_store() local 292 struct dw_xdata *dw; dw_xdata_pcie_probe() local 387 struct dw_xdata *dw = pci_get_drvdata(pdev); dw_xdata_pcie_remove() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ih.c | 144 * @num_dw: size of the iv in dw 258 uint32_t dw[8]; in amdgpu_ih_decode_iv_helper() local 260 dw[0] = le32_to_cpu(ih->ring[ring_index + 0]); in amdgpu_ih_decode_iv_helper() 261 dw[1] = le32_to_cpu(ih->ring[ring_index + 1]); in amdgpu_ih_decode_iv_helper() 262 dw[2] = le32_to_cpu(ih->ring[ring_index + 2]); in amdgpu_ih_decode_iv_helper() 263 dw[3] = le32_to_cpu(ih->ring[ring_index + 3]); in amdgpu_ih_decode_iv_helper() 264 dw[4] = le32_to_cpu(ih->ring[ring_index + 4]); in amdgpu_ih_decode_iv_helper() 265 dw[5] = le32_to_cpu(ih->ring[ring_index + 5]); in amdgpu_ih_decode_iv_helper() 266 dw[6] = le32_to_cpu(ih->ring[ring_index + 6]); in amdgpu_ih_decode_iv_helper() 267 dw[ in amdgpu_ih_decode_iv_helper() [all...] |
/kernel/linux/linux-5.10/drivers/dma/dw-axi-dmac/ |
H A D | dw-axi-dmac-platform.c | 26 #include "dw-axi-dmac.h" 179 for (i = 0; i < chip->dw->hdata->nr_channels; i++) { in axi_dma_hw_init() 180 axi_chan_irq_disable(&chip->dw->chan[i], DWAXIDMAC_IRQ_ALL); in axi_dma_hw_init() 181 axi_chan_disable(&chip->dw->chan[i]); in axi_dma_hw_init() 188 u32 max_width = chan->chip->dw->hdata->m_data_width; in axi_chan_get_xfer_width() 200 struct dw_axi_dma *dw = chan->chip->dw; in axi_desc_get() local 204 desc = dma_pool_zalloc(dw->desc_pool, GFP_NOWAIT, &phys); in axi_desc_get() 222 struct dw_axi_dma *dw = chan->chip->dw; in axi_desc_put() local 604 struct dw_axi_dma *dw = chip->dw; dw_axi_dma_interrupt() local 827 struct dw_axi_dma *dw; dw_probe() local 958 struct dw_axi_dma *dw = chip->dw; dw_remove() local [all...] |