video: rockchip: rga3: Fix compile errors

Fix compile dependency on CONFIG_ROCKCHIP_RGA_DEBUGGER.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I79f6efb50144921a9329ab37a8bbdd37838ec212
This commit is contained in:
Yu Qiaowei
2022-01-14 14:46:49 +08:00
committed by Tao Huang
parent 076e61175f
commit a800b0e3da
9 changed files with 57 additions and 83 deletions

View File

@@ -19,7 +19,7 @@ extern int RGA_DEBUG_CHECK_MODE;
extern int RGA_DEBUG_NONUSE;
extern int RGA_DEBUG_INT_FLAG;
extern struct rga_drvdata_t *rga_drvdata;
#define DEBUGGER_EN(name) (unlikely(RGA_DEBUG_##name ? true : false))
/*
* struct rga_debugger - RGA debugger information
@@ -121,6 +121,10 @@ static inline int rga_procfs_init(void)
}
#endif /* #ifdef CONFIG_ROCKCHIP_RGA_PROC_FS */
#else
#define DEBUGGER_EN(name) (unlikely(false))
#endif /* #ifdef CONFIG_ROCKCHIP_RGA_DEBUGGER */
void rga_cmd_print_debug_info(struct rga_req *req);

View File

@@ -99,6 +99,8 @@
? (a) : (((x) > (b)) ? (b) : (x)))
#endif
extern struct rga_drvdata_t *rga_drvdata;
enum {
RGA3_SCHEDULER_CORE0 = 1 << 0,
RGA3_SCHEDULER_CORE1 = 1 << 1,

View File

@@ -12,10 +12,6 @@
#include "rga_mm.h"
#include "rga_job.h"
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
extern int RGA_DEBUG_CHECK_MODE;
#endif
extern struct rga2_mmu_info_t rga2_mmu_info;
#define KERNEL_SPACE_VALID 0xc0000000
@@ -174,8 +170,6 @@ static int rga2_mem_size_cal(unsigned long Mem, uint32_t MemSize,
return pageCount;
}
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
static int rga2_user_memory_check(struct page **pages, u32 w, u32 h, u32 format,
int flag)
{
@@ -214,7 +208,6 @@ static int rga2_user_memory_check(struct page **pages, u32 w, u32 h, u32 format,
return 0;
}
#endif
static int rga2_MapUserMemory(struct page **pages, uint32_t *pageTable,
unsigned long Memory, uint32_t pageCount,
@@ -462,13 +455,11 @@ static int rga2_mmu_flush_cache(struct rga2_mmu_other_t *reg,
DstStart, DstPageCount, 1,
MMU_MAP_CLEAN |
MMU_MAP_INVALID, scheduler, job->mm);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_CHECK_MODE)
if (DEBUGGER_EN(CHECK_MODE))
rga2_user_memory_check(&pages[0],
req->dst.vir_w,
req->dst.vir_h,
req->dst.format, 2);
#endif
}
if (ret < 0) {
pr_err("rga2 unmap dst memory failed\n");
@@ -667,14 +658,12 @@ static int rga2_mmu_info_BitBlt_mode(struct rga2_mmu_other_t *reg,
ret = rga2_MapUserMemory(&pages[0], &MMU_Base[0],
Src0Start, Src0PageCount,
0, MMU_MAP_CLEAN, scheduler, job->mm);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_CHECK_MODE)
if (DEBUGGER_EN(CHECK_MODE))
/* TODO: */
rga2_user_memory_check(&pages[0],
req->src.vir_w,
req->src.vir_h,
req->src.format, 1);
#endif
/* Save pagetable to unmap. */
reg->MMU_src0_base = MMU_Base;
reg->MMU_src0_count = Src0PageCount;
@@ -773,13 +762,13 @@ static int rga2_mmu_info_BitBlt_mode(struct rga2_mmu_other_t *reg,
DstStart, DstPageCount,
1, map_flag,
scheduler, job->mm);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_CHECK_MODE)
if (DEBUGGER_EN(CHECK_MODE))
rga2_user_memory_check(&pages[0],
req->dst.vir_w,
req->dst.vir_h,
req->dst.format, 2);
#endif
/* Save pagetable to invalid cache and unmap. */
reg->MMU_dst_base = MMU_Base + Src0MemSize + Src1MemSize;
reg->MMU_dst_count = DstPageCount;
@@ -922,12 +911,11 @@ static int rga2_mmu_info_color_palette_mode(struct rga2_mmu_other_t *reg,
ret = rga2_MapUserMemory(&pages[0],
&MMU_Base[0], SrcStart, SrcPageCount,
0, MMU_MAP_CLEAN, scheduler, job->mm);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_CHECK_MODE)
if (DEBUGGER_EN(CHECK_MODE))
rga2_user_memory_check(&pages[0],
req->src.vir_w, req->src.vir_h,
req->src.format, 1);
#endif
}
if (ret < 0) {
@@ -958,12 +946,11 @@ static int rga2_mmu_info_color_palette_mode(struct rga2_mmu_other_t *reg,
MMU_Base + SrcMemSize,
DstStart, DstPageCount,
1, MMU_MAP_INVALID, scheduler, job->mm);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_CHECK_MODE)
if (DEBUGGER_EN(CHECK_MODE))
rga2_user_memory_check(&pages[0],
req->dst.vir_w, req->dst.vir_h,
req->dst.format, 1);
#endif
}
if (ret < 0) {

View File

@@ -2329,11 +2329,9 @@ int rga2_init_reg(struct rga_job *job)
rga2_align_check(&req);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
/* for debug */
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
print_debug_info(&req);
#endif
/* RGA2 mmu set */
if ((req.mmu_info.src0_mmu_flag & 1) || (req.mmu_info.src1_mmu_flag & 1)
@@ -2436,8 +2434,7 @@ int rga2_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
scheduler);
}
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_REG) {
if (DEBUGGER_EN(REG)) {
int32_t *p;
p = job->cmd_reg;
@@ -2454,7 +2451,6 @@ int rga2_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
p[0 + i * 4], p[1 + i * 4],
p[2 + i * 4], p[3 + i * 4]);
}
#endif
#ifndef CONFIG_ROCKCHIP_FPGA
/* master mode */
@@ -2470,7 +2466,7 @@ int rga2_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
rga_write(rga_read(RGA2_INT, scheduler) | (0x1 << 10) | (0x1 << 9) |
(0x1 << 8), RGA2_INT, scheduler);
if (RGA_DEBUG_TIME) {
if (DEBUGGER_EN(TIME)) {
pr_err("sys_ctrl = %x, int = %x, set cmd use time = %lld\n",
rga_read(RGA2_SYS_CTRL, scheduler),
rga_read(RGA2_INT, scheduler),
@@ -2482,10 +2478,8 @@ int rga2_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
rga_write(1, RGA2_CMD_CTRL, scheduler);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_REG)
if (DEBUGGER_EN(REG))
rga2_dump_read_back_reg(scheduler);
#endif
return 0;
}

View File

@@ -1606,7 +1606,7 @@ void rga3_soft_reset(struct rga_scheduler_t *scheduler)
rga_write(mmu_addr, 0xf00, scheduler);
rga_write(0, 0xf08, scheduler);
if (RGA_DEBUG_INT_FLAG)
if (DEBUGGER_EN(INT_FLAG))
pr_info("irq INT[%x], STATS0[%x], STATS1[%x]\n",
rga_read(RGA3_INT_RAW, scheduler),
rga_read(RGA3_STATUS0, scheduler),
@@ -1998,11 +1998,9 @@ int rga3_init_reg(struct rga_job *job)
rga3_align_check(&req);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
/* for debug */
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
print_debug_info(&req);
#endif
if (rga3_gen_reg_info((uint8_t *) job->cmd_reg, &req) == -1) {
pr_err("RKA: gen reg info error\n");
@@ -2053,8 +2051,7 @@ int rga3_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
}
#endif
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_REG) {
if (DEBUGGER_EN(REG)) {
int32_t i, *p;
p = job->cmd_reg;
@@ -2064,7 +2061,6 @@ int rga3_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
p[0 + i * 4], p[1 + i * 4],
p[2 + i * 4], p[3 + i * 4]);
}
#endif
#if 0
/* master mode */
@@ -2078,7 +2074,7 @@ int rga3_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
/* All CMD finish int */
rga_write(1, RGA3_INT_EN, scheduler);
if (RGA_DEBUG_MSG) {
if (DEBUGGER_EN(MSG)) {
pr_err("sys_ctrl = %x, int_en = %x, int_raw = %x\n",
rga_read(RGA3_SYS_CTRL, scheduler),
rga_read(RGA3_INT_EN, scheduler),
@@ -2089,7 +2085,7 @@ int rga3_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
rga_read(RGA3_STATUS1, scheduler));
}
if (RGA_DEBUG_TIME)
if (DEBUGGER_EN(TIME))
pr_err("set cmd use time = %lld\n", ktime_to_us(ktime_sub(now, job->running_time)));
job->timestamp = now;
@@ -2097,10 +2093,8 @@ int rga3_set_reg(struct rga_job *job, struct rga_scheduler_t *scheduler)
rga_write(1, RGA3_SYS_CTRL, scheduler);
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_REG)
if (DEBUGGER_EN(REG))
rga3_dump_read_back_reg(scheduler);
#endif
return 0;
}

