Commit caf447bf authored by Sakari Ailus's avatar Sakari Ailus Committed by Mauro Carvalho Chehab

[media] smiapp: Make PLL flags separate from regular quirk flags

It doesn't make sense to just copy the information to the PLL flags. Add a
new fields for the quirks to contain the PLL flags.
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 3c9e7ea3
...@@ -2617,12 +2617,11 @@ static int smiapp_registered(struct v4l2_subdev *subdev) ...@@ -2617,12 +2617,11 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
pll->bus_type = SMIAPP_PLL_BUS_TYPE_CSI2; pll->bus_type = SMIAPP_PLL_BUS_TYPE_CSI2;
pll->csi2.lanes = sensor->platform_data->lanes; pll->csi2.lanes = sensor->platform_data->lanes;
pll->ext_clk_freq_hz = sensor->platform_data->ext_clk; pll->ext_clk_freq_hz = sensor->platform_data->ext_clk;
if (sensor->minfo.quirk)
pll->flags = sensor->minfo.quirk->pll_flags;
/* Profile 0 sensors have no separate OP clock branch. */ /* Profile 0 sensors have no separate OP clock branch. */
if (sensor->minfo.smiapp_profile == SMIAPP_PROFILE_0) if (sensor->minfo.smiapp_profile == SMIAPP_PROFILE_0)
pll->flags |= SMIAPP_PLL_FLAG_NO_OP_CLOCKS; pll->flags |= SMIAPP_PLL_FLAG_NO_OP_CLOCKS;
if (smiapp_needs_quirk(sensor,
SMIAPP_QUIRK_FLAG_OP_PIX_CLOCK_PER_LANE))
pll->flags |= SMIAPP_PLL_FLAG_OP_PIX_CLOCK_PER_LANE;
pll->scale_n = sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN]; pll->scale_n = sensor->limits[SMIAPP_LIMIT_SCALER_N_MIN];
rval = smiapp_update_mode(sensor); rval = smiapp_update_mode(sensor);
......
...@@ -225,7 +225,7 @@ const struct smiapp_quirk smiapp_jt8ev1_quirk = { ...@@ -225,7 +225,7 @@ const struct smiapp_quirk smiapp_jt8ev1_quirk = {
.post_poweron = jt8ev1_post_poweron, .post_poweron = jt8ev1_post_poweron,
.pre_streamon = jt8ev1_pre_streamon, .pre_streamon = jt8ev1_pre_streamon,
.post_streamoff = jt8ev1_post_streamoff, .post_streamoff = jt8ev1_post_streamoff,
.flags = SMIAPP_QUIRK_FLAG_OP_PIX_CLOCK_PER_LANE, .pll_flags = SMIAPP_PLL_FLAG_OP_PIX_CLOCK_PER_LANE,
}; };
static int tcm8500md_limits(struct smiapp_sensor *sensor) static int tcm8500md_limits(struct smiapp_sensor *sensor)
......
...@@ -42,11 +42,10 @@ struct smiapp_quirk { ...@@ -42,11 +42,10 @@ struct smiapp_quirk {
int (*pre_streamon)(struct smiapp_sensor *sensor); int (*pre_streamon)(struct smiapp_sensor *sensor);
int (*post_streamoff)(struct smiapp_sensor *sensor); int (*post_streamoff)(struct smiapp_sensor *sensor);
unsigned long flags; unsigned long flags;
unsigned long pll_flags;
}; };
/* op pix clock is for all lanes in total normally */ #define SMIAPP_QUIRK_FLAG_8BIT_READ_ONLY (1 << 0)
#define SMIAPP_QUIRK_FLAG_OP_PIX_CLOCK_PER_LANE (1 << 0)
#define SMIAPP_QUIRK_FLAG_8BIT_READ_ONLY (1 << 1)
struct smiapp_reg_8 { struct smiapp_reg_8 {
u16 reg; u16 reg;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment