.. | .. |
---|
119 | 119 | * struct venus_core - holds core parameters valid for all instances |
---|
120 | 120 | * |
---|
121 | 121 | * @base: IO memory base address |
---|
| 122 | + * @vbif_base IO memory vbif base address |
---|
| 123 | + * @cpu_base IO memory cpu base address |
---|
| 124 | + * @cpu_cs_base IO memory cpu_cs base address |
---|
| 125 | + * @cpu_ic_base IO memory cpu_ic base address |
---|
| 126 | + * @wrapper_base IO memory wrapper base address |
---|
122 | 127 | * @irq: Venus irq |
---|
123 | 128 | * @clks: an array of struct clk pointers |
---|
124 | 129 | * @vcodec0_clks: an array of vcodec0 struct clk pointers |
---|
.. | .. |
---|
152 | 157 | */ |
---|
153 | 158 | struct venus_core { |
---|
154 | 159 | void __iomem *base; |
---|
| 160 | + void __iomem *vbif_base; |
---|
| 161 | + void __iomem *cpu_base; |
---|
| 162 | + void __iomem *cpu_cs_base; |
---|
| 163 | + void __iomem *cpu_ic_base; |
---|
| 164 | + void __iomem *wrapper_base; |
---|
155 | 165 | int irq; |
---|
156 | 166 | struct clk *clks[VIDC_CLKS_NUM_MAX]; |
---|
157 | 167 | struct clk *vcodec0_clks[VIDC_VCODEC_CLKS_NUM_MAX]; |
---|
.. | .. |
---|
283 | 293 | VENUS_DEC_STATE_DRAIN = 5, |
---|
284 | 294 | VENUS_DEC_STATE_DECODING = 6, |
---|
285 | 295 | VENUS_DEC_STATE_DRC = 7, |
---|
286 | | - VENUS_DEC_STATE_DRC_FLUSH_DONE = 8, |
---|
287 | 296 | }; |
---|
288 | 297 | |
---|
289 | 298 | struct venus_ts_metadata { |
---|
.. | .. |
---|
348 | 357 | * @priv: a private for HFI operations callbacks |
---|
349 | 358 | * @session_type: the type of the session (decoder or encoder) |
---|
350 | 359 | * @hprop: a union used as a holder by get property |
---|
351 | | - * @last_buf: last capture buffer for dynamic-resoluton-change |
---|
| 360 | + * @next_buf_last: a flag to mark next queued capture buffer as last |
---|
352 | 361 | */ |
---|
353 | 362 | struct venus_inst { |
---|
354 | 363 | struct list_head list; |
---|
.. | .. |
---|
410 | 419 | union hfi_get_property hprop; |
---|
411 | 420 | unsigned int core_acquired: 1; |
---|
412 | 421 | unsigned int bit_depth; |
---|
413 | | - struct vb2_buffer *last_buf; |
---|
| 422 | + bool next_buf_last; |
---|
| 423 | + bool drain_active; |
---|
414 | 424 | }; |
---|
415 | 425 | |
---|
416 | 426 | #define IS_V1(core) ((core)->res->hfi_version == HFI_VERSION_1XX) |
---|
417 | 427 | #define IS_V3(core) ((core)->res->hfi_version == HFI_VERSION_3XX) |
---|
418 | 428 | #define IS_V4(core) ((core)->res->hfi_version == HFI_VERSION_4XX) |
---|
| 429 | +#define IS_V6(core) ((core)->res->hfi_version == HFI_VERSION_6XX) |
---|
419 | 430 | |
---|
420 | 431 | #define ctrl_to_inst(ctrl) \ |
---|
421 | 432 | container_of((ctrl)->handler, struct venus_inst, ctrl_handler) |
---|