1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Rockchip video decoder Rows and Cols Buffers manager 4 * 5 * Copyright (C) 2025 Collabora, Ltd. 6 * Detlev Casanova <detlev.casanova@collabora.com> 7 */ 8 9 #include <linux/types.h> 10 11 struct rkvdec_ctx; 12 13 enum rcb_axis { 14 PIC_WIDTH = 0, 15 PIC_HEIGHT = 1 16 }; 17 18 struct rcb_size_info { 19 u8 multiplier; 20 enum rcb_axis axis; 21 }; 22 23 int rkvdec_allocate_rcb(struct rkvdec_ctx *ctx, 24 const struct rcb_size_info *size_info, 25 size_t rcb_count); 26 dma_addr_t rkvdec_rcb_buf_dma_addr(struct rkvdec_ctx *ctx, int id); 27 size_t rkvdec_rcb_buf_size(struct rkvdec_ctx *ctx, int id); 28 int rkvdec_rcb_buf_count(struct rkvdec_ctx *ctx); 29 void rkvdec_free_rcb(struct rkvdec_ctx *ctx); 30