[media] dib8000: enhancement
The intend of this patch is to improve the support of the dib8000. Signed-off-by: Olivier Grenie <olivier.grenie@parrot.com> Signed-off-by: Patrick Boettcher <patrick.boettcher@parrot.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
1552fb344d
commit
173a64cb3f
4 changed files with 1369 additions and 973 deletions
File diff suppressed because it is too large
Load diff
|
@ -33,6 +33,8 @@ struct dib8000_config {
|
|||
u8 output_mode;
|
||||
u8 refclksel;
|
||||
u8 enMpegOutput:1;
|
||||
|
||||
struct dibx000_bandwidth_config *plltable;
|
||||
};
|
||||
|
||||
#define DEFAULT_DIB8000_I2C_ADDRESS 18
|
||||
|
@ -58,7 +60,7 @@ extern int dib8090p_get_dc_power(struct dvb_frontend *fe, u8 IQ);
|
|||
extern u32 dib8000_ctrl_timf(struct dvb_frontend *fe,
|
||||
uint8_t op, uint32_t timf);
|
||||
extern int dib8000_update_pll(struct dvb_frontend *fe,
|
||||
struct dibx000_bandwidth_config *pll);
|
||||
struct dibx000_bandwidth_config *pll, u32 bw, u8 ratio);
|
||||
extern int dib8000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave);
|
||||
extern int dib8000_remove_slave_frontend(struct dvb_frontend *fe);
|
||||
extern struct dvb_frontend *dib8000_get_slave_frontend(struct dvb_frontend *fe, int slave_index);
|
||||
|
@ -147,7 +149,7 @@ static inline u32 dib8000_ctrl_timf(struct dvb_frontend *fe,
|
|||
return 0;
|
||||
}
|
||||
static inline int dib8000_update_pll(struct dvb_frontend *fe,
|
||||
struct dibx000_bandwidth_config *pll)
|
||||
struct dibx000_bandwidth_config *pll, u32 bw, u8 ratio)
|
||||
{
|
||||
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
|
||||
return -ENODEV;
|
||||
|
|
|
@ -193,7 +193,8 @@ enum frontend_tune_state {
|
|||
CT_DEMOD_STEP_8,
|
||||
CT_DEMOD_STEP_9,
|
||||
CT_DEMOD_STEP_10,
|
||||
CT_DEMOD_SEARCH_NEXT = 41,
|
||||
CT_DEMOD_STEP_11,
|
||||
CT_DEMOD_SEARCH_NEXT = 51,
|
||||
CT_DEMOD_STEP_LOCKED,
|
||||
CT_DEMOD_STOP,
|
||||
|
||||
|
|
|
@ -1850,7 +1850,7 @@ static int dib8096p_agc_startup(struct dvb_frontend *fe)
|
|||
if ((adc_table->freq != 0xffffffff) && better_sampling_freq) {
|
||||
pll.pll_ratio = adc_table->pll_loopdiv;
|
||||
pll.pll_prediv = adc_table->pll_prediv;
|
||||
dib8000_update_pll(fe, &pll);
|
||||
dib8000_update_pll(fe, &pll, fe->dtv_property_cache.bandwidth_hz / 1000, 0);
|
||||
dib8000_ctrl_timf(fe, DEMOD_TIMF_SET, adc_table->timf);
|
||||
}
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue