| /kernel/linux/linux-5.10/drivers/media/pci/bt8xx/ |
| D | btcx-risc.c | 4 btcx-risc.c 6 bt848/bt878/cx2388x risc code generator. 23 #include "btcx-risc.h" 37 /* allocate/free risc memory */ 42 struct btcx_riscmem *risc) in btcx_riscmem_free() argument 44 if (NULL == risc->cpu) in btcx_riscmem_free() 49 memcnt, (unsigned long)risc->dma); in btcx_riscmem_free() 51 pci_free_consistent(pci, risc->size, risc->cpu, risc->dma); in btcx_riscmem_free() 52 memset(risc,0,sizeof(*risc)); in btcx_riscmem_free() 56 struct btcx_riscmem *risc, in btcx_riscmem_alloc() argument [all …]
|
| D | bttv-risc.c | 4 bttv-risc.c -- interfaces to other kernel modules 6 bttv risc code handling 32 /* risc code generators */ 35 bttv_risc_packed(struct bttv *btv, struct btcx_riscmem *risc, in bttv_risc_packed() argument 46 /* estimate risc mem: worst case is one write per page border + in bttv_risc_packed() 54 if ((rc = btcx_riscmem_alloc(btv->c.pci,risc,instructions)) < 0) in bttv_risc_packed() 58 rp = risc->cpu; in bttv_risc_packed() 108 risc->jmp = rp; in bttv_risc_packed() 109 BUG_ON((risc->jmp - risc->cpu + 2) * sizeof(*risc->cpu) > risc->size); in bttv_risc_packed() 114 bttv_risc_planar(struct bttv *btv, struct btcx_riscmem *risc, in bttv_risc_planar() argument [all …]
|
| /kernel/linux/linux-4.19/drivers/media/pci/bt8xx/ |
| D | btcx-risc.c | 3 btcx-risc.c 5 bt848/bt878/cx2388x risc code generator. 35 #include "btcx-risc.h" 49 /* allocate/free risc memory */ 54 struct btcx_riscmem *risc) in btcx_riscmem_free() argument 56 if (NULL == risc->cpu) in btcx_riscmem_free() 61 memcnt, (unsigned long)risc->dma); in btcx_riscmem_free() 63 pci_free_consistent(pci, risc->size, risc->cpu, risc->dma); in btcx_riscmem_free() 64 memset(risc,0,sizeof(*risc)); in btcx_riscmem_free() 68 struct btcx_riscmem *risc, in btcx_riscmem_alloc() argument [all …]
|
| D | bttv-risc.c | 3 bttv-risc.c -- interfaces to other kernel modules 5 bttv risc code handling 44 /* risc code generators */ 47 bttv_risc_packed(struct bttv *btv, struct btcx_riscmem *risc, in bttv_risc_packed() argument 58 /* estimate risc mem: worst case is one write per page border + in bttv_risc_packed() 66 if ((rc = btcx_riscmem_alloc(btv->c.pci,risc,instructions)) < 0) in bttv_risc_packed() 70 rp = risc->cpu; in bttv_risc_packed() 120 risc->jmp = rp; in bttv_risc_packed() 121 BUG_ON((risc->jmp - risc->cpu + 2) * sizeof(*risc->cpu) > risc->size); in bttv_risc_packed() 126 bttv_risc_planar(struct bttv *btv, struct btcx_riscmem *risc, in bttv_risc_planar() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/media/pci/cx25821/ |
| D | cx25821-core.c | 299 static int cx25821_risc_decode(u32 risc) in cx25821_risc_decode() argument 331 risc, instr[risc >> 28] ? instr[risc >> 28] : "INVALID"); in cx25821_risc_decode() 333 if (risc & (1 << (i + 12))) in cx25821_risc_decode() 336 pr_cont(" count=%d ]\n", risc & 0xfff); in cx25821_risc_decode() 337 return incr[risc >> 28] ? incr[risc >> 28] : 1; in cx25821_risc_decode() 426 unsigned int bpl, u32 risc) in cx25821_sram_channel_setup() argument 468 cx_write(ch->cmds_start + 0, risc); in cx25821_sram_channel_setup() 494 unsigned int bpl, u32 risc) in cx25821_sram_channel_setup_audio() argument 532 cx_write(ch->cmds_start + 0, risc); in cx25821_sram_channel_setup_audio() 562 "init risc lo", in cx25821_sram_channel_dump() [all …]
|
| /kernel/linux/linux-4.19/drivers/media/pci/cx25821/ |
| D | cx25821-core.c | 309 static int cx25821_risc_decode(u32 risc) in cx25821_risc_decode() argument 341 risc, instr[risc >> 28] ? instr[risc >> 28] : "INVALID"); in cx25821_risc_decode() 343 if (risc & (1 << (i + 12))) in cx25821_risc_decode() 346 pr_cont(" count=%d ]\n", risc & 0xfff); in cx25821_risc_decode() 347 return incr[risc >> 28] ? incr[risc >> 28] : 1; in cx25821_risc_decode() 436 unsigned int bpl, u32 risc) in cx25821_sram_channel_setup() argument 478 cx_write(ch->cmds_start + 0, risc); in cx25821_sram_channel_setup() 504 unsigned int bpl, u32 risc) in cx25821_sram_channel_setup_audio() argument 542 cx_write(ch->cmds_start + 0, risc); in cx25821_sram_channel_setup_audio() 572 "init risc lo", in cx25821_sram_channel_dump() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/pci/cx88/ |
| D | cx88-vbi.c | 59 VBI_LINE_LENGTH, buf->risc.dma); in cx8800_start_vbi_dma() 147 cx88_risc_buffer(dev->pci, &buf->risc, sgt->sgl, in buffer_prepare() 159 struct cx88_riscmem *risc = &buf->risc; in buffer_finish() local 161 if (risc->cpu) in buffer_finish() 162 pci_free_consistent(dev->pci, risc->size, risc->cpu, risc->dma); in buffer_finish() 163 memset(risc, 0, sizeof(*risc)); in buffer_finish() 175 buf->risc.cpu[1] = cpu_to_le32(buf->risc.dma + 8); in buffer_queue() 176 buf->risc.jmp[0] = cpu_to_le32(RISC_JUMP | RISC_CNT_INC); in buffer_queue() 177 buf->risc.jmp[1] = cpu_to_le32(buf->risc.dma + 8); in buffer_queue() 185 buf->risc.cpu[0] |= cpu_to_le32(RISC_IRQ1); in buffer_queue() [all …]
|
| D | cx88-core.c | 130 int cx88_risc_buffer(struct pci_dev *pci, struct cx88_riscmem *risc, in cx88_risc_buffer() argument 145 * estimate risc mem: worst case is one write per page border + in cx88_risc_buffer() 153 risc->size = instructions * 8; in cx88_risc_buffer() 154 risc->dma = 0; in cx88_risc_buffer() 155 risc->cpu = pci_zalloc_consistent(pci, risc->size, &risc->dma); in cx88_risc_buffer() 156 if (!risc->cpu) in cx88_risc_buffer() 159 /* write risc instructions */ in cx88_risc_buffer() 160 rp = risc->cpu; in cx88_risc_buffer() 170 risc->jmp = rp; in cx88_risc_buffer() 171 WARN_ON((risc->jmp - risc->cpu + 2) * sizeof(*risc->cpu) > risc->size); in cx88_risc_buffer() [all …]
|
| /kernel/linux/linux-4.19/drivers/media/pci/cx88/ |
| D | cx88-vbi.c | 59 VBI_LINE_LENGTH, buf->risc.dma); in cx8800_start_vbi_dma() 147 cx88_risc_buffer(dev->pci, &buf->risc, sgt->sgl, in buffer_prepare() 159 struct cx88_riscmem *risc = &buf->risc; in buffer_finish() local 161 if (risc->cpu) in buffer_finish() 162 pci_free_consistent(dev->pci, risc->size, risc->cpu, risc->dma); in buffer_finish() 163 memset(risc, 0, sizeof(*risc)); in buffer_finish() 175 buf->risc.cpu[1] = cpu_to_le32(buf->risc.dma + 8); in buffer_queue() 176 buf->risc.jmp[0] = cpu_to_le32(RISC_JUMP | RISC_CNT_INC); in buffer_queue() 177 buf->risc.jmp[1] = cpu_to_le32(buf->risc.dma + 8); in buffer_queue() 185 buf->risc.cpu[0] |= cpu_to_le32(RISC_IRQ1); in buffer_queue() [all …]
|
| D | cx88-core.c | 139 int cx88_risc_buffer(struct pci_dev *pci, struct cx88_riscmem *risc, in cx88_risc_buffer() argument 154 * estimate risc mem: worst case is one write per page border + in cx88_risc_buffer() 162 risc->size = instructions * 8; in cx88_risc_buffer() 163 risc->dma = 0; in cx88_risc_buffer() 164 risc->cpu = pci_zalloc_consistent(pci, risc->size, &risc->dma); in cx88_risc_buffer() 165 if (!risc->cpu) in cx88_risc_buffer() 168 /* write risc instructions */ in cx88_risc_buffer() 169 rp = risc->cpu; in cx88_risc_buffer() 179 risc->jmp = rp; in cx88_risc_buffer() 180 WARN_ON((risc->jmp - risc->cpu + 2) * sizeof(*risc->cpu) > risc->size); in cx88_risc_buffer() [all …]
|
| /kernel/linux/linux-5.10/Documentation/riscv/ |
| D | patch-acceptance.rst | 8 The RISC-V instruction set architecture is developed in the open: 13 challenge for RISC-V Linux maintenance. Linux maintainers disapprove 16 principles to the RISC-V-related code that will be accepted for 23 "Frozen" or "Ratified" by the RISC-V Foundation. (Developers may, of 27 Additionally, the RISC-V specification allows implementors to create 29 to go through any review or ratification process by the RISC-V 32 RISC-V extensions, we'll only to accept patches for extensions that 33 have been officially frozen or ratified by the RISC-V Foundation.
|
| /kernel/linux/linux-5.10/drivers/media/pci/tw68/ |
| D | tw68-risc.c | 24 * @rp: pointer to current risc program position 120 * @top_offset: offset within the risc program area for the 122 * @bottom_offset: offset within the risc program area for the 146 * estimate risc mem: worst case is one write per page border + in tw68_risc_buffer() 158 /* write risc instructions */ in tw68_risc_buffer() 170 /* assure risc buffer hasn't overflowed */ in tw68_risc_buffer() 179 static void tw68_risc_decode(u32 risc, u32 addr) 196 p = RISC_OP(risc); 197 if (!(risc & 0x80000000) || !instr[p].name) { 198 pr_debug("0x%08x [ INVALID ]\n", risc); [all …]
|
| /kernel/linux/linux-5.10/drivers/media/pci/cx23885/ |
| D | cx23885-core.c | 38 * encountered is "mpeg risc op code error". Only Ryzen platforms employ 45 MODULE_PARM_DESC(dma_reset_workaround, "periodic RiSC dma engine reset; 0-force disable, 1-driver d… 384 static int cx23885_risc_decode(u32 risc) in cx23885_risc_decode() argument 415 printk(KERN_DEBUG "0x%08x [ %s", risc, in cx23885_risc_decode() 416 instr[risc >> 28] ? instr[risc >> 28] : "INVALID"); in cx23885_risc_decode() 418 if (risc & (1 << (i + 12))) in cx23885_risc_decode() 420 pr_cont(" count=%d ]\n", risc & 0xfff); in cx23885_risc_decode() 421 return incr[risc >> 28] ? incr[risc >> 28] : 1; in cx23885_risc_decode() 456 unsigned int bpl, u32 risc) in cx23885_sram_channel_setup() argument 499 cx_write(ch->cmds_start + 0, risc); in cx23885_sram_channel_setup() [all …]
|
| D | cx23885-vbi.c | 94 VBI_LINE_LENGTH, buf->risc.dma); in cx23885_start_vbi_dma() 107 cx_set(VID_A_DMA_CTL, 0x22); /* FIFO and RISC enable */ in cx23885_start_vbi_dma() 144 cx23885_risc_vbibuffer(dev->pci, &buf->risc, in buffer_prepare() 162 * The risc program for each buffer works as follows: it starts with a simple 167 * This is the risc program of the first buffer to be queued if the active list 192 buf->risc.cpu[1] = cpu_to_le32(buf->risc.dma + 12); in buffer_queue() 193 buf->risc.jmp[0] = cpu_to_le32(RISC_JUMP | RISC_CNT_INC); in buffer_queue() 194 buf->risc.jmp[1] = cpu_to_le32(buf->risc.dma + 12); in buffer_queue() 195 buf->risc.jmp[2] = cpu_to_le32(0); /* bits 63-32 */ in buffer_queue() 205 buf->risc.cpu[0] |= cpu_to_le32(RISC_IRQ1); in buffer_queue() [all …]
|
| /kernel/linux/linux-4.19/drivers/media/pci/tw68/ |
| D | tw68-risc.c | 33 * @rp: pointer to current risc program position 129 * @top_offset: offset within the risc program area for the 131 * @bottom_offset: offset within the risc program area for the 155 * estimate risc mem: worst case is one write per page border + in tw68_risc_buffer() 167 /* write risc instructions */ in tw68_risc_buffer() 179 /* assure risc buffer hasn't overflowed */ in tw68_risc_buffer() 188 static void tw68_risc_decode(u32 risc, u32 addr) 205 p = RISC_OP(risc); 206 if (!(risc & 0x80000000) || !instr[p].name) { 207 pr_debug("0x%08x [ INVALID ]\n", risc); [all …]
|
| /kernel/linux/linux-4.19/drivers/media/pci/cx23885/ |
| D | cx23885-core.c | 48 * encountered is "mpeg risc op code error". Only Ryzen platforms employ 55 MODULE_PARM_DESC(dma_reset_workaround, "periodic RiSC dma engine reset; 0-force disable, 1-driver d… 394 static int cx23885_risc_decode(u32 risc) in cx23885_risc_decode() argument 425 printk(KERN_DEBUG "0x%08x [ %s", risc, in cx23885_risc_decode() 426 instr[risc >> 28] ? instr[risc >> 28] : "INVALID"); in cx23885_risc_decode() 428 if (risc & (1 << (i + 12))) in cx23885_risc_decode() 430 pr_cont(" count=%d ]\n", risc & 0xfff); in cx23885_risc_decode() 431 return incr[risc >> 28] ? incr[risc >> 28] : 1; in cx23885_risc_decode() 466 unsigned int bpl, u32 risc) in cx23885_sram_channel_setup() argument 509 cx_write(ch->cmds_start + 0, risc); in cx23885_sram_channel_setup() [all …]
|
| D | cx23885-vbi.c | 104 VBI_LINE_LENGTH, buf->risc.dma); in cx23885_start_vbi_dma() 117 cx_set(VID_A_DMA_CTL, 0x22); /* FIFO and RISC enable */ in cx23885_start_vbi_dma() 154 cx23885_risc_vbibuffer(dev->pci, &buf->risc, in buffer_prepare() 172 * The risc program for each buffer works as follows: it starts with a simple 177 * This is the risc program of the first buffer to be queued if the active list 202 buf->risc.cpu[1] = cpu_to_le32(buf->risc.dma + 12); in buffer_queue() 203 buf->risc.jmp[0] = cpu_to_le32(RISC_JUMP | RISC_CNT_INC); in buffer_queue() 204 buf->risc.jmp[1] = cpu_to_le32(buf->risc.dma + 12); in buffer_queue() 205 buf->risc.jmp[2] = cpu_to_le32(0); /* bits 63-32 */ in buffer_queue() 215 buf->risc.cpu[0] |= cpu_to_le32(RISC_IRQ1); in buffer_queue() [all …]
|
| /kernel/linux/linux-5.10/Documentation/translations/it_IT/riscv/ |
| D | patch-acceptance.rst | 12 L'insieme di istruzioni RISC-V sono sviluppate in modo aperto: le 18 supporto RISC-V nel kernel Linux. I manutentori Linux non amano 22 relativo all'architettura RISC-V che verrà accettato per l'inclusione 29 RISC-V li classifica come "Frozen" o "Retified". (Ovviamente, gli 33 In aggiunta, la specifica RISC-V permette agli implementatori di 35 attraverso il processo di revisione della fondazione RISC-V. Per 38 state ufficialmente accettate dalla fondazione RISC-V. (Ovviamente,
|
| /kernel/liteos_m/targets/riscv_nuclei_demo_soc_gcc/GCC/ |
| D | liteos_m.mk | 25 C_INCLUDES += -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/nmsis/Core/Include \ 26 -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/nmsis/DSP/Include \ 27 -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/nmsis/NN/Include 29 ASM_SOURCES += $(wildcard $(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/*.s) 31 ASMS_SOURCES += $(wildcard $(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/*.S) 33 C_SOURCES += $(wildcard $(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/*.c) 37 -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc
|
| /kernel/liteos_m/targets/riscv_nuclei_gd32vf103_soc_gcc/GCC/ |
| D | liteos_m.mk | 25 C_INCLUDES += -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/nmsis/Core/Include \ 26 -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/nmsis/DSP/Include \ 27 -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/nmsis/NN/Include 29 ASM_SOURCES += $(wildcard $(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/*.s) 31 ASMS_SOURCES += $(wildcard $(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/*.S) 33 C_SOURCES += $(wildcard $(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc/*.c) 37 -I$(LITEOSTOPDIR)/arch/risc-v/nuclei/gcc
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/riscv/ |
| D | cpus.yaml | 7 title: RISC-V bindings for 'cpus' DT nodes 14 This document uses some terminology common to the RISC-V community 18 mandated by the RISC-V ISA: a PC and some registers. This 39 Identifies that the hart uses the RISC-V instruction set 45 hart. These values originate from the RISC-V Privileged 56 Identifies the specific RISC-V instruction set architecture 57 supported by the hart. These are documented in the RISC-V 69 # RISC-V requires 'timebase-frequency' in /cpus, so disallow it here
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/interrupt-controller/ |
| D | riscv,cpu-intc.txt | 1 RISC-V Hart-Level Interrupt Controller (HLIC) 4 RISC-V cores include Control Status Registers (CSRs) which are local to each 5 CPU core (HART in RISC-V terminology) and can be read or written by software. 10 The RISC-V supervisor ISA manual specifies three interrupt sources that are 18 All RISC-V systems that conform to the supervisor ISA specification are 29 RISC-V supervisor ISA manual, with only the following three interrupts being
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/interrupt-controller/ |
| D | riscv,cpu-intc.txt | 1 RISC-V Hart-Level Interrupt Controller (HLIC) 4 RISC-V cores include Control Status Registers (CSRs) which are local to each 5 CPU core (HART in RISC-V terminology) and can be read or written by software. 10 The RISC-V supervisor ISA manual specifies three interrupt sources that are 18 All RISC-V systems that conform to the supervisor ISA specification are 29 RISC-V supervisor ISA manual, with only the following three interrupts being
|
| /kernel/linux/linux-5.10/drivers/media/pci/mantis/ |
| D | mantis_dma.c | 43 /* MANTIS_BUF_SIZE / MANTIS_DMA_TR_UNITS must not exceed MANTIS_RISC_SIZE (4k RISC cmd buffer) */ 44 #define MANTIS_RISC_SIZE PAGE_SIZE /* RISC program must fit here. */ 62 "RISC=0x%lx cpu=0x%p size=%lx", in mantis_dma_exit() 101 "RISC program allocation failed"); in mantis_alloc_buffers() 108 "RISC=0x%lx cpu=0x%p size=%lx", in mantis_alloc_buffers() 128 /* Stop RISC Engine */ in mantis_dma_init() 144 dprintk(MANTIS_DEBUG, 1, "Mantis create RISC program"); in mantis_risc_program() 147 dprintk(MANTIS_DEBUG, 1, "risc len lines %u, bytes per line %u, bytes per DMA tr %u", in mantis_risc_program() 152 dprintk(MANTIS_DEBUG, 1, "RISC PROG line=[%d], step=[%d]", line, step); in mantis_risc_program()
|
| /kernel/linux/linux-4.19/drivers/media/pci/mantis/ |
| D | mantis_dma.c | 55 /* MANTIS_BUF_SIZE / MANTIS_DMA_TR_UNITS must not exceed MANTIS_RISC_SIZE (4k RISC cmd buffer) */ 56 #define MANTIS_RISC_SIZE PAGE_SIZE /* RISC program must fit here. */ 74 "RISC=0x%lx cpu=0x%p size=%lx", in mantis_dma_exit() 113 "RISC program allocation failed"); in mantis_alloc_buffers() 120 "RISC=0x%lx cpu=0x%p size=%lx", in mantis_alloc_buffers() 140 /* Stop RISC Engine */ in mantis_dma_init() 156 dprintk(MANTIS_DEBUG, 1, "Mantis create RISC program"); in mantis_risc_program() 159 dprintk(MANTIS_DEBUG, 1, "risc len lines %u, bytes per line %u, bytes per DMA tr %u", in mantis_risc_program() 164 dprintk(MANTIS_DEBUG, 1, "RISC PROG line=[%d], step=[%d]", line, step); in mantis_risc_program()
|