diff --git a/drivers/media/dvb-frontends/stv0910.c b/drivers/media/dvb-frontends/stv0910.c index 7e9b016b3b28b728fb227ea7b630eb1b33090b14..41444fa1c0bb1eaabbda8c87df53a61a2dc0913e 100644 --- a/drivers/media/dvb-frontends/stv0910.c +++ b/drivers/media/dvb-frontends/stv0910.c @@ -1200,7 +1200,6 @@ static int probe(struct stv *state) write_reg(state, RSTV0910_P1_TSCFGM, 0xC0); /* Manual speed */ write_reg(state, RSTV0910_P1_TSCFGL, 0x20); - /* Speed = 67.5 MHz */ write_reg(state, RSTV0910_P1_TSSPEED, state->tsspeed); write_reg(state, RSTV0910_P2_TSCFGH, state->tscfgh | 0x01); @@ -1208,7 +1207,6 @@ static int probe(struct stv *state) write_reg(state, RSTV0910_P2_TSCFGM, 0xC0); /* Manual speed */ write_reg(state, RSTV0910_P2_TSCFGL, 0x20); - /* Speed = 67.5 MHz */ write_reg(state, RSTV0910_P2_TSSPEED, state->tsspeed); /* Reset stream merger */ @@ -1790,7 +1788,8 @@ struct dvb_frontend *stv0910_attach(struct i2c_adapter *i2c, state->tscfgh = 0x20 | (cfg->parallel ? 0 : 0x40); state->tsgeneral = (cfg->parallel == 2) ? 0x02 : 0x00; state->i2crpt = 0x0A | ((cfg->rptlvl & 0x07) << 4); - state->tsspeed = 0x28; + /* use safe tsspeed value if unspecified through stv0910_cfg */ + state->tsspeed = (cfg->tsspeed ? cfg->tsspeed : 0x28); state->nr = nr; state->regoff = state->nr ? 0 : 0x200; state->search_range = 16000000; diff --git a/drivers/media/dvb-frontends/stv0910.h b/drivers/media/dvb-frontends/stv0910.h index fccd8d9b665fd273051cfc1ef4757f8fa131d519..f37171b7a2de02e09b587bb5b833d87e46d06545 100644 --- a/drivers/media/dvb-frontends/stv0910.h +++ b/drivers/media/dvb-frontends/stv0910.h @@ -10,6 +10,7 @@ struct stv0910_cfg { u8 parallel; u8 rptlvl; u8 single; + u8 tsspeed; }; #if IS_REACHABLE(CONFIG_DVB_STV0910) diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c index 377269c64449b8952d872cc7e21c6f7189df1dbe..6c2341642017f2b9c3b342ae5a853b795b85641e 100644 --- a/drivers/media/pci/ddbridge/ddbridge-core.c +++ b/drivers/media/pci/ddbridge/ddbridge-core.c @@ -1183,6 +1183,7 @@ static const struct stv0910_cfg stv0910_p = { .parallel = 1, .rptlvl = 4, .clk = 30000000, + .tsspeed = 0x28, }; static const struct lnbh25_config lnbh25_cfg = { diff --git a/drivers/media/pci/ngene/ngene-cards.c b/drivers/media/pci/ngene/ngene-cards.c index 7738565193d600a585a3c05aba5e14cd36e4436d..7a106bc11a2b7912bb2ddfb44d2d929fc03f3672 100644 --- a/drivers/media/pci/ngene/ngene-cards.c +++ b/drivers/media/pci/ngene/ngene-cards.c @@ -327,6 +327,7 @@ static struct stv0910_cfg stv0910_p = { .parallel = 1, .rptlvl = 4, .clk = 30000000, + .tsspeed = 0x28, }; static struct lnbh25_config lnbh25_cfg = {