summaryrefslogtreecommitdiff
authornengwen.chen <nengwen.chen@amlogic.com>2018-04-19 12:55:43 (GMT)
committer yang.xu <yang.xu@amlogic.com>2018-04-20 02:38:10 (GMT)
commit46c611205cb9e97ff00b1e764f5aac435e3f50a4 (patch)
tree05533524d540d94e14b54298bb8916ed0228e01d
parentdf6650d1ac19ca1aa3595e18fd777fe024787024 (diff)
downloadcommon-46c611205cb9e97ff00b1e764f5aac435e3f50a4.zip
common-46c611205cb9e97ff00b1e764f5aac435e3f50a4.tar.gz
common-46c611205cb9e97ff00b1e764f5aac435e3f50a4.tar.bz2
atv_demod: Modify atv entry and leave mode status.
PD#163853: Modify atv entry and leave mode status. Change-Id: I508574f7c0328342e0dff7657f79de4e60443d9a Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
Diffstat
-rw-r--r--drivers/amlogic/atv_demod/atv_demod_ops.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/amlogic/atv_demod/atv_demod_ops.c b/drivers/amlogic/atv_demod/atv_demod_ops.c
index 8bcf116..27571fd 100644
--- a/drivers/amlogic/atv_demod/atv_demod_ops.c
+++ b/drivers/amlogic/atv_demod/atv_demod_ops.c
@@ -375,6 +375,33 @@ static int atv_demod_set_config(struct dvb_frontend *fe, void *priv_cfg)
mutex_lock(&atv_demod_list_mutex);
+ switch (*state) {
+ case AML_ATVDEMOD_INIT:
+ if (get_atvdemod_state() != ATVDEMOD_STATE_WORK) {
+ atv_demod_enter_mode();
+ if (fe->ops.tuner_ops.init)
+ fe->ops.tuner_ops.init(fe);
+ }
+ break;
+
+ case AML_ATVDEMOD_UNINIT:
+ if (get_atvdemod_state() != ATVDEMOD_STATE_IDEL) {
+ atv_demod_leave_mode();
+ if (fe->ops.tuner_ops.release)
+ fe->ops.tuner_ops.release(fe);
+ }
+ break;
+
+ case AML_ATVDEMOD_RESUME:
+ if (get_atvdemod_state() == ATVDEMOD_STATE_SLEEP) {
+ atv_demod_enter_mode();
+ if (fe->ops.tuner_ops.resume)
+ fe->ops.tuner_ops.resume(fe);
+ }
+ break;
+ }
+
+#if 0
if (*state == AML_ATVDEMOD_INIT && atvdemod_state != *state) {
atv_demod_enter_mode();
if (fe->ops.tuner_ops.init)
@@ -389,6 +416,7 @@ static int atv_demod_set_config(struct dvb_frontend *fe, void *priv_cfg)
if (fe->ops.tuner_ops.resume)
fe->ops.tuner_ops.resume(fe);
}
+#endif
mutex_unlock(&atv_demod_list_mutex);