/kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
H A D | radeon_semaphore.c | 35 struct radeon_semaphore **semaphore) in radeon_semaphore_create() 39 *semaphore = kmalloc(sizeof(struct radeon_semaphore), GFP_KERNEL); in radeon_semaphore_create() 40 if (*semaphore == NULL) { in radeon_semaphore_create() 44 &(*semaphore)->sa_bo, 8, 8); in radeon_semaphore_create() 46 kfree(*semaphore); in radeon_semaphore_create() 47 *semaphore = NULL; in radeon_semaphore_create() 50 (*semaphore)->waiters = 0; in radeon_semaphore_create() 51 (*semaphore)->gpu_addr = radeon_sa_bo_gpu_addr((*semaphore)->sa_bo); in radeon_semaphore_create() 53 *((uint64_t *)radeon_sa_bo_cpu_addr((*semaphore) in radeon_semaphore_create() 34 radeon_semaphore_create(struct radeon_device *rdev, struct radeon_semaphore **semaphore) radeon_semaphore_create() argument 58 radeon_semaphore_emit_signal(struct radeon_device *rdev, int ridx, struct radeon_semaphore *semaphore) radeon_semaphore_emit_signal() argument 75 radeon_semaphore_emit_wait(struct radeon_device *rdev, int ridx, struct radeon_semaphore *semaphore) radeon_semaphore_emit_wait() argument 92 radeon_semaphore_free(struct radeon_device *rdev, struct radeon_semaphore **semaphore, struct radeon_fence *fence) radeon_semaphore_free() argument [all...] |
H A D | radeon_test.c | 318 struct radeon_semaphore *semaphore = NULL; in radeon_test_ring_sync() local 321 r = radeon_semaphore_create(rdev, &semaphore); in radeon_test_ring_sync() 323 DRM_ERROR("Failed to create semaphore\n"); in radeon_test_ring_sync() 332 radeon_semaphore_emit_wait(rdev, ringA->idx, semaphore); in radeon_test_ring_sync() 344 radeon_semaphore_emit_wait(rdev, ringA->idx, semaphore); in radeon_test_ring_sync() 354 DRM_ERROR("Fence 1 signaled without waiting for semaphore.\n"); in radeon_test_ring_sync() 363 radeon_semaphore_emit_signal(rdev, ringB->idx, semaphore); in radeon_test_ring_sync() 375 DRM_ERROR("Fence 2 signaled without waiting for semaphore.\n"); in radeon_test_ring_sync() 384 radeon_semaphore_emit_signal(rdev, ringB->idx, semaphore); in radeon_test_ring_sync() 394 radeon_semaphore_free(rdev, &semaphore, NUL in radeon_test_ring_sync() 412 struct radeon_semaphore *semaphore = NULL; radeon_test_ring_sync2() local [all...] |
H A D | radeon_sync.c | 55 * radeon_sync_fence - use the semaphore to sync to a fence 60 * Sync to the fence using the semaphore objects 86 * Sync to the fence using the semaphore objects 145 struct radeon_semaphore *semaphore; in radeon_sync_rings() local 164 r = radeon_semaphore_create(rdev, &semaphore); in radeon_sync_rings() 168 sync->semaphores[count++] = semaphore; in radeon_sync_rings() 175 /* emit the signal semaphore */ in radeon_sync_rings() 176 if (!radeon_semaphore_emit_signal(rdev, i, semaphore)) { in radeon_sync_rings() 186 if (!radeon_semaphore_emit_wait(rdev, ring, semaphore)) { in radeon_sync_rings()
|
H A D | uvd_v3_1.c | 30 * uvd_v3_1_semaphore_emit - emit semaphore command 34 * @semaphore: semaphore to emit commands for 37 * Emit a semaphore command (either wait or signal) to the UVD ring. 41 struct radeon_semaphore *semaphore, in uvd_v3_1_semaphore_emit() 44 uint64_t addr = semaphore->gpu_addr; in uvd_v3_1_semaphore_emit() 39 uvd_v3_1_semaphore_emit(struct radeon_device *rdev, struct radeon_ring *ring, struct radeon_semaphore *semaphore, bool emit_wait) uvd_v3_1_semaphore_emit() argument
|
/kernel/linux/linux-6.6/drivers/gpu/drm/radeon/ |
H A D | radeon_semaphore.c | 35 struct radeon_semaphore **semaphore) in radeon_semaphore_create() 39 *semaphore = kmalloc(sizeof(struct radeon_semaphore), GFP_KERNEL); in radeon_semaphore_create() 40 if (*semaphore == NULL) { in radeon_semaphore_create() 44 &(*semaphore)->sa_bo, 8, 8); in radeon_semaphore_create() 46 kfree(*semaphore); in radeon_semaphore_create() 47 *semaphore = NULL; in radeon_semaphore_create() 50 (*semaphore)->waiters = 0; in radeon_semaphore_create() 51 (*semaphore)->gpu_addr = radeon_sa_bo_gpu_addr((*semaphore)->sa_bo); in radeon_semaphore_create() 53 *((uint64_t *)radeon_sa_bo_cpu_addr((*semaphore) in radeon_semaphore_create() 34 radeon_semaphore_create(struct radeon_device *rdev, struct radeon_semaphore **semaphore) radeon_semaphore_create() argument 58 radeon_semaphore_emit_signal(struct radeon_device *rdev, int ridx, struct radeon_semaphore *semaphore) radeon_semaphore_emit_signal() argument 75 radeon_semaphore_emit_wait(struct radeon_device *rdev, int ridx, struct radeon_semaphore *semaphore) radeon_semaphore_emit_wait() argument 92 radeon_semaphore_free(struct radeon_device *rdev, struct radeon_semaphore **semaphore, struct radeon_fence *fence) radeon_semaphore_free() argument [all...] |
H A D | radeon_test.c | 318 struct radeon_semaphore *semaphore = NULL; in radeon_test_ring_sync() local 321 r = radeon_semaphore_create(rdev, &semaphore); in radeon_test_ring_sync() 323 DRM_ERROR("Failed to create semaphore\n"); in radeon_test_ring_sync() 332 radeon_semaphore_emit_wait(rdev, ringA->idx, semaphore); in radeon_test_ring_sync() 344 radeon_semaphore_emit_wait(rdev, ringA->idx, semaphore); in radeon_test_ring_sync() 354 DRM_ERROR("Fence 1 signaled without waiting for semaphore.\n"); in radeon_test_ring_sync() 363 radeon_semaphore_emit_signal(rdev, ringB->idx, semaphore); in radeon_test_ring_sync() 375 DRM_ERROR("Fence 2 signaled without waiting for semaphore.\n"); in radeon_test_ring_sync() 384 radeon_semaphore_emit_signal(rdev, ringB->idx, semaphore); in radeon_test_ring_sync() 394 radeon_semaphore_free(rdev, &semaphore, NUL in radeon_test_ring_sync() 412 struct radeon_semaphore *semaphore = NULL; radeon_test_ring_sync2() local [all...] |
H A D | radeon_sync.c | 55 * radeon_sync_fence - use the semaphore to sync to a fence 60 * Sync to the fence using the semaphore objects 87 * Sync to the fence using the semaphore objects 130 struct radeon_semaphore *semaphore; in radeon_sync_rings() local 149 r = radeon_semaphore_create(rdev, &semaphore); in radeon_sync_rings() 153 sync->semaphores[count++] = semaphore; in radeon_sync_rings() 160 /* emit the signal semaphore */ in radeon_sync_rings() 161 if (!radeon_semaphore_emit_signal(rdev, i, semaphore)) { in radeon_sync_rings() 171 if (!radeon_semaphore_emit_wait(rdev, ring, semaphore)) { in radeon_sync_rings()
|
H A D | uvd_v3_1.c | 30 * uvd_v3_1_semaphore_emit - emit semaphore command 34 * @semaphore: semaphore to emit commands for 37 * Emit a semaphore command (either wait or signal) to the UVD ring. 41 struct radeon_semaphore *semaphore, in uvd_v3_1_semaphore_emit() 44 uint64_t addr = semaphore->gpu_addr; in uvd_v3_1_semaphore_emit() 39 uvd_v3_1_semaphore_emit(struct radeon_device *rdev, struct radeon_ring *ring, struct radeon_semaphore *semaphore, bool emit_wait) uvd_v3_1_semaphore_emit() argument
|
/kernel/linux/linux-6.6/kernel/locking/ |
H A D | semaphore.c | 7 * A counting semaphore may be acquired 'n' times before sleeping. 15 * The spinlock controls access to the other members of the semaphore. 18 * parts of the kernel expect to be able to use down() on a semaphore in 24 * semaphore. If it's zero, there may be tasks waiting on the wait_list. 32 #include <linux/semaphore.h> 37 static noinline void __down(struct semaphore *sem); 38 static noinline int __down_interruptible(struct semaphore *sem); 39 static noinline int __down_killable(struct semaphore *sem); 40 static noinline int __down_timeout(struct semaphore *sem, long timeout); 41 static noinline void __up(struct semaphore *se [all...] |
/kernel/linux/linux-5.10/kernel/locking/ |
H A D | semaphore.c | 7 * A counting semaphore may be acquired 'n' times before sleeping. 15 * The spinlock controls access to the other members of the semaphore. 18 * parts of the kernel expect to be able to use down() on a semaphore in 24 * semaphore. If it's zero, there may be tasks waiting on the wait_list. 32 #include <linux/semaphore.h> 36 static noinline void __down(struct semaphore *sem); 37 static noinline int __down_interruptible(struct semaphore *sem); 38 static noinline int __down_killable(struct semaphore *sem); 39 static noinline int __down_timeout(struct semaphore *sem, long timeout); 40 static noinline void __up(struct semaphore *se [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | semaphore.h | 6 * Please see kernel/locking/semaphore.c for documentation of these functions 15 struct semaphore { struct 29 struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1) 31 static inline void sema_init(struct semaphore *sem, int val) in sema_init() 34 *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val); in sema_init() 35 lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); in sema_init() 38 extern void down(struct semaphore *sem); 39 extern int __must_check down_interruptible(struct semaphore *sem); 40 extern int __must_check down_killable(struct semaphore *sem); 41 extern int __must_check down_trylock(struct semaphore *se [all...] |
H A D | hil_mlc.h | 37 #include <linux/semaphore.h> 136 struct semaphore csem; /* Raised when loop idle */ 139 struct semaphore osem; /* Raised when outpacket dispatched */ 143 struct semaphore isem; /* Raised when a packet arrives */
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | semaphore.h | 6 * Please see kernel/locking/semaphore.c for documentation of these functions 15 struct semaphore { struct 35 struct semaphore _name = __SEMAPHORE_INITIALIZER(_name, _n) 37 static inline void sema_init(struct semaphore *sem, int val) in sema_init() 40 *sem = (struct semaphore) __SEMAPHORE_INITIALIZER(*sem, val); in sema_init() 41 lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); in sema_init() 44 extern void down(struct semaphore *sem); 45 extern int __must_check down_interruptible(struct semaphore *sem); 46 extern int __must_check down_killable(struct semaphore *sem); 47 extern int __must_check down_trylock(struct semaphore *se [all...] |
H A D | hil_mlc.h | 37 #include <linux/semaphore.h> 136 struct semaphore csem; /* Raised when loop idle */ 139 struct semaphore osem; /* Raised when outpacket dispatched */ 143 struct semaphore isem; /* Raised when a packet arrives */
|
/kernel/linux/linux-5.10/include/drm/ |
H A D | task_barrier.h | 23 #include <linux/semaphore.h> 42 struct semaphore enter_turnstile; 43 struct semaphore exit_turnstile; 46 static inline void task_barrier_signal_turnstile(struct semaphore *turnstile, in task_barrier_signal_turnstile()
|
/kernel/linux/linux-6.6/include/drm/ |
H A D | task_barrier.h | 23 #include <linux/semaphore.h> 42 struct semaphore enter_turnstile; 43 struct semaphore exit_turnstile; 46 static inline void task_barrier_signal_turnstile(struct semaphore *turnstile, in task_barrier_signal_turnstile()
|
/kernel/linux/linux-5.10/drivers/input/serio/ |
H A D | hp_sdc_mlc.c | 43 #include <linux/semaphore.h> 150 /* Try to down the semaphore */ in hp_sdc_mlc_in() 193 if (priv->trans.act.semaphore != &mlc->csem) in hp_sdc_mlc_cts() 203 priv->trans.act.semaphore = &mlc->csem; in hp_sdc_mlc_cts() 217 priv->trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_cts() 228 /* Try to down the semaphore -- it should be up. */ in hp_sdc_mlc_out() 245 priv->trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_out() 286 priv->trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_out() 316 hp_sdc_mlc_priv.trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_init()
|
/kernel/linux/linux-6.6/drivers/input/serio/ |
H A D | hp_sdc_mlc.c | 43 #include <linux/semaphore.h> 150 /* Try to down the semaphore */ in hp_sdc_mlc_in() 193 if (priv->trans.act.semaphore != &mlc->csem) in hp_sdc_mlc_cts() 203 priv->trans.act.semaphore = &mlc->csem; in hp_sdc_mlc_cts() 217 priv->trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_cts() 228 /* Try to down the semaphore -- it should be up. */ in hp_sdc_mlc_out() 245 priv->trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_out() 286 priv->trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_out() 316 hp_sdc_mlc_priv.trans.act.semaphore = &mlc->osem; in hp_sdc_mlc_init()
|
/kernel/linux/linux-5.10/drivers/net/wireless/st/cw1200/ |
H A D | scan.h | 12 #include <linux/semaphore.h> 22 struct semaphore lock;
|
/kernel/linux/linux-6.6/drivers/net/wireless/st/cw1200/ |
H A D | scan.h | 12 #include <linux/semaphore.h> 22 struct semaphore lock;
|
/kernel/linux/linux-5.10/drivers/acpi/acpica/ |
H A D | exsystem.c | 21 * PARAMETERS: semaphore - Semaphore to wait on 26 * DESCRIPTION: Implements a semaphore wait with a check to see if the 27 * semaphore is available immediately. If it is not, the 31 acpi_status acpi_ex_system_wait_semaphore(acpi_semaphore semaphore, u16 timeout) in acpi_ex_system_wait_semaphore() argument 37 status = acpi_os_wait_semaphore(semaphore, 1, ACPI_DO_NOT_WAIT); in acpi_ex_system_wait_semaphore() 47 status = acpi_os_wait_semaphore(semaphore, 1, timeout); in acpi_ex_system_wait_semaphore() 263 * We are going to simply delete the existing semaphore and in acpi_ex_system_reset_event()
|
/kernel/linux/linux-6.6/drivers/acpi/acpica/ |
H A D | exsystem.c | 21 * PARAMETERS: semaphore - Semaphore to wait on 26 * DESCRIPTION: Implements a semaphore wait with a check to see if the 27 * semaphore is available immediately. If it is not, the 31 acpi_status acpi_ex_system_wait_semaphore(acpi_semaphore semaphore, u16 timeout) in acpi_ex_system_wait_semaphore() argument 37 status = acpi_os_wait_semaphore(semaphore, 1, ACPI_DO_NOT_WAIT); in acpi_ex_system_wait_semaphore() 47 status = acpi_os_wait_semaphore(semaphore, 1, timeout); in acpi_ex_system_wait_semaphore() 268 * We are going to simply delete the existing semaphore and in acpi_ex_system_reset_event()
|
/kernel/linux/linux-5.10/drivers/input/misc/ |
H A D | hp_sdc_rtc.c | 48 #include <linux/semaphore.h> 58 static struct semaphore i8042tregs; 68 struct semaphore tsem; in hp_sdc_rtc_do_read_bbrtc() 87 t.act.semaphore = &tsem; in hp_sdc_rtc_do_read_bbrtc() 159 t.act.semaphore = &i8042tregs; in hp_sdc_rtc_read_i8042timer()
|
/kernel/linux/linux-6.6/drivers/input/misc/ |
H A D | hp_sdc_rtc.c | 48 #include <linux/semaphore.h> 58 static struct semaphore i8042tregs; 68 struct semaphore tsem; in hp_sdc_rtc_do_read_bbrtc() 87 t.act.semaphore = &tsem; in hp_sdc_rtc_do_read_bbrtc() 159 t.act.semaphore = &i8042tregs; in hp_sdc_rtc_read_i8042timer()
|
/kernel/linux/linux-5.10/include/linux/mux/ |
H A D | driver.h | 15 #include <linux/semaphore.h> 43 struct semaphore lock; /* protects the state of the mux */
|