Home
last modified time | relevance | path

Searched +full:0 +full:- +full:job +full:- +full:ring (Results 1 – 25 of 174) sorted by relevance

1234567

/openbmc/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ib.c45 * command ring and the hw will fetch the commands from the IB
48 * put in IBs for execution by the requested ring.
52 * amdgpu_ib_get - request an IB (Indirect Buffer)
62 * Returns 0 on success, error on failure.
71 r = amdgpu_sa_bo_new(&adev->ib_pools[pool_type], in amdgpu_ib_get()
72 &ib->sa_bo, size); in amdgpu_ib_get()
74 dev_err(adev->dev, "failed to get a new IB (%d)\n", r); in amdgpu_ib_get()
78 ib->ptr = amdgpu_sa_bo_cpu_addr(ib->sa_bo); in amdgpu_ib_get()
80 ib->flags = AMDGPU_IB_FLAG_EMIT_MEM_SYNC; in amdgpu_ib_get()
83 ib->gpu_addr = amdgpu_sa_bo_gpu_addr(ib->sa_bo); in amdgpu_ib_get()
[all …]
H A Damdgpu_job.c36 struct amdgpu_ring *ring = to_amdgpu_ring(s_job->sched); in amdgpu_job_timedout() local
37 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_timedout() local
39 struct amdgpu_device *adev = ring->adev; in amdgpu_job_timedout()
44 DRM_INFO("%s - device unplugged skipping recovery on scheduler:%s", in amdgpu_job_timedout()
45 __func__, s_job->sched->name); in amdgpu_job_timedout()
47 /* Effectively the job is aborted as the device is gone */ in amdgpu_job_timedout()
51 memset(&ti, 0, sizeof(struct amdgpu_task_info)); in amdgpu_job_timedout()
52 adev->job_hang = true; in amdgpu_job_timedout()
55 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout()
56 DRM_ERROR("ring %s timeout, but soft recovered\n", in amdgpu_job_timedout()
[all …]
H A Damdgpu_ids.c26 #include <linux/dma-fence-array.h>
50 * amdgpu_pasid_alloc - Allocate a PASID
56 * Returns a positive integer on success. Returns %-EINVAL if bits==0.
57 * Returns %-ENOSPC if no PASID was available. Returns %-ENOMEM on
62 int pasid = -EINVAL; in amdgpu_pasid_alloc()
64 for (bits = min(bits, 31U); bits > 0; bits--) { in amdgpu_pasid_alloc()
66 1U << (bits - 1), 1U << bits, in amdgpu_pasid_alloc()
68 if (pasid != -ENOSPC) in amdgpu_pasid_alloc()
72 if (pasid >= 0) in amdgpu_pasid_alloc()
79 * amdgpu_pasid_free - Free a PASID
[all …]
H A Damdgpu_fence.c15 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
48 * are no longer in use by the associated ring on the GPU and
56 struct amdgpu_ring *ring; member
65 "amdgpu_fence", sizeof(struct amdgpu_fence), 0, in amdgpu_fence_slab_init()
68 return -ENOMEM; in amdgpu_fence_slab_init()
69 return 0; in amdgpu_fence_slab_init()
86 if (__f->base.ops == &amdgpu_fence_ops || in to_amdgpu_fence()
87 __f->base.ops == &amdgpu_job_fence_ops) in to_amdgpu_fence()
94 * amdgpu_fence_write - write a fence value
96 * @ring: ring the fence is associated with
[all …]
H A Damdgpu_trace.h35 #define AMDGPU_JOB_GET_TIMELINE_NAME(job) \ argument
36 job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished)
47 __entry->did = did;
48 __entry->reg = reg;
49 __entry->value = value;
51 TP_printk("0x%04lx, 0x%08lx, 0x%08lx",
52 (unsigned long)__entry->did,
53 (unsigned long)__entry->reg,
54 (unsigned long)__entry->value)
66 __entry->did = did;
[all …]
H A Damdgpu_ring.h57 #define AMDGPU_FENCE_OWNER_UNDEFINED ((void *)0ul)
61 #define AMDGPU_FENCE_FLAG_64BIT (1 << 0)
89 /* Direct submission to the ring buffer during init and reset. */
114 /* sync_seq is protected by ring emission lock */
128 void amdgpu_fence_driver_clear_job_fences(struct amdgpu_ring *ring);
129 void amdgpu_fence_driver_set_error(struct amdgpu_ring *ring, int error);
130 void amdgpu_fence_driver_force_completion(struct amdgpu_ring *ring);
132 int amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring);
133 int amdgpu_fence_driver_start_ring(struct amdgpu_ring *ring,
140 int amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **fence, struct amdgpu_job *job,
[all …]
H A Damdgpu_vce.c15 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
85 static int amdgpu_vce_get_create_msg(struct amdgpu_ring *ring, uint32_t handle,
87 static int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle,
91 * amdgpu_vce_sw_init - allocate memory, load vce firmware
105 switch (adev->asic_type) { in amdgpu_vce_sw_init()
158 return -EINVAL; in amdgpu_vce_sw_init()
161 r = amdgpu_ucode_request(adev, &adev->vce.fw, fw_name); in amdgpu_vce_sw_init()
163 dev_err(adev->dev, "amdgpu_vce: Can't validate firmware \"%s\"\n", in amdgpu_vce_sw_init()
165 amdgpu_ucode_release(&adev->vce.fw); in amdgpu_vce_sw_init()
169 hdr = (const struct common_firmware_header *)adev->vce.fw->data; in amdgpu_vce_sw_init()
[all …]
H A Duvd_v6_0.c57 * uvd_v6_0_enc_support - get encode support status
65 return ((adev->asic_type >= CHIP_POLARIS10) && in uvd_v6_0_enc_support()
66 (adev->asic_type <= CHIP_VEGAM) && in uvd_v6_0_enc_support()
67 (!adev->uvd.fw_version || adev->uvd.fw_version >= FW_1_130_16)); in uvd_v6_0_enc_support()
71 * uvd_v6_0_ring_get_rptr - get read pointer
73 * @ring: amdgpu_ring pointer
77 static uint64_t uvd_v6_0_ring_get_rptr(struct amdgpu_ring *ring) in uvd_v6_0_ring_get_rptr() argument
79 struct amdgpu_device *adev = ring->adev; in uvd_v6_0_ring_get_rptr()
85 * uvd_v6_0_enc_ring_get_rptr - get enc read pointer
87 * @ring: amdgpu_ring pointer
[all …]
H A Damdgpu_vcn.c15 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
94 r = amdgpu_ucode_request(adev, &adev->vcn.fw, fw_name); in amdgpu_vcn_early_init()
96 amdgpu_ucode_release(&adev->vcn.fw); in amdgpu_vcn_early_init()
109 INIT_DELAYED_WORK(&adev->vcn.idle_work, amdgpu_vcn_idle_work_handler); in amdgpu_vcn_sw_init()
110 mutex_init(&adev->vcn.vcn_pg_lock); in amdgpu_vcn_sw_init()
111 mutex_init(&adev->vcn.vcn1_jpeg1_workaround); in amdgpu_vcn_sw_init()
112 atomic_set(&adev->vcn.total_submission_cnt, 0); in amdgpu_vcn_sw_init()
113 for (i = 0; i < adev->vcn.num_vcn_inst; i++) in amdgpu_vcn_sw_init()
114 atomic_set(&adev->vcn.inst[i].dpg_enc_submission_cnt, 0); in amdgpu_vcn_sw_init()
116 if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && in amdgpu_vcn_sw_init()
[all …]
H A Duvd_v7_0.c44 …UVD_PG0_CC_UVD_HARVESTING 0x00c7
47 …0_CC_UVD_HARVESTING__UVD_DISABLE__SHIFT 0x1
48 …_HARVESTING__UVD_DISABLE_MASK 0x00000002L
65 * uvd_v7_0_ring_get_rptr - get read pointer
67 * @ring: amdgpu_ring pointer
71 static uint64_t uvd_v7_0_ring_get_rptr(struct amdgpu_ring *ring) in uvd_v7_0_ring_get_rptr() argument
73 struct amdgpu_device *adev = ring->adev; in uvd_v7_0_ring_get_rptr()
75 return RREG32_SOC15(UVD, ring->me, mmUVD_RBC_RB_RPTR); in uvd_v7_0_ring_get_rptr()
79 * uvd_v7_0_enc_ring_get_rptr - get enc read pointer
81 * @ring: amdgpu_ring pointer
[all …]
H A Damdgpu_jpeg.c15 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
39 INIT_DELAYED_WORK(&adev->jpeg.idle_work, amdgpu_jpeg_idle_work_handler); in amdgpu_jpeg_sw_init()
40 mutex_init(&adev->jpeg.jpeg_pg_lock); in amdgpu_jpeg_sw_init()
41 atomic_set(&adev->jpeg.total_submission_cnt, 0); in amdgpu_jpeg_sw_init()
43 return 0; in amdgpu_jpeg_sw_init()
50 for (i = 0; i < adev->jpeg.num_jpeg_inst; ++i) { in amdgpu_jpeg_sw_fini()
51 if (adev->jpeg.harvest_config & (1 << i)) in amdgpu_jpeg_sw_fini()
54 for (j = 0; j < adev->jpeg.num_jpeg_rings; ++j) in amdgpu_jpeg_sw_fini()
55 amdgpu_ring_fini(&adev->jpeg.inst[i].ring_dec[j]); in amdgpu_jpeg_sw_fini()
58 mutex_destroy(&adev->jpeg.jpeg_pg_lock); in amdgpu_jpeg_sw_fini()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/powerpc/fsl/
H A Draideng.txt3 RAID Engine nodes are defined to describe on-chip RAID accelerators. Each RAID
11 - compatible: Should contain "fsl,raideng-v1.0" as the value
13 major number whereas 0 represents minor number. The
15 - reg: offset and length of the register set for the device
16 - ranges: standard ranges property specifying the translation
22 compatible = "fsl,raideng-v1.0";
23 #address-cells = <1>;
24 #size-cells = <1>;
25 reg = <0x320000 0x10000>;
26 ranges = <0 0x320000 0x10000>;
[all …]
/openbmc/linux/Documentation/devicetree/bindings/crypto/
H A Dfsl-sec6.txt4 -SEC 6 Node
5 -Job Ring Node
6 -Full Example
20 - compatible
23 Definition: Must include "fsl,sec-v6.0".
25 - fsl,sec-era
31 - #address-cells
37 - #size-cells
44 - reg
46 Value type: <prop-encoded-array>
[all …]
H A Dfsl,sec-v4.0.yaml1 # SPDX-License-Identifier: GPL-2.0
2 # Copyright (C) 2008-2011 Freescale Semiconductor Inc.
4 ---
5 $id: http://devicetree.org/schemas/crypto/fsl,sec-v4.0.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
11 - '"Horia Geantă" <horia.geanta@nxp.com>'
12 - Pankaj Gupta <pankaj.gupta@nxp.com>
13 - Gaurav Jain <gaurav.jain@nxp.com>
21 2. Job Rings (HW interface between cores & SEC 4 registers).
25 HW interface between QM & SEC 4 and also BM & SEC 4, on DPAA-enabled parts
[all …]
/openbmc/linux/arch/powerpc/boot/dts/fsl/
H A Dqoriq-sec6.0-0.dtsi35 compatible = "fsl,sec-v6.0", "fsl,sec-v5.0",
36 "fsl,sec-v4.0";
37 fsl,sec-era = <6>;
38 #address-cells = <1>;
39 #size-cells = <1>;
42 compatible = "fsl,sec-v6.0-job-ring",
43 "fsl,sec-v5.2-job-ring",
44 "fsl,sec-v5.0-job-ring",
45 "fsl,sec-v4.4-job-ring",
46 "fsl,sec-v4.0-job-ring";
[all …]
H A Dqoriq-sec5.2-0.dtsi2 * QorIQ Sec/Crypto 5.2 device tree stub [ controller @ offset 0x300000 ]
4 * Copyright 2011-2012 Freescale Semiconductor Inc.
36 compatible = "fsl,sec-v5.2", "fsl,sec-v5.0", "fsl,sec-v4.0";
37 fsl,sec-era = <5>;
38 #address-cells = <1>;
39 #size-cells = <1>;
40 reg = <0x300000 0x10000>;
41 ranges = <0 0x300000 0x10000>;
42 interrupts = <92 2 0 0>;
45 compatible = "fsl,sec-v5.2-job-ring",
[all …]
H A Dqoriq-sec5.3-0.dtsi2 * QorIQ Sec/Crypto 5.3 device tree stub [ controller @ offset 0x300000 ]
36 compatible = "fsl,sec-v5.3", "fsl,sec-v5.0", "fsl,sec-v4.0";
37 fsl,sec-era = <4>;
38 #address-cells = <1>;
39 #size-cells = <1>;
40 reg = <0x300000 0x10000>;
41 ranges = <0 0x300000 0x10000>;
42 interrupts = <92 2 0 0>;
45 compatible = "fsl,sec-v5.3-job-ring",
46 "fsl,sec-v5.0-job-ring",
[all …]
H A Dpq3-sec4.4-0.dtsi2 * PQ3 Sec/Crypto 4.4 device tree stub [ controller @ offset 0x30000 ]
36 compatible = "fsl,sec-v4.4", "fsl,sec-v4.0";
37 fsl,sec-era = <3>;
38 #address-cells = <1>;
39 #size-cells = <1>;
40 ranges = <0x0 0x30000 0x10000>;
41 reg = <0x30000 0x10000>;
42 interrupts = <58 2 0 0>;
45 compatible = "fsl,sec-v4.4-job-ring", "fsl,sec-v4.0-job-ring";
46 reg = <0x1000 0x1000>;
[all …]
H A Dqoriq-sec5.0-0.dtsi2 * QorIQ Sec/Crypto 5.0 device tree stub [ controller @ offset 0x300000 ]
36 compatible = "fsl,sec-v5.0", "fsl,sec-v4.0";
37 fsl,sec-era = <5>;
38 #address-cells = <1>;
39 #size-cells = <1>;
40 reg = <0x300000 0x10000>;
41 ranges = <0 0x300000 0x10000>;
42 interrupts = <92 2 0 0>;
45 compatible = "fsl,sec-v5.0-job-ring",
46 "fsl,sec-v4.0-job-ring";
[all …]
H A Dqoriq-sec4.2-0.dtsi2 * QorIQ Sec/Crypto 4.2 device tree stub [ controller @ offset 0x300000 ]
36 compatible = "fsl,sec-v4.2", "fsl,sec-v4.0";
37 fsl,sec-era = <3>;
38 #address-cells = <1>;
39 #size-cells = <1>;
40 reg = <0x300000 0x10000>;
41 ranges = <0 0x300000 0x10000>;
42 interrupts = <92 2 0 0>;
45 compatible = "fsl,sec-v4.2-job-ring",
46 "fsl,sec-v4.0-job-ring";
[all …]
H A Dqoriq-raid1.0-0.dtsi2 * QorIQ RAID 1.0 device tree stub [ controller @ offset 0x320000 ]
36 compatible = "fsl,raideng-v1.0";
37 #address-cells = <1>;
38 #size-cells = <1>;
39 reg = <0x320000 0x10000>;
40 ranges = <0 0x320000 0x10000>;
43 compatible = "fsl,raideng-v1.0-job-queue";
44 #address-cells = <1>;
45 #size-cells = <1>;
46 reg = <0x1000 0x1000>;
[all …]
/openbmc/linux/drivers/gpu/drm/msm/
H A Dmsm_ringbuffer.c1 // SPDX-License-Identifier: GPL-2.0-only
14 static struct dma_fence *msm_job_run(struct drm_sched_job *job) in msm_job_run() argument
16 struct msm_gem_submit *submit = to_msm_submit(job); in msm_job_run()
17 struct msm_fence_context *fctx = submit->ring->fctx; in msm_job_run()
18 struct msm_gpu *gpu = submit->gpu; in msm_job_run()
19 struct msm_drm_private *priv = gpu->dev->dev_private; in msm_job_run()
22 msm_fence_init(submit->hw_fence, fctx); in msm_job_run()
24 mutex_lock(&priv->lru.lock); in msm_job_run()
26 for (i = 0; i < submit->nr_bos; i++) { in msm_job_run()
27 struct drm_gem_object *obj = submit->bos[i].obj; in msm_job_run()
[all …]
/openbmc/linux/drivers/crypto/caam/
H A Djr.c1 // SPDX-License-Identifier: GPL-2.0+
6 * Copyright 2008-2012 Freescale Semiconductor, Inc.
42 jrpriv->hwrng = !caam_rng_init(dev); in register_algs()
54 if (--active_devs != 0) in unregister_algs()
72 /* Free the resources of crypto-engine */ in caam_jr_crypto_engine_exit()
73 crypto_engine_exit(jrpriv->engine); in caam_jr_crypto_engine_exit()
87 if (rd_reg32(&jrp->rregs->jrintstatus) & JRINT_ERR_HALT_INPROGRESS) in caam_jr_stop_processing()
91 clrsetbits_32(&jrp->rregs->jrintstatus, JRINT_ERR_HALT_MASK, 0); in caam_jr_stop_processing()
94 wr_reg32(&jrp->rregs->jrcommand, jrcr_bits); in caam_jr_stop_processing()
97 while (((rd_reg32(&jrp->rregs->jrintstatus) & JRINT_ERR_HALT_MASK) == in caam_jr_stop_processing()
[all …]
H A Dintern.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 * Copyright 2008-2011 Freescale Semiconductor, Inc.
16 /* Currently comes from Kconfig param as a ^2 (driver-required) */
20 * Maximum size for crypto-engine software queue based on Job Ring
21 * size (JOBR_DEPTH) and a THRESHOLD (reserved for the non-crypto-API
22 * requests that are not passed through crypto-engine)
25 #define CRYPTO_ENGINE_MAX_QLEN (JOBR_DEPTH - THRESHOLD)
33 #define JOBR_INTC 0
34 #define JOBR_INTC_TIME_THLD 0
35 #define JOBR_INTC_COUNT_THLD 0
[all …]
/openbmc/linux/drivers/dma/
H A Dfsl_raid.h13 * Copyright (c) 2010-2012 Freescale Semiconductor, Inc.
47 #define FSL_RE_GFM_POLY 0x1d000000
50 #define FSL_RE_CFG1_CBSI 0x08000000
51 #define FSL_RE_CFG1_CBS0 0x00080000
56 #define FSL_RE_PQ_OPCODE 0x1B
57 #define FSL_RE_XOR_OPCODE 0x1A
58 #define FSL_RE_MOVE_OPCODE 0x8
60 #define FSL_RE_BLOCK_SIZE 0x3 /* 4096 bytes */
61 #define FSL_RE_CACHEABLE_IO 0x0
62 #define FSL_RE_BUFFER_OUTPUT 0x0
[all …]

1234567