| .. | .. |
|---|
| 30 | 30 | |
|---|
| 31 | 31 | #define DRIVER_NAME "rknpu" |
|---|
| 32 | 32 | #define DRIVER_DESC "RKNPU driver" |
|---|
| 33 | | -#define DRIVER_DATE "20220829" |
|---|
| 33 | +#define DRIVER_DATE "20230428" |
|---|
| 34 | 34 | #define DRIVER_MAJOR 0 |
|---|
| 35 | 35 | #define DRIVER_MINOR 8 |
|---|
| 36 | | -#define DRIVER_PATCHLEVEL 2 |
|---|
| 36 | +#define DRIVER_PATCHLEVEL 8 |
|---|
| 37 | 37 | |
|---|
| 38 | 38 | #define LOG_TAG "RKNPU" |
|---|
| 39 | 39 | |
|---|
| .. | .. |
|---|
| 54 | 54 | #define LOG_DEV_DEBUG(dev, fmt, args...) dev_dbg(dev, LOG_TAG ": " fmt, ##args) |
|---|
| 55 | 55 | #define LOG_DEV_ERROR(dev, fmt, args...) dev_err(dev, LOG_TAG ": " fmt, ##args) |
|---|
| 56 | 56 | |
|---|
| 57 | | -struct npu_reset_data { |
|---|
| 57 | +struct rknpu_reset_data { |
|---|
| 58 | 58 | const char *srst_a_name; |
|---|
| 59 | 59 | const char *srst_h_name; |
|---|
| 60 | 60 | }; |
|---|
| .. | .. |
|---|
| 66 | 66 | __u32 pc_data_amount_scale; |
|---|
| 67 | 67 | __u32 pc_task_number_bits; |
|---|
| 68 | 68 | __u32 pc_task_number_mask; |
|---|
| 69 | + __u32 pc_task_status_offset; |
|---|
| 70 | + __u32 pc_dma_ctrl; |
|---|
| 69 | 71 | __u32 bw_enable; |
|---|
| 70 | | - const struct npu_irqs_data *irqs; |
|---|
| 71 | | - const struct npu_reset_data *resets; |
|---|
| 72 | + const struct rknpu_irqs_data *irqs; |
|---|
| 73 | + const struct rknpu_reset_data *resets; |
|---|
| 72 | 74 | int num_irqs; |
|---|
| 73 | 75 | int num_resets; |
|---|
| 76 | + __u64 nbuf_phyaddr; |
|---|
| 77 | + __u64 nbuf_size; |
|---|
| 74 | 78 | }; |
|---|
| 75 | 79 | |
|---|
| 76 | 80 | struct rknpu_timer { |
|---|
| .. | .. |
|---|
| 147 | 151 | ktime_t kt; |
|---|
| 148 | 152 | phys_addr_t sram_start; |
|---|
| 149 | 153 | phys_addr_t sram_end; |
|---|
| 154 | + phys_addr_t nbuf_start; |
|---|
| 155 | + phys_addr_t nbuf_end; |
|---|
| 150 | 156 | uint32_t sram_size; |
|---|
| 157 | + uint32_t nbuf_size; |
|---|
| 151 | 158 | void __iomem *sram_base_io; |
|---|
| 159 | + void __iomem *nbuf_base_io; |
|---|
| 152 | 160 | struct rknpu_mm *sram_mm; |
|---|
| 153 | 161 | unsigned long power_put_delay; |
|---|
| 154 | 162 | }; |
|---|
| 155 | 163 | |
|---|
| 164 | +struct rknpu_session { |
|---|
| 165 | + struct rknpu_device *rknpu_dev; |
|---|
| 166 | + struct list_head list; |
|---|
| 167 | +}; |
|---|
| 168 | + |
|---|
| 156 | 169 | int rknpu_power_get(struct rknpu_device *rknpu_dev); |
|---|
| 157 | 170 | int rknpu_power_put(struct rknpu_device *rknpu_dev); |
|---|
| 158 | 171 | |
|---|