| /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/ |
| H A D | dhd_dbg_ring.c | 2 * DHD debug ring API and structures - implementation 39 dhd_dbg_ring_t *ring = NULL; in dhd_dbg_ring_alloc_init() local 43 ring = MALLOCZ(dhd->osh, sizeof(dhd_dbg_ring_t)); in dhd_dbg_ring_alloc_init() 44 if (!ring) in dhd_dbg_ring_alloc_init() 47 ret = dhd_dbg_ring_init(dhd, ring, ring_id, in dhd_dbg_ring_alloc_init() 51 DHD_ERROR(("%s: unable to init ring %s!\n", in dhd_dbg_ring_alloc_init() 55 DHD_DBG_RING_LOCK(ring->lock, flags); in dhd_dbg_ring_alloc_init() 56 ring->state = RING_ACTIVE; in dhd_dbg_ring_alloc_init() 57 ring->threshold = 0; in dhd_dbg_ring_alloc_init() 58 DHD_DBG_RING_UNLOCK(ring->lock, flags); in dhd_dbg_ring_alloc_init() [all …]
|
| /OK3568_Linux_fs/external/rkwifibt/drivers/bcmdhd/ |
| H A D | dhd_dbg_ring.c | 2 * DHD debug ring API and structures - implementation 39 dhd_dbg_ring_t *ring = NULL; in dhd_dbg_ring_alloc_init() local 43 ring = MALLOCZ(dhd->osh, sizeof(dhd_dbg_ring_t)); in dhd_dbg_ring_alloc_init() 44 if (!ring) in dhd_dbg_ring_alloc_init() 47 ret = dhd_dbg_ring_init(dhd, ring, ring_id, in dhd_dbg_ring_alloc_init() 51 DHD_ERROR(("%s: unable to init ring %s!\n", in dhd_dbg_ring_alloc_init() 55 DHD_DBG_RING_LOCK(ring->lock, flags); in dhd_dbg_ring_alloc_init() 56 ring->state = RING_ACTIVE; in dhd_dbg_ring_alloc_init() 57 ring->threshold = 0; in dhd_dbg_ring_alloc_init() 58 DHD_DBG_RING_UNLOCK(ring->lock, flags); in dhd_dbg_ring_alloc_init() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/ |
| H A D | dhd_dbg_ring.c | 2 * DHD debug ring API and structures 40 dhd_dbg_ring_init(dhd_pub_t *dhdp, dhd_dbg_ring_t *ring, uint16 id, uint8 *name, in dhd_dbg_ring_init() argument 52 ring->lock = DHD_DBG_RING_LOCK_INIT(dhdp->osh); in dhd_dbg_ring_init() 53 if (!ring->lock) in dhd_dbg_ring_init() 56 DHD_DBG_RING_LOCK(ring->lock, flags); in dhd_dbg_ring_init() 57 ring->id = id; in dhd_dbg_ring_init() 58 strncpy(ring->name, name, DBGRING_NAME_MAX); in dhd_dbg_ring_init() 59 ring->name[DBGRING_NAME_MAX - 1] = 0; in dhd_dbg_ring_init() 60 ring->ring_size = ring_sz; in dhd_dbg_ring_init() 61 ring->wp = ring->rp = 0; in dhd_dbg_ring_init() [all …]
|
| /OK3568_Linux_fs/external/rkwifibt/drivers/infineon/ |
| H A D | dhd_dbg_ring.c | 2 * DHD debug ring API and structures 40 dhd_dbg_ring_init(dhd_pub_t *dhdp, dhd_dbg_ring_t *ring, uint16 id, uint8 *name, in dhd_dbg_ring_init() argument 52 ring->lock = DHD_DBG_RING_LOCK_INIT(dhdp->osh); in dhd_dbg_ring_init() 53 if (!ring->lock) in dhd_dbg_ring_init() 56 DHD_DBG_RING_LOCK(ring->lock, flags); in dhd_dbg_ring_init() 57 ring->id = id; in dhd_dbg_ring_init() 58 strncpy(ring->name, name, DBGRING_NAME_MAX); in dhd_dbg_ring_init() 59 ring->name[DBGRING_NAME_MAX - 1] = 0; in dhd_dbg_ring_init() 60 ring->ring_size = ring_sz; in dhd_dbg_ring_init() 61 ring->wp = ring->rp = 0; in dhd_dbg_ring_init() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/infineon/bcmdhd/ |
| H A D | dhd_dbg_ring.c | 2 * DHD debug ring API and structures 40 dhd_dbg_ring_init(dhd_pub_t *dhdp, dhd_dbg_ring_t *ring, uint16 id, uint8 *name, in dhd_dbg_ring_init() argument 52 ring->lock = DHD_DBG_RING_LOCK_INIT(dhdp->osh); in dhd_dbg_ring_init() 53 if (!ring->lock) in dhd_dbg_ring_init() 56 DHD_DBG_RING_LOCK(ring->lock, flags); in dhd_dbg_ring_init() 57 ring->id = id; in dhd_dbg_ring_init() 58 strncpy(ring->name, name, DBGRING_NAME_MAX); in dhd_dbg_ring_init() 59 ring->name[DBGRING_NAME_MAX - 1] = 0; in dhd_dbg_ring_init() 60 ring->ring_size = ring_sz; in dhd_dbg_ring_init() 61 ring->wp = ring->rp = 0; in dhd_dbg_ring_init() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/radeon/ |
| H A D | radeon_ring.c | 38 * Most engines on the GPU are fed via ring buffers. Ring 44 * pointers are equal, the ring is idle. When the host 45 * writes commands to the ring buffer, it increments the 49 static int radeon_debugfs_ring_init(struct radeon_device *rdev, struct radeon_ring *ring); 52 * radeon_ring_supports_scratch_reg - check if the ring supports 56 * @ring: radeon_ring structure holding ring information 58 * Check if a specific ring supports writing to scratch registers (all asics). 59 * Returns true if the ring supports writing to scratch regs, false if not. 62 struct radeon_ring *ring) in radeon_ring_supports_scratch_reg() argument 64 switch (ring->idx) { in radeon_ring_supports_scratch_reg() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_ring.c | 40 * Most engines on the GPU are fed via ring buffers. Ring 46 * pointers are equal, the ring is idle. When the host 47 * writes commands to the ring buffer, it increments the 53 * amdgpu_ring_alloc - allocate space on the ring buffer 56 * @ring: amdgpu_ring structure holding ring information 57 * @ndw: number of dwords to allocate in the ring buffer 59 * Allocate @ndw dwords in the ring buffer (all asics). 62 int amdgpu_ring_alloc(struct amdgpu_ring *ring, unsigned ndw) in amdgpu_ring_alloc() argument 66 ndw = (ndw + ring->funcs->align_mask) & ~ring->funcs->align_mask; in amdgpu_ring_alloc() 71 if (WARN_ON_ONCE(ndw > ring->max_dw)) in amdgpu_ring_alloc() [all …]
|
| H A D | jpeg_v1_0.c | 36 static void jpeg_v1_0_ring_begin_use(struct amdgpu_ring *ring); 38 static void jpeg_v1_0_decode_ring_patch_wreg(struct amdgpu_ring *ring, uint32_t *ptr, uint32_t reg_… in jpeg_v1_0_decode_ring_patch_wreg() argument 40 struct amdgpu_device *adev = ring->adev; in jpeg_v1_0_decode_ring_patch_wreg() 41 …ring->ring[(*ptr)++] = PACKETJ(SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_EXTERNAL_REG_BASE), 0, 0, PACK… in jpeg_v1_0_decode_ring_patch_wreg() 44 ring->ring[(*ptr)++] = 0; in jpeg_v1_0_decode_ring_patch_wreg() 45 ring->ring[(*ptr)++] = PACKETJ((reg_offset >> 2), 0, 0, PACKETJ_TYPE0); in jpeg_v1_0_decode_ring_patch_wreg() 47 ring->ring[(*ptr)++] = reg_offset; in jpeg_v1_0_decode_ring_patch_wreg() 48 ring->ring[(*ptr)++] = PACKETJ(0, 0, 0, PACKETJ_TYPE0); in jpeg_v1_0_decode_ring_patch_wreg() 50 ring->ring[(*ptr)++] = val; in jpeg_v1_0_decode_ring_patch_wreg() 53 static void jpeg_v1_0_decode_ring_set_patch_ring(struct amdgpu_ring *ring, uint32_t ptr) in jpeg_v1_0_decode_ring_set_patch_ring() argument [all …]
|
| H A D | amdgpu_fence.c | 49 * are no longer in use by the associated ring on the GPU and 57 struct amdgpu_ring *ring; member 94 * @ring: ring the fence is associated with 99 static void amdgpu_fence_write(struct amdgpu_ring *ring, u32 seq) in amdgpu_fence_write() argument 101 struct amdgpu_fence_driver *drv = &ring->fence_drv; in amdgpu_fence_write() 110 * @ring: ring the fence is associated with 115 static u32 amdgpu_fence_read(struct amdgpu_ring *ring) in amdgpu_fence_read() argument 117 struct amdgpu_fence_driver *drv = &ring->fence_drv; in amdgpu_fence_read() 129 * amdgpu_fence_emit - emit a fence on the requested ring 131 * @ring: ring the fence is associated with [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/soc/ti/ |
| H A D | k3-ringacc.h | 3 * K3 Ring Accelerator (RA) subsystem interface 18 * RA ring operational modes 20 * @K3_RINGACC_RING_MODE_RING: Exposed Ring mode for SW direct access 43 * RA ring element's sizes in bytes. 60 * enum k3_ring_cfg - RA ring configuration structure 62 * @size: Ring size, number of elements 63 * @elm_size: Ring element size 64 * @mode: Ring operational mode 65 * @flags: Ring configuration flags. Possible values: 66 * @K3_RINGACC_RING_SHARED: when set allows to request the same ring [all …]
|
| /OK3568_Linux_fs/kernel/drivers/soc/ti/ |
| H A D | k3-ringacc.c | 3 * TI K3 NAVSS Ring Accelerator subsystem driver 29 * @db: Ring Doorbell Register 31 * @occ: Ring Occupancy Register 32 * @indx: Ring Current Index Register 33 * @hwocc: Ring Hardware Occupancy Register 34 * @hwindx: Ring Hardware Current Index Register 49 * struct k3_ring_fifo_regs - The Ring Accelerator Queues Registers region 51 * @head_data: Ring Head Entry Data Registers 52 * @tail_data: Ring Tail Entry Data Registers 53 * @peek_head_data: Ring Peek Head Entry Data Regs [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/broadcom/b43legacy/ |
| H A D | dma.c | 32 struct b43legacy_dmadesc32 *op32_idx2desc(struct b43legacy_dmaring *ring, in op32_idx2desc() argument 38 *meta = &(ring->meta[slot]); in op32_idx2desc() 39 desc = ring->descbase; in op32_idx2desc() 45 static void op32_fill_descriptor(struct b43legacy_dmaring *ring, in op32_fill_descriptor() argument 50 struct b43legacy_dmadesc32 *descbase = ring->descbase; in op32_fill_descriptor() 57 B43legacy_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); in op32_fill_descriptor() 62 addr |= ring->dev->dma.translation; in op32_fill_descriptor() 63 ctl = (bufsize - ring->frameoffset) in op32_fill_descriptor() 65 if (slot == ring->nr_slots - 1) in op32_fill_descriptor() 80 static void op32_poke_tx(struct b43legacy_dmaring *ring, int slot) in op32_poke_tx() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/broadcom/b43/ |
| H A D | dma.c | 72 struct b43_dmadesc_generic *op32_idx2desc(struct b43_dmaring *ring, in op32_idx2desc() argument 78 *meta = &(ring->meta[slot]); in op32_idx2desc() 79 desc = ring->descbase; in op32_idx2desc() 85 static void op32_fill_descriptor(struct b43_dmaring *ring, in op32_fill_descriptor() argument 90 struct b43_dmadesc32 *descbase = ring->descbase; in op32_fill_descriptor() 97 B43_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); in op32_fill_descriptor() 99 addr = b43_dma_address(&ring->dev->dma, dmaaddr, B43_DMA_ADDR_LOW); in op32_fill_descriptor() 100 addrext = b43_dma_address(&ring->dev->dma, dmaaddr, B43_DMA_ADDR_EXT); in op32_fill_descriptor() 103 if (slot == ring->nr_slots - 1) in op32_fill_descriptor() 118 static void op32_poke_tx(struct b43_dmaring *ring, int slot) in op32_poke_tx() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/thunderbolt/ |
| H A D | nhi.c | 26 #define RING_TYPE(ring) ((ring)->is_tx ? "TX ring" : "RX ring") argument 39 static int ring_interrupt_index(struct tb_ring *ring) in ring_interrupt_index() argument 41 int bit = ring->hop; in ring_interrupt_index() 42 if (!ring->is_tx) in ring_interrupt_index() 43 bit += ring->nhi->hop_count; in ring_interrupt_index() 48 * ring_interrupt_active() - activate/deactivate interrupts for a single ring 50 * ring->nhi->lock must be held. 52 static void ring_interrupt_active(struct tb_ring *ring, bool active) in ring_interrupt_active() argument 55 ring_interrupt_index(ring) / 32 * 4; in ring_interrupt_active() 56 int bit = ring_interrupt_index(ring) & 31; in ring_interrupt_active() [all …]
|
| /OK3568_Linux_fs/external/rkwifibt/drivers/bcmdhd/include/ |
| H A D | bcm_ring.h | 2 * bcm_ring.h : Ring context abstraction 3 * The ring context tracks the WRITE and READ indices where elements may be 4 * produced and consumed respectively. All elements in the ring need to be 7 * NOTE: A ring of size N, may only hold N-1 elements. 33 * Ring manipulation API allows for: 36 * a ring. Approaches such as, #1) reserve resources one by one and return them 44 * - Pending production: Fetch the next index where a ring element may be 46 * - Pending consumption: Fetch the next index where a ring element may be 50 * - bcm_ring_is_full : Test whether ring is full 57 * - bcm_ring_is_empty : Test whether ring is empty [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/include/ |
| H A D | bcm_ring.h | 2 * bcm_ring.h : Ring context abstraction 3 * The ring context tracks the WRITE and READ indices where elements may be 4 * produced and consumed respectively. All elements in the ring need to be 7 * NOTE: A ring of size N, may only hold N-1 elements. 33 * Ring manipulation API allows for: 36 * a ring. Approaches such as, #1) reserve resources one by one and return them 44 * - Pending production: Fetch the next index where a ring element may be 46 * - Pending consumption: Fetch the next index where a ring element may be 50 * - bcm_ring_is_full : Test whether ring is full 57 * - bcm_ring_is_empty : Test whether ring is empty [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/apm/xgene/ |
| H A D | xgene_enet_ring2.c | 12 static void xgene_enet_ring_init(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_init() argument 14 u32 *ring_cfg = ring->state; in xgene_enet_ring_init() 15 u64 addr = ring->dma; in xgene_enet_ring_init() 17 if (xgene_enet_ring_owner(ring->id) == RING_OWNER_CPU) { in xgene_enet_ring_init() 18 ring_cfg[0] |= SET_VAL(X2_INTLINE, ring->id & RING_BUFNUM_MASK); in xgene_enet_ring_init() 27 ring_cfg[3] |= SET_VAL(RINGSIZE, ring->cfgsize) in xgene_enet_ring_init() 34 static void xgene_enet_ring_set_type(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_type() argument 36 u32 *ring_cfg = ring->state; in xgene_enet_ring_set_type() 40 is_bufpool = xgene_enet_is_bufpool(ring->id); in xgene_enet_ring_set_type() 47 static void xgene_enet_ring_set_recombbuf(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_recombbuf() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/infineon/bcmdhd/include/ |
| H A D | bcm_ring.h | 2 * bcm_ring.h : Ring context abstraction 3 * The ring context tracks the WRITE and READ indices where elements may be 4 * produced and consumed respectively. All elements in the ring need to be 7 * NOTE: A ring of size N, may only hold N-1 elements. 41 * Ring manipulation API allows for: 44 * a ring. Approaches such as, #1) reserve resources one by one and return them 52 * - Pending production: Fetch the next index where a ring element may be 54 * - Pending consumption: Fetch the next index where a ring element may be 58 * - bcm_ring_is_full : Test whether ring is full 65 * - bcm_ring_is_empty : Test whether ring is empty [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd_indep_power/include/ |
| H A D | bcm_ring.h | 3 * bcm_ring.h : Ring context abstraction 4 * The ring context tracks the WRITE and READ indices where elements may be 5 * produced and consumed respectively. All elements in the ring need to be 8 * NOTE: A ring of size N, may only hold N-1 elements. 40 * Ring manipulation API allows for: 43 * a ring. Approaches such as, #1) reserve resources one by one and return them 51 * - Pending production: Fetch the next index where a ring element may be 53 * - Pending consumption: Fetch the next index where a ring element may be 57 * - bcm_ring_is_full : Test whether ring is full 64 * - bcm_ring_is_empty : Test whether ring is empty [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/cywdhd/bcmdhd/include/ |
| H A D | bcm_ring.h | 2 * bcm_ring.h : Ring context abstraction 3 * The ring context tracks the WRITE and READ indices where elements may be 4 * produced and consumed respectively. All elements in the ring need to be 7 * NOTE: A ring of size N, may only hold N-1 elements. 41 * Ring manipulation API allows for: 44 * a ring. Approaches such as, #1) reserve resources one by one and return them 52 * - Pending production: Fetch the next index where a ring element may be 54 * - Pending consumption: Fetch the next index where a ring element may be 58 * - bcm_ring_is_full : Test whether ring is full 65 * - bcm_ring_is_empty : Test whether ring is empty [all …]
|
| /OK3568_Linux_fs/external/rkwifibt/drivers/infineon/include/ |
| H A D | bcm_ring.h | 2 * bcm_ring.h : Ring context abstraction 3 * The ring context tracks the WRITE and READ indices where elements may be 4 * produced and consumed respectively. All elements in the ring need to be 7 * NOTE: A ring of size N, may only hold N-1 elements. 41 * Ring manipulation API allows for: 44 * a ring. Approaches such as, #1) reserve resources one by one and return them 52 * - Pending production: Fetch the next index where a ring element may be 54 * - Pending consumption: Fetch the next index where a ring element may be 58 * - bcm_ring_is_full : Test whether ring is full 65 * - bcm_ring_is_empty : Test whether ring is empty [all …]
|
| /OK3568_Linux_fs/kernel/drivers/crypto/qat/qat_common/ |
| H A D | adf_transport.c | 36 static int adf_reserve_ring(struct adf_etr_bank_data *bank, u32 ring) in adf_reserve_ring() argument 39 if (bank->ring_mask & (1 << ring)) { in adf_reserve_ring() 43 bank->ring_mask |= (1 << ring); in adf_reserve_ring() 48 static void adf_unreserve_ring(struct adf_etr_bank_data *bank, u32 ring) in adf_unreserve_ring() argument 51 bank->ring_mask &= ~(1 << ring); in adf_unreserve_ring() 55 static void adf_enable_ring_irq(struct adf_etr_bank_data *bank, u32 ring) in adf_enable_ring_irq() argument 58 bank->irq_mask |= (1 << ring); in adf_enable_ring_irq() 65 static void adf_disable_ring_irq(struct adf_etr_bank_data *bank, u32 ring) in adf_disable_ring_irq() argument 68 bank->irq_mask &= ~(1 << ring); in adf_disable_ring_irq() 73 int adf_send_message(struct adf_etr_ring_data *ring, u32 *msg) in adf_send_message() argument [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_tx.c | 55 struct mlx4_en_tx_ring *ring; in mlx4_en_create_tx_ring() local 59 ring = kzalloc_node(sizeof(*ring), GFP_KERNEL, node); in mlx4_en_create_tx_ring() 60 if (!ring) { in mlx4_en_create_tx_ring() 61 en_err(priv, "Failed allocating TX ring\n"); in mlx4_en_create_tx_ring() 65 ring->size = size; in mlx4_en_create_tx_ring() 66 ring->size_mask = size - 1; in mlx4_en_create_tx_ring() 67 ring->sp_stride = stride; in mlx4_en_create_tx_ring() 68 ring->full_size = ring->size - HEADROOM - MAX_DESC_TXBBS; in mlx4_en_create_tx_ring() 71 ring->tx_info = kvmalloc_node(tmp, GFP_KERNEL, node); in mlx4_en_create_tx_ring() 72 if (!ring->tx_info) { in mlx4_en_create_tx_ring() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/gt/ |
| H A D | intel_ring.c | 14 unsigned int intel_ring_update_space(struct intel_ring *ring) in intel_ring_update_space() argument 18 space = __intel_ring_space(ring->head, ring->emit, ring->size); in intel_ring_update_space() 20 ring->space = space; in intel_ring_update_space() 24 void __intel_ring_pin(struct intel_ring *ring) in __intel_ring_pin() argument 26 GEM_BUG_ON(!atomic_read(&ring->pin_count)); in __intel_ring_pin() 27 atomic_inc(&ring->pin_count); in __intel_ring_pin() 30 int intel_ring_pin(struct intel_ring *ring, struct i915_gem_ww_ctx *ww) in intel_ring_pin() argument 32 struct i915_vma *vma = ring->vma; in intel_ring_pin() 37 if (atomic_fetch_inc(&ring->pin_count)) in intel_ring_pin() 40 /* Ring wraparound at offset 0 sometimes hangs. No idea why. */ in intel_ring_pin() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/crypto/inside-secure/ |
| H A D | safexcel_ring.c | 21 /* Actual command descriptor ring */ in safexcel_init_ring_descriptors() 32 /* Command descriptor shadow ring for storing additional token data */ in safexcel_init_ring_descriptors() 78 struct safexcel_desc_ring *ring, in safexcel_ring_next_cwptr() argument 82 void *ptr = ring->write; in safexcel_ring_next_cwptr() 85 *atoken = ring->shwrite; in safexcel_ring_next_cwptr() 87 if ((ring->write == ring->read - ring->offset) || in safexcel_ring_next_cwptr() 88 (ring->read == ring->base && ring->write == ring->base_end)) in safexcel_ring_next_cwptr() 91 if (ring->write == ring->base_end) { in safexcel_ring_next_cwptr() 92 ring->write = ring->base; in safexcel_ring_next_cwptr() 93 ring->shwrite = ring->shbase; in safexcel_ring_next_cwptr() [all …]
|