Home
last modified time | relevance | path

Searched full:vpe (Results 1 – 25 of 122) sorted by relevance

12345

/kernel/linux/linux-5.10/arch/mips/kernel/
Dvpe-mt.c18 #include <asm/vpe.h>
25 /* We are prepared so configure and start the VPE... */
26 int vpe_run(struct vpe *v) in vpe_run()
33 /* check we are the Master VPE */ in vpe_run()
37 pr_warn("VPE loader: only Master VPE's are able to config MT\n"); in vpe_run()
51 pr_warn("VPE loader: No TC's associated with VPE %d\n", in vpe_run()
71 pr_warn("VPE loader: TC %d is already active!\n", in vpe_run()
95 * We don't pass the memsize here, so VPE programs need to be in vpe_run()
103 * bind the TC to VPE 1 as late as possible so we only have the final in vpe_run()
104 * VPE registers to set up, and so an EJTAG probe can trigger on it in vpe_run()
[all …]
Dvpe-cmp.c15 #include <asm/vpe.h>
27 struct vpe *vpe = get_vpe(aprp_cpu_index()); in store_kill() local
30 list_for_each_entry(notifier, &vpe->notify, list) in store_kill()
33 release_progmem(vpe->load_addr); in store_kill()
34 vpe->state = VPE_STATE_UNUSED; in store_kill()
43 struct vpe *vpe = get_vpe(aprp_cpu_index()); in ntcs_show() local
45 return sprintf(buf, "%d\n", vpe->ntcs); in ntcs_show()
51 struct vpe *vpe = get_vpe(aprp_cpu_index()); in ntcs_store() local
59 /* APRP can only reserve one TC in a VPE and no more. */ in ntcs_store()
63 vpe->ntcs = new; in ntcs_store()
[all …]
Dvpe.c9 * VPE spport module for loading a MIPS SP program into VPE1. The SP
36 #include <asm/vpe.h>
52 /* get the vpe associated with this minor */
53 struct vpe *get_vpe(int minor) in get_vpe()
55 struct vpe *res, *v; in get_vpe()
73 /* get the vpe associated with this minor */
91 /* allocate a vpe and associate it with this minor (or index) */
92 struct vpe *alloc_vpe(int minor) in alloc_vpe()
94 struct vpe *v; in alloc_vpe()
96 v = kzalloc(sizeof(struct vpe), GFP_KERNEL); in alloc_vpe()
[all …]
Dcps-vec.S172 * deactivate this VPE if it should be offline.
237 /* Only allow 1 TC per VPE to execute... */
240 /* ...and for the moment only 1 VPE */
246 /* Enter VPE configuration state */
261 /* Loop through each VPE within this core */
268 /* Bind TC to VPE (1:1 TC:VPE mapping) */
284 /* Next VPE */
290 /* Leave VPE configuration state */
305 * struct vpe_boot_config in v1, VPE ID in t9
338 /* Calculate a mask for the VPE ID from EBase.CPUNum */
[all …]
Dsmp-mt.c52 /* Deactivate all but VPE 0 */ in smvp_vpe_init()
58 /* master VPE */ in smvp_vpe_init()
87 /* bind a TC to each VPE, May as well put all excess TC's in smvp_tc_init()
88 on the last VPE */ in smvp_tc_init()
140 * assumes a 1:1 mapping of TC => VPE
153 /* enable the tc this vpe/cpu will be running */ in vsmp_boot_secondary()
158 /* enable the VPE */ in vsmp_boot_secondary()
209 /* we'll always have more TC's than VPE's, so loop setting everything in vsmp_smp_setup()
/kernel/linux/linux-6.6/arch/mips/kernel/
Dvpe-mt.c18 #include <asm/vpe.h>
25 /* We are prepared so configure and start the VPE... */
26 int vpe_run(struct vpe *v) in vpe_run()
33 /* check we are the Master VPE */ in vpe_run()
37 pr_warn("VPE loader: only Master VPE's are able to config MT\n"); in vpe_run()
51 pr_warn("VPE loader: No TC's associated with VPE %d\n", in vpe_run()
71 pr_warn("VPE loader: TC %d is already active!\n", in vpe_run()
95 * We don't pass the memsize here, so VPE programs need to be in vpe_run()
103 * bind the TC to VPE 1 as late as possible so we only have the final in vpe_run()
104 * VPE registers to set up, and so an EJTAG probe can trigger on it in vpe_run()
[all …]
Dvpe.c9 * VPE spport module for loading a MIPS SP program into VPE1. The SP
36 #include <asm/vpe.h>
52 /* get the vpe associated with this minor */
53 struct vpe *get_vpe(int minor) in get_vpe()
55 struct vpe *res, *v; in get_vpe()
73 /* get the vpe associated with this minor */
91 /* allocate a vpe and associate it with this minor (or index) */
92 struct vpe *alloc_vpe(int minor) in alloc_vpe()
94 struct vpe *v; in alloc_vpe()
96 v = kzalloc(sizeof(struct vpe), GFP_KERNEL); in alloc_vpe()
[all …]
Dcps-vec.S169 * deactivate this VPE if it should be offline.
234 /* Only allow 1 TC per VPE to execute... */
237 /* ...and for the moment only 1 VPE */
243 /* Enter VPE configuration state */
258 /* Loop through each VPE within this core */
265 /* Bind TC to VPE (1:1 TC:VPE mapping) */
281 /* Next VPE */
287 /* Leave VPE configuration state */
302 * struct vpe_boot_config in v1, VPE ID in t9
334 /* Calculate a mask for the VPE ID from EBase.CPUNum */
[all …]
Dsmp-mt.c53 /* Deactivate all but VPE 0 */ in smvp_vpe_init()
59 /* master VPE */ in smvp_vpe_init()
88 /* bind a TC to each VPE, May as well put all excess TC's in smvp_tc_init()
89 on the last VPE */ in smvp_tc_init()
141 * assumes a 1:1 mapping of TC => VPE
154 /* enable the tc this vpe/cpu will be running */ in vsmp_boot_secondary()
159 /* enable the VPE */ in vsmp_boot_secondary()
210 /* we'll always have more TC's than VPE's, so loop setting everything in vsmp_smp_setup()
Dmips-mt.c71 printk("-- per-VPE State --\n"); in mips_mt_regdump()
76 printk(" VPE %d\n", i); in mips_mt_regdump()
81 printk(" VPE%d.Status : %08lx\n", in mips_mt_regdump()
83 printk(" VPE%d.EPC : %08lx %pS\n", in mips_mt_regdump()
86 printk(" VPE%d.Cause : %08lx\n", in mips_mt_regdump()
88 printk(" VPE%d.Config7 : %08lx\n", in mips_mt_regdump()
90 break; /* Next VPE */ in mips_mt_regdump()
101 printk(" TC %d (current TC with VPE EPC above)\n", tc); in mips_mt_regdump()
/kernel/linux/linux-6.6/drivers/irqchip/
Dirq-gic-v4.c54 * with the actual vPE affinity, and not the braindead concept of
64 * The choice made here is that each vcpu (VPE in old northern GICv4
67 * interrupt becomes a handle for the VPE, and that the hypervisor
71 * contain an irq domain where each interrupt maps to a VPE. In
77 * - irq_set_affinity is used to move a VPE from one redistributor to
81 * creating a new sub-API, namely scheduling/descheduling a VPE
118 static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx) in its_alloc_vcpu_sgis() argument
130 vpe->fwnode = irq_domain_alloc_named_id_fwnode(name, idx); in its_alloc_vcpu_sgis()
131 if (!vpe->fwnode) in its_alloc_vcpu_sgis()
137 vpe->sgi_domain = irq_domain_create_linear(vpe->fwnode, 16, in its_alloc_vcpu_sgis()
[all …]
Dirq-gic-v3-its.c266 static int vpe_to_cpuid_lock(struct its_vpe *vpe, unsigned long *flags) in vpe_to_cpuid_lock() argument
268 raw_spin_lock_irqsave(&vpe->vpe_lock, *flags); in vpe_to_cpuid_lock()
269 return vpe->col_idx; in vpe_to_cpuid_lock()
272 static void vpe_to_cpuid_unlock(struct its_vpe *vpe, unsigned long flags) in vpe_to_cpuid_unlock() argument
274 raw_spin_unlock_irqrestore(&vpe->vpe_lock, flags); in vpe_to_cpuid_unlock()
281 struct its_vpe *vpe = NULL; in irq_to_cpuid_lock() local
285 vpe = irq_data_get_irq_chip_data(d); in irq_to_cpuid_lock()
289 vpe = map->vpe; in irq_to_cpuid_lock()
292 if (vpe) { in irq_to_cpuid_lock()
293 cpu = vpe_to_cpuid_lock(vpe, flags); in irq_to_cpuid_lock()
[all …]
/kernel/linux/linux-5.10/arch/mips/lantiq/
Dirq.c49 #define ltq_icu_w32(vpe, m, x, y) \ argument
50 ltq_w32((x), ltq_icu_membase[vpe] + m*LTQ_ICU_IM_SIZE + (y))
52 #define ltq_icu_r32(vpe, m, x) \ argument
53 ltq_r32(ltq_icu_membase[vpe] + m*LTQ_ICU_IM_SIZE + (x))
82 int vpe; in ltq_disable_irq() local
87 for_each_present_cpu(vpe) { in ltq_disable_irq()
88 ltq_icu_w32(vpe, im, in ltq_disable_irq()
89 ltq_icu_r32(vpe, im, LTQ_ICU_IER) & ~BIT(offset), in ltq_disable_irq()
100 int vpe; in ltq_mask_and_ack_irq() local
105 for_each_present_cpu(vpe) { in ltq_mask_and_ack_irq()
[all …]
/kernel/linux/linux-6.6/arch/mips/lantiq/
Dirq.c50 #define ltq_icu_w32(vpe, m, x, y) \ argument
51 ltq_w32((x), ltq_icu_membase[vpe] + m*LTQ_ICU_IM_SIZE + (y))
53 #define ltq_icu_r32(vpe, m, x) \ argument
54 ltq_r32(ltq_icu_membase[vpe] + m*LTQ_ICU_IM_SIZE + (x))
83 int vpe; in ltq_disable_irq() local
88 for_each_present_cpu(vpe) { in ltq_disable_irq()
89 ltq_icu_w32(vpe, im, in ltq_disable_irq()
90 ltq_icu_r32(vpe, im, LTQ_ICU_IER) & ~BIT(offset), in ltq_disable_irq()
101 int vpe; in ltq_mask_and_ack_irq() local
106 for_each_present_cpu(vpe) { in ltq_mask_and_ack_irq()
[all …]
/kernel/linux/linux-5.10/drivers/irqchip/
Dirq-gic-v4.c54 * with the actual vPE affinity, and not the braindead concept of
64 * The choice made here is that each vcpu (VPE in old northern GICv4
67 * interrupt becomes a handle for the VPE, and that the hypervisor
71 * contain an irq domain where each interrupt maps to a VPE. In
77 * - irq_set_affinity is used to move a VPE from one redistributor to
81 * creating a new sub-API, namely scheduling/descheduling a VPE
95 static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx) in its_alloc_vcpu_sgis() argument
107 vpe->fwnode = irq_domain_alloc_named_id_fwnode(name, idx); in its_alloc_vcpu_sgis()
108 if (!vpe->fwnode) in its_alloc_vcpu_sgis()
114 vpe->sgi_domain = irq_domain_create_linear(vpe->fwnode, 16, in its_alloc_vcpu_sgis()
[all …]
Dirq-gic-v3-its.c259 static int vpe_to_cpuid_lock(struct its_vpe *vpe, unsigned long *flags) in vpe_to_cpuid_lock() argument
261 raw_spin_lock_irqsave(&vpe->vpe_lock, *flags); in vpe_to_cpuid_lock()
262 return vpe->col_idx; in vpe_to_cpuid_lock()
265 static void vpe_to_cpuid_unlock(struct its_vpe *vpe, unsigned long flags) in vpe_to_cpuid_unlock() argument
267 raw_spin_unlock_irqrestore(&vpe->vpe_lock, flags); in vpe_to_cpuid_unlock()
274 struct its_vpe *vpe = NULL; in irq_to_cpuid_lock() local
278 vpe = irq_data_get_irq_chip_data(d); in irq_to_cpuid_lock()
282 vpe = map->vpe; in irq_to_cpuid_lock()
285 if (vpe) { in irq_to_cpuid_lock()
286 cpu = vpe_to_cpuid_lock(vpe, flags); in irq_to_cpuid_lock()
[all …]
/kernel/linux/linux-6.6/include/linux/irqchip/
Darm-gic-v4.h35 /* per-vPE VLPI tracking */
40 /* VPE resident */
47 /* VPE proxy mapping */
64 /* Track the VPE being mapped */
69 * vPE and vLPI operations using vpe->col_idx.
74 * redistributor for this VPE. The ID itself isn't involved in
78 /* Unique (system-wide) VPE identifier */
91 * @vpe: Pointer to the GICv4 notion of a virtual CPU (VPE)
94 * @db_enabled: Is the VPE doorbell to be generated?
98 struct its_vpe *vpe; member
[all …]
/kernel/linux/linux-6.6/arch/mips/include/asm/
Dvpe.h17 #define VPE_MODULE_NAME "vpe"
49 struct vpe { struct
52 /* (device) minor associated with this vpe */
63 /* tc's associated with this vpe */ argument
66 /* The list of vpe's */ argument
82 struct vpe *pvpe; /* parent VPE */ argument
83 struct list_head tc; /* The list of TC's with this VPE */
88 void (*start)(int vpe);
89 void (*stop)(int vpe);
108 struct vpe *get_vpe(int minor);
[all …]
/kernel/linux/linux-5.10/include/linux/irqchip/
Darm-gic-v4.h35 /* per-vPE VLPI tracking */
40 /* VPE resident */
45 /* VPE proxy mapping */
62 /* Track the VPE being mapped */
67 * vPE and vLPI operations using vpe->col_idx.
72 * redistributor for this VPE. The ID itself isn't involved in
76 /* Unique (system-wide) VPE identifier */
89 * @vpe: Pointer to the GICv4 notion of a virtual CPU (VPE)
92 * @db_enabled: Is the VPE doorbell to be generated?
96 struct its_vpe *vpe; member
[all …]
/kernel/linux/linux-5.10/arch/mips/include/asm/
Dvpe.h17 #define VPE_MODULE_NAME "vpe"
54 struct vpe { struct
57 /* (device) minor associated with this vpe */
69 /* tc's associated with this vpe */ argument
72 /* The list of vpe's */ argument
88 struct vpe *pvpe; /* parent VPE */ argument
89 struct list_head tc; /* The list of TC's with this VPE */
94 void (*start)(int vpe);
95 void (*stop)(int vpe);
115 struct vpe *get_vpe(int minor);
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/media/
Dti,vpe.yaml4 $id: http://devicetree.org/schemas/media/ti,vpe.yaml#
7 title: Texas Instruments DRA7x Video Processing Engine (VPE) Device Tree Bindings
13 The Video Processing Engine (VPE) is a key component for image post
14 processing applications. VPE consist of a single memory to memory
20 const: ti,dra7-vpe
24 - description: The VPE main register region
51 vpe: vpe@489d0000 {
52 compatible = "ti,dra7-vpe";
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/media/
Dti,vpe.yaml4 $id: http://devicetree.org/schemas/media/ti,vpe.yaml#
7 title: Texas Instruments DRA7x Video Processing Engine (VPE)
13 The Video Processing Engine (VPE) is a key component for image post
14 processing applications. VPE consist of a single memory to memory
20 const: ti,dra7-vpe
24 - description: The VPE main register region
51 vpe: vpe@489d0000 {
52 compatible = "ti,dra7-vpe";
/kernel/linux/linux-6.6/arch/arm64/kvm/vgic/
Dvgic-v4.c94 * The v4.1 doorbell can fire concurrently with the vPE being in vgic_v4_doorbell_handler()
108 static void vgic_v4_sync_sgi_config(struct its_vpe *vpe, struct vgic_irq *irq) in vgic_v4_sync_sgi_config() argument
110 vpe->sgi_config[irq->intid].enabled = irq->enabled; in vgic_v4_sync_sgi_config()
111 vpe->sgi_config[irq->intid].group = irq->group; in vgic_v4_sync_sgi_config()
112 vpe->sgi_config[irq->intid].priority = irq->priority; in vgic_v4_sync_sgi_config()
117 struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_enable_vsgis() local
137 irq->host_irq = irq_find_mapping(vpe->sgi_domain, i); in vgic_v4_enable_vsgis()
139 /* Transfer the full irq state to the vPE */ in vgic_v4_enable_vsgis()
140 vgic_v4_sync_sgi_config(vpe, irq); in vgic_v4_enable_vsgis()
208 * Must be called with GICv4.1 and the vPE unmapped, which
[all …]
/kernel/linux/linux-5.10/arch/arm64/kvm/vgic/
Dvgic-v4.c94 * The v4.1 doorbell can fire concurrently with the vPE being in vgic_v4_doorbell_handler()
108 static void vgic_v4_sync_sgi_config(struct its_vpe *vpe, struct vgic_irq *irq) in vgic_v4_sync_sgi_config() argument
110 vpe->sgi_config[irq->intid].enabled = irq->enabled; in vgic_v4_sync_sgi_config()
111 vpe->sgi_config[irq->intid].group = irq->group; in vgic_v4_sync_sgi_config()
112 vpe->sgi_config[irq->intid].priority = irq->priority; in vgic_v4_sync_sgi_config()
117 struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_enable_vsgis() local
137 irq->host_irq = irq_find_mapping(vpe->sgi_domain, i); in vgic_v4_enable_vsgis()
139 /* Transfer the full irq state to the vPE */ in vgic_v4_enable_vsgis()
140 vgic_v4_sync_sgi_config(vpe, irq); in vgic_v4_enable_vsgis()
241 kvm_err("VPE IRQ allocation failure\n"); in vgic_v4_init()
[all …]
/kernel/linux/linux-6.6/drivers/media/platform/ti/
DKconfig6 # These will be selected by VPE and VIP
47 tristate "TI VPE (Video Processing Engine) driver"
57 Support for the TI VPE(Video Processing Engine) block
61 bool "VPE debug messages"
64 Enable debug messages on VPE driver.

12345