View File

@@ -12,10 +12,6 @@
#include "rga_hw_config.h"
#include "rga_job.h"
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
extern int RGA_DEBUG_CHECK_MODE;
#endif
/**
* rga_dma_info_to_prot - Translate DMA API directions and attributes to IOMMU API
* page flags.
@@ -460,7 +456,7 @@ int rga_iommu_map_virt_addr(struct rga_memory_parm *memory_parm,
return -EFAULT;
}
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_debug("iova_align size = %ld", size);
iova = rga_iommu_dma_alloc_iova(domain, size, rga_dev->coherent_dma_mask, rga_dev);
@@ -575,7 +571,7 @@ static int rga_viraddr_get_channel_info(struct rga_img_info_t *channel_info,
size = iova_align(iovad, size);
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("iova_align size = %ld", size);
iova = rga_iommu_dma_alloc_iova(domain, size, scheduler->dev->coherent_dma_mask,
@@ -959,8 +955,7 @@ static int rga_dma_buf_get_channel_info(struct rga_img_info_t *channel_info,
*rga_dma_buffer = alloc_buffer;
}
#if CONFIG_ROCKCHIP_RGA_DEBUGGER
if (RGA_DEBUG_CHECK_MODE) {
if (DEBUGGER_EN(CHECK_MODE)) {
ret = rga_dma_memory_check(*rga_dma_buffer,
channel_info);
if (ret < 0) {
@@ -972,7 +967,6 @@ static int rga_dma_buf_get_channel_info(struct rga_img_info_t *channel_info,
return ret;
}
}
#endif
/* The value of dma_fd is no longer needed. */
channel_info->yrgb_addr = 0;

