[media] omap3isp: preview: Reorder configuration functions
Reorder the configuration and enable functions to match the parameters order. 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>
This commit is contained in:
parent
6f1dd566fd
commit
7bec7ef860
@ -156,6 +156,41 @@ static u32 luma_enhance_table[] = {
|
||||
#include "luma_enhance_table.h"
|
||||
};
|
||||
|
||||
/*
|
||||
* preview_config_luma_enhancement - Configure the Luminance Enhancement table
|
||||
*/
|
||||
static void
|
||||
preview_config_luma_enhancement(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_luma *yt = ¶ms->luma;
|
||||
unsigned int i;
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_YENH_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_YENH_TBL_SIZE; i++) {
|
||||
isp_reg_writel(isp, yt->table[i],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_DATA);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_luma_enhancement - Enable/disable Luminance Enhancement
|
||||
*/
|
||||
static void
|
||||
preview_enable_luma_enhancement(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_YNENHEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_YNENHEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_invalaw - Enable/disable Inverse A-Law decompression
|
||||
*/
|
||||
@ -171,52 +206,6 @@ static void preview_enable_invalaw(struct isp_prev_device *prev, bool enable)
|
||||
ISPPRV_PCR_WIDTH | ISPPRV_PCR_INVALAW);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_drkframe_capture - Enable/disable Dark Frame Capture
|
||||
*/
|
||||
static void
|
||||
preview_enable_drkframe_capture(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_DRKFCAP);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_DRKFCAP);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_drkframe - Enable/disable Dark Frame Subtraction
|
||||
*/
|
||||
static void preview_enable_drkframe(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_DRKFEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_DRKFEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_hmed - Enable/disable the Horizontal Median Filter
|
||||
*/
|
||||
static void preview_enable_hmed(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_HMEDEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_HMEDEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_hmed - Configure the Horizontal Median Filter
|
||||
*/
|
||||
@ -233,46 +222,18 @@ static void preview_config_hmed(struct isp_prev_device *prev,
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_noisefilter - Configure the Noise Filter
|
||||
* preview_enable_hmed - Enable/disable the Horizontal Median Filter
|
||||
*/
|
||||
static void
|
||||
preview_config_noisefilter(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
static void preview_enable_hmed(struct isp_prev_device *prev, bool enable)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_nf *nf = ¶ms->nf;
|
||||
unsigned int i;
|
||||
|
||||
isp_reg_writel(isp, nf->spread, OMAP3_ISP_IOMEM_PREV, ISPPRV_NF);
|
||||
isp_reg_writel(isp, ISPPRV_NF_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_NF_TBL_SIZE; i++) {
|
||||
isp_reg_writel(isp, nf->table[i],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_DATA);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_dcor - Configure Couplet Defect Correction
|
||||
*/
|
||||
static void
|
||||
preview_config_dcor(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_dcor *dcor = ¶ms->dcor;
|
||||
|
||||
isp_reg_writel(isp, dcor->detect_correct[0],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR0);
|
||||
isp_reg_writel(isp, dcor->detect_correct[1],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR1);
|
||||
isp_reg_writel(isp, dcor->detect_correct[2],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR2);
|
||||
isp_reg_writel(isp, dcor->detect_correct[3],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR3);
|
||||
isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_DCCOUP,
|
||||
dcor->couplet_mode_en ? ISPPRV_PCR_DCCOUP : 0);
|
||||
if (enable)
|
||||
isp_reg_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_HMEDEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_HMEDEN);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -304,55 +265,6 @@ preview_config_cfa(struct isp_prev_device *prev,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_gammacorrn - Configure the Gamma Correction tables
|
||||
*/
|
||||
static void
|
||||
preview_config_gammacorrn(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_gtables *gt = ¶ms->gamma;
|
||||
unsigned int i;
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_REDGAMMA_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_GAMMA_TBL_SIZE; i++)
|
||||
isp_reg_writel(isp, gt->red[i], OMAP3_ISP_IOMEM_PREV,
|
||||
ISPPRV_SET_TBL_DATA);
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_GREENGAMMA_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_GAMMA_TBL_SIZE; i++)
|
||||
isp_reg_writel(isp, gt->green[i], OMAP3_ISP_IOMEM_PREV,
|
||||
ISPPRV_SET_TBL_DATA);
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_BLUEGAMMA_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_GAMMA_TBL_SIZE; i++)
|
||||
isp_reg_writel(isp, gt->blue[i], OMAP3_ISP_IOMEM_PREV,
|
||||
ISPPRV_SET_TBL_DATA);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_luma_enhancement - Configure the Luminance Enhancement table
|
||||
*/
|
||||
static void
|
||||
preview_config_luma_enhancement(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_luma *yt = ¶ms->luma;
|
||||
unsigned int i;
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_YENH_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_YENH_TBL_SIZE; i++) {
|
||||
isp_reg_writel(isp, yt->table[i],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_DATA);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_chroma_suppression - Configure Chroma Suppression
|
||||
*/
|
||||
@ -369,72 +281,6 @@ preview_config_chroma_suppression(struct isp_prev_device *prev,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CSUP);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_noisefilter - Enable/disable the Noise Filter
|
||||
*/
|
||||
static void
|
||||
preview_enable_noisefilter(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_NFEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_NFEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_dcor - Enable/disable Couplet Defect Correction
|
||||
*/
|
||||
static void preview_enable_dcor(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_DCOREN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
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_luma_enhancement - Enable/disable Luminance Enhancement
|
||||
*/
|
||||
static void
|
||||
preview_enable_luma_enhancement(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_YNENHEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_YNENHEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_chroma_suppression - Enable/disable Chrominance Suppression
|
||||
*/
|
||||
@ -578,6 +424,208 @@ preview_config_csc(struct isp_prev_device *prev,
|
||||
isp_reg_writel(isp, val, OMAP3_ISP_IOMEM_PREV, ISPPRV_CSC_OFFSET);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_yc_range - Configure the max and min Y and C values
|
||||
*/
|
||||
static void
|
||||
preview_config_yc_range(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_yclimit *yc = ¶ms->yclimit;
|
||||
|
||||
isp_reg_writel(isp,
|
||||
yc->maxC << ISPPRV_SETUP_YC_MAXC_SHIFT |
|
||||
yc->maxY << ISPPRV_SETUP_YC_MAXY_SHIFT |
|
||||
yc->minC << ISPPRV_SETUP_YC_MINC_SHIFT |
|
||||
yc->minY << ISPPRV_SETUP_YC_MINY_SHIFT,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SETUP_YC);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_dcor - Configure Couplet Defect Correction
|
||||
*/
|
||||
static void
|
||||
preview_config_dcor(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_dcor *dcor = ¶ms->dcor;
|
||||
|
||||
isp_reg_writel(isp, dcor->detect_correct[0],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR0);
|
||||
isp_reg_writel(isp, dcor->detect_correct[1],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR1);
|
||||
isp_reg_writel(isp, dcor->detect_correct[2],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR2);
|
||||
isp_reg_writel(isp, dcor->detect_correct[3],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_CDC_THR3);
|
||||
isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_DCCOUP,
|
||||
dcor->couplet_mode_en ? ISPPRV_PCR_DCCOUP : 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_dcor - Enable/disable Couplet Defect Correction
|
||||
*/
|
||||
static void preview_enable_dcor(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_DCOREN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
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
|
||||
*/
|
||||
static void
|
||||
preview_enable_drkframe_capture(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_DRKFCAP);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_DRKFCAP);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_drkframe - Enable/disable Dark Frame Subtraction
|
||||
*/
|
||||
static void preview_enable_drkframe(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_DRKFEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_DRKFEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_noisefilter - Configure the Noise Filter
|
||||
*/
|
||||
static void
|
||||
preview_config_noisefilter(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_nf *nf = ¶ms->nf;
|
||||
unsigned int i;
|
||||
|
||||
isp_reg_writel(isp, nf->spread, OMAP3_ISP_IOMEM_PREV, ISPPRV_NF);
|
||||
isp_reg_writel(isp, ISPPRV_NF_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_NF_TBL_SIZE; i++) {
|
||||
isp_reg_writel(isp, nf->table[i],
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_DATA);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_enable_noisefilter - Enable/disable the Noise Filter
|
||||
*/
|
||||
static void
|
||||
preview_enable_noisefilter(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_NFEN);
|
||||
else
|
||||
isp_reg_clr(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_PCR,
|
||||
ISPPRV_PCR_NFEN);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_gammacorrn - Configure the Gamma Correction tables
|
||||
*/
|
||||
static void
|
||||
preview_config_gammacorrn(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_gtables *gt = ¶ms->gamma;
|
||||
unsigned int i;
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_REDGAMMA_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_GAMMA_TBL_SIZE; i++)
|
||||
isp_reg_writel(isp, gt->red[i], OMAP3_ISP_IOMEM_PREV,
|
||||
ISPPRV_SET_TBL_DATA);
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_GREENGAMMA_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_GAMMA_TBL_SIZE; i++)
|
||||
isp_reg_writel(isp, gt->green[i], OMAP3_ISP_IOMEM_PREV,
|
||||
ISPPRV_SET_TBL_DATA);
|
||||
|
||||
isp_reg_writel(isp, ISPPRV_BLUEGAMMA_TABLE_ADDR,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SET_TBL_ADDR);
|
||||
for (i = 0; i < OMAP3ISP_PREV_GAMMA_TBL_SIZE; i++)
|
||||
isp_reg_writel(isp, gt->blue[i], OMAP3_ISP_IOMEM_PREV,
|
||||
ISPPRV_SET_TBL_DATA);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_contrast - Configure the Contrast
|
||||
*
|
||||
* Value should be programmed before enabling the module.
|
||||
*/
|
||||
static void
|
||||
preview_config_contrast(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
|
||||
isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_CNT_BRT,
|
||||
0xff << ISPPRV_CNT_BRT_CNT_SHIFT,
|
||||
params->contrast << ISPPRV_CNT_BRT_CNT_SHIFT);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_brightness - Configure the Brightness
|
||||
*/
|
||||
static void
|
||||
preview_config_brightness(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
|
||||
isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_CNT_BRT,
|
||||
0xff << ISPPRV_CNT_BRT_BRT_SHIFT,
|
||||
params->brightness << ISPPRV_CNT_BRT_BRT_SHIFT);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_update_contrast - Updates the contrast.
|
||||
* @contrast: Pointer to hold the current programmed contrast value.
|
||||
@ -601,22 +649,6 @@ preview_update_contrast(struct isp_prev_device *prev, u8 contrast)
|
||||
spin_unlock_irqrestore(&prev->params.lock, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_contrast - Configure the Contrast
|
||||
*
|
||||
* Value should be programmed before enabling the module.
|
||||
*/
|
||||
static void
|
||||
preview_config_contrast(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
|
||||
isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_CNT_BRT,
|
||||
0xff << ISPPRV_CNT_BRT_CNT_SHIFT,
|
||||
params->contrast << ISPPRV_CNT_BRT_CNT_SHIFT);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_update_brightness - Updates the brightness in preview module.
|
||||
* @brightness: Pointer to hold the current programmed brightness value.
|
||||
@ -639,38 +671,6 @@ preview_update_brightness(struct isp_prev_device *prev, u8 brightness)
|
||||
spin_unlock_irqrestore(&prev->params.lock, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_brightness - Configure the Brightness
|
||||
*/
|
||||
static void
|
||||
preview_config_brightness(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
|
||||
isp_reg_clr_set(isp, OMAP3_ISP_IOMEM_PREV, ISPPRV_CNT_BRT,
|
||||
0xff << ISPPRV_CNT_BRT_BRT_SHIFT,
|
||||
params->brightness << ISPPRV_CNT_BRT_BRT_SHIFT);
|
||||
}
|
||||
|
||||
/*
|
||||
* preview_config_yc_range - Configure the max and min Y and C values
|
||||
*/
|
||||
static void
|
||||
preview_config_yc_range(struct isp_prev_device *prev,
|
||||
const struct prev_params *params)
|
||||
{
|
||||
struct isp_device *isp = to_isp_device(prev);
|
||||
const struct omap3isp_prev_yclimit *yc = ¶ms->yclimit;
|
||||
|
||||
isp_reg_writel(isp,
|
||||
yc->maxC << ISPPRV_SETUP_YC_MAXC_SHIFT |
|
||||
yc->maxY << ISPPRV_SETUP_YC_MAXY_SHIFT |
|
||||
yc->minC << ISPPRV_SETUP_YC_MINC_SHIFT |
|
||||
yc->minY << ISPPRV_SETUP_YC_MINY_SHIFT,
|
||||
OMAP3_ISP_IOMEM_PREV, ISPPRV_SETUP_YC);
|
||||
}
|
||||
|
||||
static u32
|
||||
preview_params_lock(struct isp_prev_device *prev, u32 update, bool shadow)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user