drm/sun4i: frontend: Move the FIR filter phases to our quirks
The FIR filters phase depend on the SoC, so let's move it to our quirks structure instead of removing them. Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190118145133.21281-22-paul.kocialkowski@bootlin.com
This commit is contained in:
parent
38ffb167fd
commit
1379e83567
@ -438,12 +438,18 @@ int sun4i_frontend_update_formats(struct sun4i_frontend *frontend,
|
||||
* I have no idea what this does exactly, but it seems to be
|
||||
* related to the scaler FIR filter phase parameters.
|
||||
*/
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_HORZPHASE_REG, 0x400);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_HORZPHASE_REG, 0x400);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_VERTPHASE0_REG, 0x400);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_VERTPHASE0_REG, 0x400);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_VERTPHASE1_REG, 0x400);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_VERTPHASE1_REG, 0x400);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_HORZPHASE_REG,
|
||||
frontend->data->ch_phase[0].horzphase);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_HORZPHASE_REG,
|
||||
frontend->data->ch_phase[1].horzphase);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_VERTPHASE0_REG,
|
||||
frontend->data->ch_phase[0].vertphase[0]);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_VERTPHASE0_REG,
|
||||
frontend->data->ch_phase[1].vertphase[0]);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH0_VERTPHASE1_REG,
|
||||
frontend->data->ch_phase[0].vertphase[1]);
|
||||
regmap_write(frontend->regs, SUN4I_FRONTEND_CH1_VERTPHASE1_REG,
|
||||
frontend->data->ch_phase[1].vertphase[1]);
|
||||
|
||||
/*
|
||||
* Checking the input format is sufficient since we currently only
|
||||
@ -677,6 +683,16 @@ static const struct dev_pm_ops sun4i_frontend_pm_ops = {
|
||||
};
|
||||
|
||||
static const struct sun4i_frontend_data sun8i_a33_frontend = {
|
||||
.ch_phase = {
|
||||
{
|
||||
.horzphase = 0x400,
|
||||
.vertphase = { 0x400, 0x400 },
|
||||
},
|
||||
{
|
||||
.horzphase = 0x400,
|
||||
.vertphase = { 0x400, 0x400 },
|
||||
},
|
||||
},
|
||||
.has_coef_access_ctrl = true,
|
||||
};
|
||||
|
||||
|
@ -115,6 +115,11 @@ struct reset_control;
|
||||
struct sun4i_frontend_data {
|
||||
bool has_coef_access_ctrl;
|
||||
bool has_coef_rdy;
|
||||
|
||||
struct {
|
||||
u32 horzphase;
|
||||
u32 vertphase[2];
|
||||
} ch_phase[2];
|
||||
};
|
||||
|
||||
struct sun4i_frontend {
|
||||
|
Loading…
x
Reference in New Issue
Block a user