diff --git a/drivers/video/rockchip/vcodec/vcodec_hw_info.h b/drivers/video/rockchip/vcodec/vcodec_hw_info.h index a394650a653f..3904f718cf75 100644 --- a/drivers/video/rockchip/vcodec/vcodec_hw_info.h +++ b/drivers/video/rockchip/vcodec/vcodec_hw_info.h @@ -216,8 +216,8 @@ struct vcodec_info { }; struct vcodec_device_info { - int32_t device_type; - int8_t *name; + s32 device_type; + s8 *name; }; #define DEF_FMT_TRANS_TBL(fmt, args...) \ diff --git a/drivers/video/rockchip/vcodec/vcodec_hw_rkv.h b/drivers/video/rockchip/vcodec/vcodec_hw_rkv.h index ba0456a13ffa..7a9acbc24d72 100644 --- a/drivers/video/rockchip/vcodec/vcodec_hw_rkv.h +++ b/drivers/video/rockchip/vcodec/vcodec_hw_rkv.h @@ -38,10 +38,10 @@ #define HEVC_DEC_BUFFER_EMPTY_BIT BIT(16) #define HEVC_DEC_COLMV_ERROR_BIT BIT(17) #define HEVC_DEC_ERR_MASK (HEVC_DEC_BUS_ERROR_BIT \ - |HEVC_DEC_STR_ERROR_BIT \ - |HEVC_DEC_TIMEOUT_BIT \ - |HEVC_DEC_BUFFER_EMPTY_BIT \ - |HEVC_DEC_COLMV_ERROR_BIT) + | HEVC_DEC_STR_ERROR_BIT \ + | HEVC_DEC_TIMEOUT_BIT \ + | HEVC_DEC_BUFFER_EMPTY_BIT \ + | HEVC_DEC_COLMV_ERROR_BIT) #define RKV_DEC_INTERRUPT_REGISTER 1 #define RKV_DEC_INTERRUPT_BIT BIT(8) @@ -53,10 +53,10 @@ #define RKV_DEC_BUFFER_EMPTY_BIT BIT(16) #define RKV_DEC_COLMV_ERROR_BIT BIT(17) #define RKV_DEC_ERR_MASK (RKV_DEC_BUS_ERROR_BIT \ - |RKV_DEC_STR_ERROR_BIT \ - |RKV_DEC_TIMEOUT_BIT \ - |RKV_DEC_BUFFER_EMPTY_BIT \ - |RKV_DEC_COLMV_ERROR_BIT) + | RKV_DEC_STR_ERROR_BIT \ + | RKV_DEC_TIMEOUT_BIT \ + | RKV_DEC_BUFFER_EMPTY_BIT \ + | RKV_DEC_COLMV_ERROR_BIT) static const enum FORMAT_TYPE rkv_dec_fmt_tbl[] = { [0] = FMT_H265D, @@ -202,8 +202,8 @@ DEF_FMT_TRANS_TBL(rkv_vp9d, const struct vpu_trans_info trans_rkv[FMT_TYPE_BUTT] = { EMPTY_FMT_TBL(FMT_JPEGD), EMPTY_FMT_TBL(FMT_H263D), - SETUP_FMT_TBL(FMT_H264D , rkv_h264d), - SETUP_FMT_TBL(FMT_H265D , rkv_h265d), + SETUP_FMT_TBL(FMT_H264D, rkv_h264d), + SETUP_FMT_TBL(FMT_H265D, rkv_h265d), EMPTY_FMT_TBL(FMT_MPEG1D), EMPTY_FMT_TBL(FMT_MPEG2D), @@ -212,7 +212,7 @@ const struct vpu_trans_info trans_rkv[FMT_TYPE_BUTT] = { EMPTY_FMT_TBL(FMT_VP6D), EMPTY_FMT_TBL(FMT_VP7D), EMPTY_FMT_TBL(FMT_VP8D), - SETUP_FMT_TBL(FMT_VP9D , rkv_vp9d), + SETUP_FMT_TBL(FMT_VP9D, rkv_vp9d), EMPTY_FMT_TBL(FMT_PP), diff --git a/drivers/video/rockchip/vcodec/vcodec_hw_vpu.h b/drivers/video/rockchip/vcodec/vcodec_hw_vpu.h index ae771b62a7c4..a00c97320911 100644 --- a/drivers/video/rockchip/vcodec/vcodec_hw_vpu.h +++ b/drivers/video/rockchip/vcodec/vcodec_hw_vpu.h @@ -31,7 +31,6 @@ #define REG_NUM_ENC_4831 (164) #define REG_SIZE_ENC_4831 (0x400) - /* enable and gating register */ #define VPU_REG_EN_ENC 14 #define VPU_REG_ENC_GATE 2 @@ -58,9 +57,9 @@ #define VPU_DEC_SLICE_DONE_BIT BIT(17) #define VPU_DEC_TIMEOUT_BIT BIT(18) #define VPU_DEC_ERR_MASK (VPU_DEC_BUS_ERROR_BIT \ - |VPU_DEC_BUFFER_EMPTY_BIT \ - |VPU_DEC_STREAM_ERROR_BIT \ - |VPU_DEC_TIMEOUT_BIT) + | VPU_DEC_BUFFER_EMPTY_BIT \ + | VPU_DEC_STREAM_ERROR_BIT \ + | VPU_DEC_TIMEOUT_BIT) #define VPU_PP_INTERRUPT_REGISTER 60 #define VPU_PP_PIPELINE_MODE_BIT BIT(1) @@ -76,8 +75,8 @@ #define VPU_ENC_BUFFER_FULL_BIT BIT(5) #define VPU_ENC_TIMEOUT_BIT BIT(6) #define VPU_ENC_ERR_MASK (VPU_ENC_BUS_ERROR_BIT \ - |VPU_ENC_BUFFER_FULL_BIT \ - |VPU_ENC_TIMEOUT_BIT) + | VPU_ENC_BUFFER_FULL_BIT \ + | VPU_ENC_TIMEOUT_BIT) static const enum FORMAT_TYPE vpu_dec_fmt_tbl[] = { [0] = FMT_H264D, diff --git a/drivers/video/rockchip/vcodec/vcodec_hw_vpu2.h b/drivers/video/rockchip/vcodec/vcodec_hw_vpu2.h index 86c1e1682ec6..96e2d4990993 100644 --- a/drivers/video/rockchip/vcodec/vcodec_hw_vpu2.h +++ b/drivers/video/rockchip/vcodec/vcodec_hw_vpu2.h @@ -54,9 +54,9 @@ #define VPU2_DEC_STREAM_ERROR_BIT BIT(12) #define VPU2_DEC_TIMEOUT_BIT BIT(13) #define VPU2_DEC_ERR_MASK (VPU2_DEC_BUS_ERROR_BIT \ - |VPU2_DEC_BUFFER_EMPTY_BIT \ - |VPU2_DEC_STREAM_ERROR_BIT \ - |VPU2_DEC_TIMEOUT_BIT) + | VPU2_DEC_BUFFER_EMPTY_BIT \ + | VPU2_DEC_STREAM_ERROR_BIT \ + | VPU2_DEC_TIMEOUT_BIT) #define VPU2_PP_INTERRUPT_REGISTER 40 #define VPU2_PP_INTERRUPT_BIT BIT(0) @@ -73,8 +73,8 @@ #define VPU2_ENC_BUFFER_FULL_BIT BIT(5) #define VPU2_ENC_TIMEOUT_BIT BIT(6) #define VPU2_ENC_ERR_MASK (VPU2_ENC_BUS_ERROR_BIT \ - |VPU2_ENC_BUFFER_FULL_BIT \ - |VPU2_ENC_TIMEOUT_BIT) + | VPU2_ENC_BUFFER_FULL_BIT \ + | VPU2_ENC_TIMEOUT_BIT) static const enum FORMAT_TYPE vpu2_dec_fmt_tbl[] = { [0] = FMT_H264D, @@ -251,28 +251,28 @@ DEF_FMT_TRANS_TBL(vpu2_default_enc, ); const struct vpu_trans_info trans_vpu2[FMT_TYPE_BUTT] = { - SETUP_FMT_TBL(FMT_JPEGD , vpu2_jpegd), - SETUP_FMT_TBL(FMT_H263D , vpu2_default_dec), - SETUP_FMT_TBL(FMT_H264D , vpu2_h264d), + SETUP_FMT_TBL(FMT_JPEGD, vpu2_jpegd), + SETUP_FMT_TBL(FMT_H263D, vpu2_default_dec), + SETUP_FMT_TBL(FMT_H264D, vpu2_h264d), EMPTY_FMT_TBL(FMT_H265D), SETUP_FMT_TBL(FMT_MPEG1D, vpu2_default_dec), SETUP_FMT_TBL(FMT_MPEG2D, vpu2_default_dec), SETUP_FMT_TBL(FMT_MPEG4D, vpu2_default_dec), - SETUP_FMT_TBL(FMT_VP6D , vpu2_vp6d), - SETUP_FMT_TBL(FMT_VP7D , vpu2_default_dec), - SETUP_FMT_TBL(FMT_VP8D , vpu2_vp8d), + SETUP_FMT_TBL(FMT_VP6D, vpu2_vp6d), + SETUP_FMT_TBL(FMT_VP7D, vpu2_default_dec), + SETUP_FMT_TBL(FMT_VP8D, vpu2_vp8d), EMPTY_FMT_TBL(FMT_VP9D), - SETUP_FMT_TBL(FMT_PP , vpu2_default_pp), + SETUP_FMT_TBL(FMT_PP, vpu2_default_pp), - SETUP_FMT_TBL(FMT_VC1D , vpu2_vc1d), - SETUP_FMT_TBL(FMT_AVSD , vpu2_default_dec), + SETUP_FMT_TBL(FMT_VC1D, vpu2_vc1d), + SETUP_FMT_TBL(FMT_AVSD, vpu2_default_dec), - SETUP_FMT_TBL(FMT_JPEGE , vpu2_default_enc), - SETUP_FMT_TBL(FMT_H264E , vpu2_default_enc), - SETUP_FMT_TBL(FMT_VP8E , vpu2_default_enc), + SETUP_FMT_TBL(FMT_JPEGE, vpu2_default_enc), + SETUP_FMT_TBL(FMT_H264E, vpu2_default_enc), + SETUP_FMT_TBL(FMT_VP8E, vpu2_default_enc), }; #endif diff --git a/drivers/video/rockchip/vcodec/vcodec_service.c b/drivers/video/rockchip/vcodec/vcodec_service.c index accf449273e4..0f177d9ab4c2 100644 --- a/drivers/video/rockchip/vcodec/vcodec_service.c +++ b/drivers/video/rockchip/vcodec/vcodec_service.c @@ -577,11 +577,12 @@ static void vcodec_enter_mode(struct vpu_subdev_data *data) if (data->mmu_dev && !test_bit(MMU_ACTIVATED, &data->state)) { set_bit(MMU_ACTIVATED, &data->state); - if (atomic_read(&pservice->enabled)) + if (atomic_read(&pservice->enabled)) { vcodec_iommu_attach(data->iommu_info); - else - /* FIXME BUG_ON should not be used in mass produce */ - BUG_ON(!atomic_read(&pservice->enabled)); + } else { + WARN_ON(!atomic_read(&pservice->enabled)); + pr_err("reset mmu when service is disabled, do nothing\n"); + } } pservice->prev_mode = pservice->curr_mode; @@ -634,10 +635,9 @@ static int vpu_get_clk(struct vpu_service_info *pservice) if (IS_ERR(pservice->aclk_vcodec)) { dev_err(dev, "failed on clk_get aclk_vcodec\n"); return -1; - } else { - pservice->aclk_vcodec_default_rate = - clk_get_rate(pservice->aclk_vcodec); } + pservice->aclk_vcodec_default_rate = + clk_get_rate(pservice->aclk_vcodec); pservice->hclk_vcodec = devm_clk_get(dev, "hclk_vcodec"); if (IS_ERR(pservice->hclk_vcodec)) { @@ -645,7 +645,7 @@ static int vpu_get_clk(struct vpu_service_info *pservice) pservice->hclk_vcodec = NULL; return -1; } - if (pservice->pd_video == NULL) { + if (!pservice->pd_video) { pservice->pd_video = devm_clk_get(dev, "pd_video"); if (IS_ERR(pservice->pd_video)) { pservice->pd_video = NULL; @@ -687,9 +687,9 @@ static void _vpu_reset(struct vpu_subdev_data *data) struct vpu_service_info *pservice = data->pservice; dev_info(pservice->dev, "resetting...\n"); - WARN_ON(pservice->reg_codec != NULL); - WARN_ON(pservice->reg_pproc != NULL); - WARN_ON(pservice->reg_resev != NULL); + WARN_ON(pservice->reg_codec); + WARN_ON(pservice->reg_pproc); + WARN_ON(pservice->reg_resev); pservice->reg_codec = NULL; pservice->reg_pproc = NULL; pservice->reg_resev = NULL; @@ -746,8 +746,8 @@ static void vpu_reset(struct vpu_subdev_data *data) /* Need to reset iommu */ vcodec_iommu_detach(data->iommu_info); } else { - /* FIXME BUG_ON should not be used in mass produce */ - BUG_ON(!atomic_read(&pservice->enabled)); + WARN_ON(!atomic_read(&pservice->enabled)); + pr_err("reset mmu when service is disabled, do nothing\n"); } } @@ -908,8 +908,7 @@ static dma_addr_t vcodec_fd_to_iova(struct vpu_subdev_data *data, return hdl; mem_region = kzalloc(sizeof(*mem_region), GFP_KERNEL); - if (mem_region == NULL) { - vpu_err("allocate memory for iommu memory region failed\n"); + if (!mem_region) { vcodec_iommu_free(data->iommu_info, session, hdl); return -ENOMEM; } @@ -988,8 +987,8 @@ static int fill_scaling_list_pps(struct vpu_subdev_data *data, if (scaling_fd > 0) { int i = 0; - u32 tmp = vcodec_fd_to_iova(data, reg->session, reg, - scaling_fd, -1); + dma_addr_t tmp = vcodec_fd_to_iova(data, reg->session, reg, + scaling_fd, -1); if (IS_ERR_VALUE(tmp)) return tmp; @@ -1021,7 +1020,7 @@ static int vcodec_bufid_to_iova(struct vpu_subdev_data *data, int ret = 0; int i; - if (tbl == NULL || size <= 0) { + if (!tbl || size <= 0) { dev_err(pservice->dev, "input arguments invalidate\n"); return -EINVAL; } @@ -1133,8 +1132,8 @@ static int vcodec_bufid_to_iova(struct vpu_subdev_data *data, reg->reg[tbl[i]] = iova + offset; } - if (ext_inf != NULL && ext_inf->magic == EXTRA_INFO_MAGIC) { - for (i = 0; i < ext_inf->cnt; i++) { + if (ext_inf && ext_inf->magic == EXTRA_INFO_MAGIC) { + for (i = 0; i < (int)ext_inf->cnt; i++) { vpu_debug(DEBUG_IOMMU, "reg[%d] + offset %d\n", ext_inf->elem[i].index, ext_inf->elem[i].offset); @@ -1215,7 +1214,7 @@ static struct vpu_reg *reg_init(struct vpu_subdev_data *data, mutex_lock(&pservice->reset_lock); if (vcodec_reg_address_translate(data, session, reg, &extra_info) < 0) { - int i = 0; + u32 i = 0; mutex_unlock(&pservice->reset_lock); vpu_err("error: translate reg address failed, dumping regs\n"); @@ -1255,7 +1254,7 @@ static void reg_deinit(struct vpu_subdev_data *data, struct vpu_reg *reg) /* release memory region attach to this registers table. */ list_for_each_entry_safe(mem_region, n, - ®->mem_region_list, reg_lnk) { + ®->mem_region_list, reg_lnk) { vcodec_iommu_unmap_iommu(data->iommu_info, reg->session, mem_region->hdl); vcodec_iommu_free(data->iommu_info, reg->session, @@ -1281,7 +1280,7 @@ static void reg_from_wait_to_run(struct vpu_service_info *pservice, static void reg_copy_from_hw(struct vpu_reg *reg, u32 *src, u32 count) { - int i; + u32 i; u32 *dst = reg->reg; vpu_debug_enter(); @@ -1386,7 +1385,7 @@ static void reg_copy_to_hw(struct vpu_subdev_data *data, struct vpu_reg *reg) struct vpu_service_info *pservice = data->pservice; struct vpu_task_info *task = reg->task; struct vpu_hw_info *hw_info = data->hw_info; - int i; + u32 i; u32 *src = (u32 *)®->reg[0]; u32 enable_mask = task->enable_mask; u32 gating_mask = task->gating_mask; @@ -1676,7 +1675,7 @@ static long vpu_service_ioctl(struct file *filp, unsigned int cmd, vpu_debug(DEBUG_IOCTL, "cmd %x, VPU_IOC_SET_CLIENT_TYPE %x\n", cmd, (u32)VPU_IOC_SET_CLIENT_TYPE); - if (NULL == session) + if (!session) return -EINVAL; switch (cmd) { @@ -1699,7 +1698,8 @@ static long vpu_service_ioctl(struct file *filp, unsigned int cmd, if (copy_from_user(&req, (void __user *)arg, sizeof(req))) { vpu_err("error: get hw status copy_from_user failed\n"); return -EFAULT; - } else { + } + { void *config = (session->type != VPU_ENC) ? ((void *)&pservice->dec_config) : ((void *)&pservice->enc_config); @@ -1737,11 +1737,10 @@ static long vpu_service_ioctl(struct file *filp, unsigned int cmd, } reg = reg_init(data, session, (void __user *)req.req, req.size); - if (NULL == reg) { + if (!reg) return -EFAULT; - } else { - queue_work(pservice->set_workq, &data->set_work); - } + + queue_work(pservice->set_workq, &data->set_work); } break; case VPU_IOC_GET_REG: { struct vpu_request req; @@ -1845,7 +1844,7 @@ static long vpu_service_ioctl(struct file *filp, unsigned int cmd, regmap_write(pservice->grf, 0x5d8, val); } break; default: { - vpu_err("error: unknow vpu service ioctl cmd %x\n", cmd); + vpu_err("error: unknown vpu service ioctl cmd %x\n", cmd); return -ENOIOCTLCMD; } break; } @@ -1945,7 +1944,8 @@ static long compat_vpu_service_ioctl(struct file *file, unsigned int cmd, static int vpu_service_check_hw(struct vpu_subdev_data *data) { - int ret = -EINVAL, i = 0; + int ret = -EINVAL; + u32 i = 0; u32 hw_id = readl_relaxed(data->regs); hw_id = (hw_id >> 16) & 0xFFFF; @@ -1977,10 +1977,8 @@ static int vpu_service_open(struct inode *inode, struct file *filp) vpu_debug_enter(); session = kzalloc(sizeof(*session), GFP_KERNEL); - if (!session) { - vpu_err("error: unable to allocate memory for vpu_session."); + if (!session) return -ENOMEM; - } data->iommu_info->debug_level = debug; @@ -2011,7 +2009,7 @@ static int vpu_service_release(struct inode *inode, struct file *filp) struct vpu_session *session = (struct vpu_session *)filp->private_data; vpu_debug_enter(); - if (NULL == session) + if (!session) return -EINVAL; task_running = atomic_read(&session->task_running); @@ -2348,7 +2346,7 @@ static void rkvdec_set_clk(struct vpu_service_info *pservice, } static void vcodec_set_freq_rk3328(struct vpu_service_info *pservice, - struct vpu_reg *reg) + struct vpu_reg *reg) { enum VPU_FREQ curr = atomic_read(&pservice->freq_status); @@ -2399,7 +2397,6 @@ static void vcodec_set_freq_rk322x(struct vpu_service_info *pservice, 300 * MHZ, 300 * MHZ, EVENT_ADJUST); - } } @@ -2457,7 +2454,7 @@ _vcodec_sys_fault_hdl(struct device *dev, unsigned long iova, int status) if (pservice->reg_codec) { struct vpu_reg *reg = pservice->reg_codec; struct vcodec_mem_region *mem = NULL, *n = NULL; - int i = 0; + u32 i = 0; dev_err(dev, "vcodec, fault addr 0x%08lx status %x\n", iova, status); @@ -2502,10 +2499,10 @@ _vcodec_sys_fault_hdl(struct device *dev, unsigned long iova, int status) */ if (IOMMU_GET_BUS_ID(status) == 2 && data->pa_hdl >= 0) { /* avoid another page fault occur after page fault */ - if (data->pa_iova != -1) - vcodec_iommu_unmap_iommu_with_iova(data->iommu_info, - session, - data->pa_hdl); + if (data->pa_iova != (unsigned long)-1) + vcodec_iommu_unmap_iommu_with_iova + (data->iommu_info, session, + data->pa_hdl); /* get the page align iova */ data->pa_iova = round_down(iova, IOMMU_PAGE_SIZE); @@ -2523,19 +2520,19 @@ _vcodec_sys_fault_hdl(struct device *dev, unsigned long iova, int status) return 0; } -int vcodec_iommu_fault_hdl(struct iommu_domain *iommu, - struct device *iommu_dev, - unsigned long iova, int status, void *arg) +static int vcodec_iommu_fault_hdl(struct iommu_domain *iommu, + struct device *iommu_dev, + unsigned long iova, int status, void *arg) { struct device *dev = (struct device *)arg; return _vcodec_sys_fault_hdl(dev, iova, status); } -int vcodec_iovmm_fault_hdl(struct device *dev, - enum rk_iommu_inttype itype, - unsigned long pgtable_base, - unsigned long fault_addr, unsigned int status) +static int vcodec_iovmm_fault_hdl(struct device *dev, + enum rk_iommu_inttype itype, + unsigned long pgtable_base, + unsigned long fault_addr, unsigned int status) { return _vcodec_sys_fault_hdl(dev, fault_addr, status); } @@ -2651,9 +2648,8 @@ static struct vcodec_hw_var rkvd_device_info = { static void vcodec_set_hw_ops(struct vpu_service_info *pservice) { - if (pservice->hw_var) { + if (pservice->hw_var) pservice->hw_ops = pservice->hw_var->ops; - } if (!pservice->hw_ops) { pservice->hw_ops = &hw_ops_default; @@ -2804,7 +2800,7 @@ static int vcodec_subdev_probe(struct platform_device *pdev, vcodec_iommu_map_iommu(data->iommu_info, session, data->pa_hdl, NULL, NULL); - data->pa_iova = -1; + data->pa_iova = (unsigned long)-1; vcodec_exit_mode(data); hw_info = data->hw_info; @@ -3258,7 +3254,8 @@ static int vcodec_power_model_simple_init(struct vpu_service_info *pservice) return -ENODEV; } - if (of_property_read_string(power_model_node, "thermal-zone", &tz_name)) { + if (of_property_read_string(power_model_node, "thermal-zone", + &tz_name)) { dev_err(pservice->dev, "ts in power_model not available\n"); return -EINVAL; } @@ -3415,7 +3412,7 @@ static int vcodec_probe(struct platform_device *pdev) pservice->secure_isr = false; pservice->secure_irq_status = true; - if (0 > vpu_get_clk(pservice)) + if (vpu_get_clk(pservice) < 0) goto err; if (!IS_ERR(pservice->vdd_vcodec)) { @@ -3463,7 +3460,6 @@ static int vcodec_probe(struct platform_device *pdev) */ session = kzalloc(sizeof(*session), GFP_KERNEL); if (!session) { - vpu_err("error: unable to allocate memory for vpu_session."); ret = -ENOMEM; goto err; } @@ -3487,7 +3483,6 @@ static int vcodec_probe(struct platform_device *pdev) data = devm_kzalloc(dev, sizeof(struct vpu_subdev_data), GFP_KERNEL); if (!data) { - vpu_err("error: unable to allocate memory for vpu_subdev_data"); ret = -ENOMEM; goto err; } @@ -3513,10 +3508,9 @@ static int vcodec_probe(struct platform_device *pdev) ret = vcodec_power_model_simple_init(pservice); if (!ret && pservice->devfreq) { - pservice->devfreq_cooling = - of_devfreq_cooling_register_power(pservice->dev->of_node, - pservice->devfreq, - &vcodec_cooling_power_data); + pservice->devfreq_cooling = of_devfreq_cooling_register_power + (pservice->dev->of_node, pservice->devfreq, + &vcodec_cooling_power_data); if (IS_ERR_OR_NULL(pservice->devfreq_cooling)) { ret = PTR_ERR(pservice->devfreq_cooling); dev_err(pservice->dev, @@ -3778,22 +3772,21 @@ static irqreturn_t vdpu_isr(int irq, void *dev_id) struct vpu_session, list_session); - if (atomic_read(&pservice->secure_mode)) return IRQ_HANDLED; mutex_lock(&pservice->lock); if (atomic_read(&dev->irq_count_codec)) { atomic_sub(1, &dev->irq_count_codec); - if (pservice->reg_codec == NULL) { + if (!pservice->reg_codec) { vpu_err("error: dec isr with no task waiting\n"); } else { if (test_bit(MMU_PAGEFAULT, &data->state) && - data->pa_iova != -1) { - vcodec_iommu_unmap_iommu_with_iova(data->iommu_info, - session, - data->pa_hdl); - data->pa_iova = -1; + data->pa_iova != (unsigned long)-1) { + vcodec_iommu_unmap_iommu_with_iova + (data->iommu_info, session, + data->pa_hdl); + data->pa_iova = (unsigned long)-1; clear_bit(MMU_PAGEFAULT, &data->state); } reg_from_run_to_done(data, pservice->reg_codec); @@ -3805,7 +3798,7 @@ static irqreturn_t vdpu_isr(int irq, void *dev_id) if (atomic_read(&dev->irq_count_pp)) { atomic_sub(1, &dev->irq_count_pp); - if (pservice->reg_pproc == NULL) + if (!pservice->reg_pproc) vpu_err("error: pp isr with no task waiting\n"); else reg_from_run_to_done(data, pservice->reg_pproc); @@ -3864,7 +3857,7 @@ static irqreturn_t vepu_isr(int irq, void *dev_id) mutex_lock(&pservice->lock); if (atomic_read(&dev->irq_count_codec)) { atomic_sub(1, &dev->irq_count_codec); - if (NULL == pservice->reg_codec) + if (!pservice->reg_codec) vpu_err("error: enc isr with no task waiting\n"); else reg_from_run_to_done(data, pservice->reg_codec);