Skip to content

Commit

Permalink
[media] omap3isp: preview: Merge gamma correction and gamma bypass
Browse files Browse the repository at this point in the history
Enabling gamma bypass disables gamma correction and vice versa. Merge
the two parameters.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Laurent Pinchart authored and Mauro Carvalho Chehab committed Aug 11, 2012
1 parent 7bec7ef commit ac9dad9
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
44 changes: 22 additions & 22 deletions drivers/media/video/omap3isp/isppreview.c
Original file line number Diff line number Diff line change
Expand Up @@ -480,25 +480,6 @@ static void preview_enable_dcor(struct isp_prev_device *prev, bool enable)
ISPPRV_PCR_DCOREN);
}

/*
* preview_enable_gammabypass - Enable/disable Gamma Bypass
*
* When gamma bypass is enabled, the output of the gamma correction is the 8 MSB
* of the 10-bit input .
*/
static void
preview_enable_gammabypass(struct isp_prev_device *prev, bool enable)
{
struct isp_device *isp = to_isp_device(prev);

if (enable)
isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
ISPPRV_PCR_GAMMA_BYPASS);
else
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
ISPPRV_PCR_GAMMA_BYPASS);
}

/*
* preview_enable_drkframe_capture - Enable/disable Dark Frame Capture
*/
Expand Down Expand Up @@ -596,6 +577,25 @@ preview_config_gammacorrn(struct isp_prev_device *prev,
ISPPRV_SET_TBL_DATA);
}

/*
* preview_enable_gammacorrn - Enable/disable Gamma Correction
*
* When gamma correction is disabled, the module is bypassed and its output is
* the 8 MSB of the 10-bit input .
*/
static void
preview_enable_gammacorrn(struct isp_prev_device *prev, bool enable)
{
struct isp_device *isp = to_isp_device(prev);

if (enable)
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
ISPPRV_PCR_GAMMA_BYPASS);
else
isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
ISPPRV_PCR_GAMMA_BYPASS);
}

/*
* preview_config_contrast - Configure the Contrast
*
Expand Down Expand Up @@ -815,9 +815,9 @@ static const struct preview_update update_attrs[] = {
offsetof(struct prev_params, dcor),
FIELD_SIZEOF(struct prev_params, dcor),
offsetof(struct omap3isp_prev_update_config, dcor),
}, /* OMAP3ISP_PREV_GAMMABYPASS */ {
}, /* Previously OMAP3ISP_PREV_GAMMABYPASS, not used anymore */ {
NULL,
NULL,
preview_enable_gammabypass,
}, /* OMAP3ISP_PREV_DRK_FRM_CAPTURE */ {
NULL,
preview_enable_drkframe_capture,
Expand All @@ -835,7 +835,7 @@ static const struct preview_update update_attrs[] = {
offsetof(struct omap3isp_prev_update_config, nf),
}, /* OMAP3ISP_PREV_GAMMA */ {
preview_config_gammacorrn,
NULL,
preview_enable_gammacorrn,
offsetof(struct prev_params, gamma),
FIELD_SIZEOF(struct prev_params, gamma),
offsetof(struct omap3isp_prev_update_config, gamma),
Expand Down
2 changes: 1 addition & 1 deletion include/linux/omap3isp.h
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ struct omap3isp_ccdc_update_config {
#define OMAP3ISP_PREV_COLOR_CONV (1 << 8)
#define OMAP3ISP_PREV_YC_LIMIT (1 << 9)
#define OMAP3ISP_PREV_DEFECT_COR (1 << 10)
#define OMAP3ISP_PREV_GAMMABYPASS (1 << 11)
/* Bit 11 was OMAP3ISP_PREV_GAMMABYPASS, now merged with OMAP3ISP_PREV_GAMMA */
#define OMAP3ISP_PREV_DRK_FRM_CAPTURE (1 << 12)
#define OMAP3ISP_PREV_DRK_FRM_SUBTRACT (1 << 13)
#define OMAP3ISP_PREV_LENS_SHADING (1 << 14)
Expand Down

0 comments on commit ac9dad9

Please sign in to comment.