View File

@@ -45,13 +45,13 @@ int rga_mpi_commit(struct rga_req *cmd, struct rga_mpi_job_t *mpi_job)
{
int ret;
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
rga_cmd_print_debug_info(cmd);
ret = rga_job_mpi_commit(cmd, mpi_job, RGA_BLIT_SYNC);
if (ret < 0) {
if (ret == -ERESTARTSYS) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("%s, commit mpi job failed, by a software interrupt.\n",
__func__);
} else {
@@ -69,13 +69,13 @@ int rga_kernel_commit(struct rga_req *cmd)
{
int ret;
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
rga_cmd_print_debug_info(cmd);
ret = rga_job_commit(cmd, RGA_BLIT_SYNC);
if (ret < 0) {
if (ret == -ERESTARTSYS) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("%s, commit kernel job failed, by a software interrupt.\n",
__func__);
} else {
@@ -318,9 +318,8 @@ static long rga_ioctl(struct file *file, uint32_t cmd, unsigned long arg)
return -ENODEV;
}
if (RGA_DEBUG_NONUSE) {
if (DEBUGGER_EN(NONUSE))
return 0;
}
switch (cmd) {
case RGA_BLIT_SYNC:
@@ -332,13 +331,13 @@ static long rga_ioctl(struct file *file, uint32_t cmd, unsigned long arg)
break;
}
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
rga_cmd_print_debug_info(&req_rga);
ret = rga_job_commit(&req_rga, cmd);
if (ret < 0) {
if (ret == -ERESTARTSYS) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("rga_job_commit failed, by a software interrupt.\n");
} else {
pr_err("rga_job_commit failed\n");
@@ -505,7 +504,7 @@ static irqreturn_t rga3_irq_handler(int irq, void *data)
{
struct rga_scheduler_t *rga_scheduler = data;
if (RGA_DEBUG_INT_FLAG)
if (DEBUGGER_EN(INT_FLAG))
pr_info("irqthread INT[%x],STATS0[%x], STATS1[%x]\n",
rga_read(RGA3_INT_RAW, rga_scheduler),
rga_read(RGA3_STATUS0, rga_scheduler),
@@ -532,7 +531,7 @@ static irqreturn_t rga3_irq_thread(int irq, void *data)
return IRQ_HANDLED;
}
if (RGA_DEBUG_INT_FLAG)
if (DEBUGGER_EN(INT_FLAG))
pr_info("irq INT[%x], STATS0[%x], STATS1[%x]\n",
rga_read(RGA3_INT_RAW, rga_scheduler),
rga_read(RGA3_STATUS0, rga_scheduler),
@@ -547,7 +546,7 @@ static irqreturn_t rga2_irq_handler(int irq, void *data)
{
struct rga_scheduler_t *rga_scheduler = data;
if (RGA_DEBUG_INT_FLAG)
if (DEBUGGER_EN(INT_FLAG))
pr_info("irqthread INT[%x],STATS0[%x]\n",
rga_read(RGA2_INT, rga_scheduler), rga_read(RGA2_STATUS,
rga_scheduler));
@@ -578,7 +577,7 @@ static irqreturn_t rga2_irq_thread(int irq, void *data)
if (!job)
return IRQ_HANDLED;
if (RGA_DEBUG_INT_FLAG)
if (DEBUGGER_EN(INT_FLAG))
pr_info("irq INT[%x], STATS0[%x]\n",
rga_read(RGA2_INT, rga_scheduler), rga_read(RGA2_STATUS,
rga_scheduler));

View File

@@ -53,7 +53,7 @@ struct rga_scheduler_t *rga_job_get_scheduler(int core)
if (core == rga_drvdata->rga_scheduler[i]->core) {
scheduler = rga_drvdata->rga_scheduler[i];
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_info("job choose core: %d\n",
rga_drvdata->rga_scheduler[i]->core);
break;
@@ -280,7 +280,7 @@ static int rga_job_run(struct rga_job *job, struct rga_scheduler_t *scheduler)
}
/* for debug */
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
print_job_info(job);
return ret;
@@ -366,7 +366,7 @@ void rga_job_done(struct rga_scheduler_t *rga_scheduler, int ret)
job->flags |= RGA_JOB_DONE;
job->ret = ret;
if (RGA_DEBUG_TIME)
if (DEBUGGER_EN(TIME))
pr_err("%s use time = %lld\n", __func__,
ktime_us_delta(now, job->running_time));
@@ -535,7 +535,7 @@ static inline int rga_job_wait(struct rga_scheduler_t *rga_scheduler,
now = ktime_get();
if (RGA_DEBUG_TIME)
if (DEBUGGER_EN(TIME))
pr_err("%s use time = %lld\n", __func__,
ktime_to_us(ktime_sub(now, job->running_time)));
@@ -552,7 +552,7 @@ static void rga_input_fence_signaled(struct dma_fence *fence,
now = ktime_get();
if (RGA_DEBUG_TIME)
if (DEBUGGER_EN(TIME))
pr_err("rga job wait in_fence signal use time = %lld\n",
ktime_to_us(ktime_sub(now, waiter->job->timestamp)));
@@ -598,7 +598,7 @@ int rga_job_commit(struct rga_req *rga_command_base, int flags)
job->flags |= RGA_JOB_ASYNC;
rga_command_base->out_fence_fd = rga_out_fence_get_fd(job);
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("in_fence_fd = %d",
rga_command_base->in_fence_fd);

View File

@@ -202,19 +202,19 @@ int rga_job_assign(struct rga_job *job)
data = rga_drvdata->rga_scheduler[i]->data;
scheduler = rga_drvdata->rga_scheduler[i];
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("start policy on core = %d", scheduler->core);
if (scheduler->core == RGA2_SCHEDULER_CORE0 &&
job->flags & RGA_JOB_UNSUPPORT_RGA2) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_debug("RGA2 only support under 4G memory!\n");
continue;
}
if (feature > 0) {
if (!(feature & data->feature)) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("core = %d, break on feature",
scheduler->core);
continue;
@@ -227,7 +227,7 @@ int rga_job_assign(struct rga_job *job)
if ((!(src0->rd_mode & data->win[0].rd_mode)) ||
(!(src1->rd_mode & data->win[1].rd_mode)) ||
(!(dst->rd_mode & data->win[2].rd_mode))) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("core = %d, ABC break on rd_mode",
scheduler->core);
continue;
@@ -235,7 +235,7 @@ int rga_job_assign(struct rga_job *job)
} else {
if ((!(src0->rd_mode & data->win[0].rd_mode)) ||
(!(dst->rd_mode & data->win[2].rd_mode))) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("core = %d, ABB break on rd_mode",
scheduler->core);
continue;
@@ -243,14 +243,14 @@ int rga_job_assign(struct rga_job *job)
}
if (!rga_check_scale(data, rga_base)) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("core = %d, break on rga_check_scale",
scheduler->core);
continue;
}
if (!rga_check_src0(data, src0)) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("core = %d, break on rga_check_src0",
scheduler->core);
continue;
@@ -258,7 +258,7 @@ int rga_job_assign(struct rga_job *job)
if (src1->yrgb_addr > 0) {
if (!rga_check_src1(data, src1)) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("core = %d, break on rga_check_src1",
scheduler->core);
continue;
@@ -267,7 +267,7 @@ int rga_job_assign(struct rga_job *job)
}
if (!rga_check_dst(data, dst)) {
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_err("core = %d, break on rga_check_dst",
scheduler->core);
continue;
@@ -276,7 +276,7 @@ int rga_job_assign(struct rga_job *job)
optional_cores |= scheduler->core;
}
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_info("optional_cores = %d\n", optional_cores);
if (optional_cores == 0) {
@@ -311,7 +311,7 @@ skip_functional_policy:
/* TODO: need consider full load */
finish:
if (RGA_DEBUG_MSG)
if (DEBUGGER_EN(MSG))
pr_info("assign core: %d\n", core);
return core;