Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.17 36 lines 939 B view raw
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (c) 2025 AIROHA Inc 4 * Author: Lorenzo Bianconi <lorenzo@kernel.org> 5 */ 6 7#define NPU_NUM_CORES 8 8 9struct airoha_npu { 10 struct device *dev; 11 struct regmap *regmap; 12 13 struct airoha_npu_core { 14 struct airoha_npu *npu; 15 /* protect concurrent npu memory accesses */ 16 spinlock_t lock; 17 struct work_struct wdt_work; 18 } cores[NPU_NUM_CORES]; 19 20 struct airoha_foe_stats __iomem *stats; 21 22 struct { 23 int (*ppe_init)(struct airoha_npu *npu); 24 int (*ppe_deinit)(struct airoha_npu *npu); 25 int (*ppe_flush_sram_entries)(struct airoha_npu *npu, 26 dma_addr_t foe_addr, 27 int sram_num_entries); 28 int (*ppe_foe_commit_entry)(struct airoha_npu *npu, 29 dma_addr_t foe_addr, 30 u32 entry_size, u32 hash, 31 bool ppe2); 32 } ops; 33}; 34 35struct airoha_npu *airoha_npu_get(struct device *dev, dma_addr_t *stats_addr); 36void airoha_npu_put(struct airoha_npu *npu);