diff options
Diffstat (limited to 'drivers/staging/media/davinci_vpfe')
-rw-r--r-- | drivers/staging/media/davinci_vpfe/Kconfig | 1 | ||||
-rw-r--r-- | drivers/staging/media/davinci_vpfe/Makefile | 1 | ||||
-rw-r--r-- | drivers/staging/media/davinci_vpfe/dm365_ipipe.c | 6 | ||||
-rw-r--r-- | drivers/staging/media/davinci_vpfe/dm365_ipipe.h | 2 | ||||
-rw-r--r-- | drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c | 24 | ||||
-rw-r--r-- | drivers/staging/media/davinci_vpfe/dm365_ipipeif.c | 41 | ||||
-rw-r--r-- | drivers/staging/media/davinci_vpfe/dm365_ipipeif.h | 2 | ||||
-rw-r--r-- | drivers/staging/media/davinci_vpfe/dm365_resizer.c | 4 |
8 files changed, 39 insertions, 42 deletions
diff --git a/drivers/staging/media/davinci_vpfe/Kconfig b/drivers/staging/media/davinci_vpfe/Kconfig index aea449a8dbf8..eb61141b29e8 100644 --- a/drivers/staging/media/davinci_vpfe/Kconfig +++ b/drivers/staging/media/davinci_vpfe/Kconfig @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 config VIDEO_DM365_VPFE tristate "DM365 VPFE Media Controller Capture Driver" depends on VIDEO_V4L2 diff --git a/drivers/staging/media/davinci_vpfe/Makefile b/drivers/staging/media/davinci_vpfe/Makefile index 9268e507f791..0ae8c5014f74 100644 --- a/drivers/staging/media/davinci_vpfe/Makefile +++ b/drivers/staging/media/davinci_vpfe/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIDEO_DM365_VPFE) += davinci-vfpe.o davinci-vfpe-objs := \ diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c index 3d910b85905c..30e2edc0cec5 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_ipipe.c +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipe.c @@ -1264,8 +1264,7 @@ static int ipipe_s_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg) module_if = &ipipe_modules[i]; from = *(void **)((void *)cfg + module_if->config_offset); - params = kmalloc(sizeof(struct ipipe_module_params), - GFP_KERNEL); + params = kmalloc(sizeof(*params), GFP_KERNEL); to = (void *)params + module_if->param_offset; size = module_if->param_size; @@ -1306,8 +1305,7 @@ static int ipipe_g_config(struct v4l2_subdev *sd, struct vpfe_ipipe_config *cfg) module_if = &ipipe_modules[i]; to = *(void **)((void *)cfg + module_if->config_offset); - params = kmalloc(sizeof(struct ipipe_module_params), - GFP_KERNEL); + params = kmalloc(sizeof(*params), GFP_KERNEL); from = (void *)params + module_if->param_offset; size = module_if->param_size; diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipe.h b/drivers/staging/media/davinci_vpfe/dm365_ipipe.h index 174334b53f96..866ae12aeb07 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_ipipe.h +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipe.h @@ -27,8 +27,6 @@ #include "davinci_vpfe_user.h" #include "vpfe_video.h" -#define CEIL(a, b) (((a) + (b-1)) / (b)) - enum ipipe_noise_filter { IPIPE_D2F_1ST = 0, IPIPE_D2F_2ND = 1, diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c b/drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c index 565a3dc5bed1..110473c30577 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipe_hw.c @@ -825,8 +825,10 @@ ipipe_set_lum_adj_regs(void __iomem *base_addr, struct ipipe_lum_adj *lum_adj) regw_ip(base_addr, val, YUV_ADJ); } -#define IPIPE_S12Q8(decimal, integer) \ - (((decimal & 0xff) | ((integer & 0xf) << 8))) +inline u32 ipipe_s12q8(unsigned short decimal, short integer) +{ + return (decimal & 0xff) | ((integer & 0xf) << 8); +} void ipipe_set_rgb2ycbcr_regs(void __iomem *base_addr, struct vpfe_ipipe_rgb2yuv *yuv) @@ -835,23 +837,23 @@ void ipipe_set_rgb2ycbcr_regs(void __iomem *base_addr, /* S10Q8 */ ipipe_clock_enable(base_addr); - val = IPIPE_S12Q8(yuv->coef_ry.decimal, yuv->coef_ry.integer); + val = ipipe_s12q8(yuv->coef_ry.decimal, yuv->coef_ry.integer); regw_ip(base_addr, val, YUV_MUL_RY); - val = IPIPE_S12Q8(yuv->coef_gy.decimal, yuv->coef_gy.integer); + val = ipipe_s12q8(yuv->coef_gy.decimal, yuv->coef_gy.integer); regw_ip(base_addr, val, YUV_MUL_GY); - val = IPIPE_S12Q8(yuv->coef_by.decimal, yuv->coef_by.integer); + val = ipipe_s12q8(yuv->coef_by.decimal, yuv->coef_by.integer); regw_ip(base_addr, val, YUV_MUL_BY); - val = IPIPE_S12Q8(yuv->coef_rcb.decimal, yuv->coef_rcb.integer); + val = ipipe_s12q8(yuv->coef_rcb.decimal, yuv->coef_rcb.integer); regw_ip(base_addr, val, YUV_MUL_RCB); - val = IPIPE_S12Q8(yuv->coef_gcb.decimal, yuv->coef_gcb.integer); + val = ipipe_s12q8(yuv->coef_gcb.decimal, yuv->coef_gcb.integer); regw_ip(base_addr, val, YUV_MUL_GCB); - val = IPIPE_S12Q8(yuv->coef_bcb.decimal, yuv->coef_bcb.integer); + val = ipipe_s12q8(yuv->coef_bcb.decimal, yuv->coef_bcb.integer); regw_ip(base_addr, val, YUV_MUL_BCB); - val = IPIPE_S12Q8(yuv->coef_rcr.decimal, yuv->coef_rcr.integer); + val = ipipe_s12q8(yuv->coef_rcr.decimal, yuv->coef_rcr.integer); regw_ip(base_addr, val, YUV_MUL_RCR); - val = IPIPE_S12Q8(yuv->coef_gcr.decimal, yuv->coef_gcr.integer); + val = ipipe_s12q8(yuv->coef_gcr.decimal, yuv->coef_gcr.integer); regw_ip(base_addr, val, YUV_MUL_GCR); - val = IPIPE_S12Q8(yuv->coef_bcr.decimal, yuv->coef_bcr.integer); + val = ipipe_s12q8(yuv->coef_bcr.decimal, yuv->coef_bcr.integer); regw_ip(base_addr, val, YUV_MUL_BCR); regw_ip(base_addr, yuv->out_ofst_y & RGB2YCBCR_OFST_MASK, YUV_OFT_Y); regw_ip(base_addr, yuv->out_ofst_cb & RGB2YCBCR_OFST_MASK, YUV_OFT_CB); diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c index 22fcdbcde96b..51d4cd1bdb97 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c @@ -104,7 +104,7 @@ ipipeif_get_cfg_src1(struct vpfe_ipipeif_device *ipipeif) informat = &ipipeif->formats[IPIPEIF_PAD_SINK]; if (ipipeif->input == IPIPEIF_INPUT_MEMORY && - (informat->code == MEDIA_BUS_FMT_Y8_1X8 || + (informat->code == MEDIA_BUS_FMT_Y8_1X8 || informat->code == MEDIA_BUS_FMT_UV8_1X8)) return IPIPEIF_CCDC; @@ -189,7 +189,7 @@ static int ipipeif_hw_setup(struct v4l2_subdev *sd) enum ipipeif_input_source ipipeif_source; u32 isif_port_if; void __iomem *ipipeif_base_addr; - unsigned int val; + unsigned long val; int data_shift; int pack_mode; int source1; @@ -296,14 +296,14 @@ static int ipipeif_hw_setup(struct v4l2_subdev *sd) case MEDIA_BUS_FMT_YUYV8_1X16: case MEDIA_BUS_FMT_UYVY8_2X8: case MEDIA_BUS_FMT_Y8_1X8: - RESETBIT(val, IPIPEIF_CFG2_YUV8_SHIFT); - SETBIT(val, IPIPEIF_CFG2_YUV16_SHIFT); + clear_bit(IPIPEIF_CFG2_YUV8_SHIFT, &val); + set_bit(IPIPEIF_CFG2_YUV16_SHIFT, &val); ipipeif_write(val, ipipeif_base_addr, IPIPEIF_CFG2); break; default: - RESETBIT(val, IPIPEIF_CFG2_YUV8_SHIFT); - RESETBIT(val, IPIPEIF_CFG2_YUV16_SHIFT); + clear_bit(IPIPEIF_CFG2_YUV8_SHIFT, &val); + clear_bit(IPIPEIF_CFG2_YUV16_SHIFT, &val); ipipeif_write(val, ipipeif_base_addr, IPIPEIF_CFG2); break; } @@ -344,23 +344,23 @@ static int ipipeif_hw_setup(struct v4l2_subdev *sd) switch (isif_port_if) { case MEDIA_BUS_FMT_YUYV8_1X16: case MEDIA_BUS_FMT_YUYV10_1X20: - RESETBIT(val, IPIPEIF_CFG2_YUV8_SHIFT); - SETBIT(val, IPIPEIF_CFG2_YUV16_SHIFT); + clear_bit(IPIPEIF_CFG2_YUV8_SHIFT, &val); + set_bit(IPIPEIF_CFG2_YUV16_SHIFT, &val); break; case MEDIA_BUS_FMT_YUYV8_2X8: case MEDIA_BUS_FMT_UYVY8_2X8: case MEDIA_BUS_FMT_Y8_1X8: case MEDIA_BUS_FMT_YUYV10_2X10: - SETBIT(val, IPIPEIF_CFG2_YUV8_SHIFT); - SETBIT(val, IPIPEIF_CFG2_YUV16_SHIFT); + set_bit(IPIPEIF_CFG2_YUV8_SHIFT, &val); + set_bit(IPIPEIF_CFG2_YUV16_SHIFT, &val); val |= IPIPEIF_CBCR_Y << IPIPEIF_CFG2_YUV8P_SHIFT; break; default: /* Bayer */ ipipeif_write(params.if_5_1.clip, ipipeif_base_addr, - IPIPEIF_OCLIP); + IPIPEIF_OCLIP); } ipipeif_write(val, ipipeif_base_addr, IPIPEIF_CFG2); break; @@ -389,7 +389,7 @@ ipipeif_set_config(struct v4l2_subdev *sd, struct ipipeif_params *config) ipipeif->config.rsz = config->rsz; ipipeif->config.decimation = config->decimation; if (ipipeif->config.decimation && - (ipipeif->config.rsz < IPIPEIF_RSZ_MIN || + (ipipeif->config.rsz < IPIPEIF_RSZ_MIN || ipipeif->config.rsz > IPIPEIF_RSZ_MAX)) { dev_err(dev, "rsz range is %d to %d\n", IPIPEIF_RSZ_MIN, IPIPEIF_RSZ_MAX); @@ -580,7 +580,7 @@ static int ipipeif_enum_mbus_code(struct v4l2_subdev *sd, */ static int ipipeif_get_format(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *cfg, - struct v4l2_subdev_format *fmt) + struct v4l2_subdev_format *fmt) { struct vpfe_ipipeif_device *ipipeif = v4l2_get_subdevdata(sd); @@ -679,8 +679,8 @@ ipipeif_enum_frame_size(struct v4l2_subdev *sd, */ static struct v4l2_mbus_framefmt * __ipipeif_get_format(struct vpfe_ipipeif_device *ipipeif, - struct v4l2_subdev_pad_config *cfg, unsigned int pad, - enum v4l2_subdev_format_whence which) + struct v4l2_subdev_pad_config *cfg, unsigned int pad, + enum v4l2_subdev_format_whence which) { if (which == V4L2_SUBDEV_FORMAT_TRY) return v4l2_subdev_get_try_format(&ipipeif->subdev, cfg, pad); @@ -697,13 +697,13 @@ __ipipeif_get_format(struct vpfe_ipipeif_device *ipipeif, */ static int ipipeif_set_format(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *cfg, - struct v4l2_subdev_format *fmt) + struct v4l2_subdev_format *fmt) { struct vpfe_ipipeif_device *ipipeif = v4l2_get_subdevdata(sd); struct v4l2_mbus_framefmt *format; format = __ipipeif_get_format(ipipeif, cfg, fmt->pad, fmt->which); - if (format == NULL) + if (!format) return -EINVAL; ipipeif_try_format(ipipeif, cfg, fmt->pad, &fmt->format, fmt->which); @@ -879,7 +879,7 @@ static const struct vpfe_video_operations video_in_ops = { static int ipipeif_link_setup(struct media_entity *entity, const struct media_pad *local, - const struct media_pad *remote, u32 flags) + const struct media_pad *remote, u32 flags) { struct v4l2_subdev *sd = media_entity_to_v4l2_subdev(entity); struct vpfe_ipipeif_device *ipipeif = v4l2_get_subdevdata(sd); @@ -920,8 +920,7 @@ ipipeif_link_setup(struct media_entity *entity, const struct media_pad *local, if (remote->entity == &vpfe->vpfe_ipipe.subdev.entity) /* connencted to ipipe */ ipipeif->output = IPIPEIF_OUTPUT_IPIPE; - else if (remote->entity == &vpfe->vpfe_resizer. - crop_resizer.subdev.entity) + else if (remote->entity == &vpfe->vpfe_resizer.crop_resizer.subdev.entity) /* connected to resizer */ ipipeif->output = IPIPEIF_OUTPUT_RESIZER; else @@ -976,7 +975,7 @@ vpfe_ipipeif_register_entities(struct vpfe_ipipeif_device *ipipeif, flags = 0; ret = media_create_pad_link(&ipipeif->video_in.video_dev.entity, 0, - &ipipeif->subdev.entity, 0, flags); + &ipipeif->subdev.entity, 0, flags); if (ret < 0) goto fail; diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.h b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.h index 4685d64016de..4d126fc871f3 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.h +++ b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.h @@ -166,8 +166,6 @@ struct vpfe_ipipeif_device { #define IPIPEIF_RSZ_MIN 16 #define IPIPEIF_RSZ_MAX 112 #define IPIPEIF_RSZ_CONST 16 -#define SETBIT(reg, bit) (reg = ((reg) | ((0x00000001)<<(bit)))) -#define RESETBIT(reg, bit) (reg = ((reg) & (~(0x00000001<<(bit))))) #define IPIPEIF_ADOFS_LSB_MASK 0x1ff #define IPIPEIF_ADOFS_LSB_SHIFT 5 diff --git a/drivers/staging/media/davinci_vpfe/dm365_resizer.c b/drivers/staging/media/davinci_vpfe/dm365_resizer.c index 9d726298b406..d460963106fa 100644 --- a/drivers/staging/media/davinci_vpfe/dm365_resizer.c +++ b/drivers/staging/media/davinci_vpfe/dm365_resizer.c @@ -386,7 +386,7 @@ resizer_calculate_down_scale_f_div_param(struct device *dev, } o = 10 + (two_power << 2); if (((input_width << 7) / rsz) % 2) - o += (((CEIL(rsz, 1024)) << 1) << n); + o += ((DIV_ROUND_UP(rsz, 1024) << 1) << n); h2 = output_width - h1; /* phi */ val = (h1 * rsz) - (((upper_h1 - (o - 10)) / two_power) << 8); @@ -630,7 +630,7 @@ resizer_calculate_normal_f_div_param(struct device *dev, int input_width, val /= rsz << 1; val <<= 1; val += 2; - o += ((CEIL(rsz, 1024)) << 1); + o += (DIV_ROUND_UP(rsz, 1024) << 1); h1 = val; } h2 = output_width - h1; |