Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3943aa6 authored by Daniel Scheller's avatar Daniel Scheller Committed by Mauro Carvalho Chehab
Browse files

[media] dvb-frontends/cxd2841er: make lock wait in set_fe_tc() optional



Don't wait for FE_HAS_LOCK in set_frontend_tc() and thus don't hammer the
lock status register with inquiries when CXD2841ER_NO_WAIT_LOCK is set
in the configuration, which also unneccessarily blocks applications until
a TS LOCK has been acquired. Rather, API and applications will check for
a TS LOCK by utilising the tune fe_op, read_status and get_frontend ops,
which is sufficient.

Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
Acked-by: default avatarAbylay Ospan <aospan@netup.ru>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 763f857e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3460,6 +3460,10 @@ static int cxd2841er_set_frontend_tc(struct dvb_frontend *fe)
		cxd2841er_tuner_set(fe);

	cxd2841er_tune_done(priv);

	if (priv->flags & CXD2841ER_NO_WAIT_LOCK)
		goto done;

	timeout = 2500;
	while (timeout > 0) {
		ret = cxd2841er_read_status_tc(fe, &status);
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#define CXD2841ER_TS_SERIAL	4	/* bit 2 */
#define CXD2841ER_ASCOT		8	/* bit 3 */
#define CXD2841ER_EARLY_TUNE	16	/* bit 4 */
#define CXD2841ER_NO_WAIT_LOCK	32	/* bit 5 */

enum cxd2841er_xtal {
	SONY_XTAL_20500, /* 20.5 MHz */