summaryrefslogtreecommitdiff
authorCheng Tong <cheng.tong@amlogic.com>2019-11-06 06:11:31 (GMT)
committer Cheng Tong <cheng.tong@amlogic.com>2019-11-06 09:09:39 (GMT)
commitf9eb2955faffc2ee36339cd3ef05f01d528f1150 (patch)
treeab3f04adf75de62fea725f3d1be792c97f59f468
parent06215bb40e3d6b7ab8fb7f7d122a915a99c6a443 (diff)
downloadmedia_modules-f9eb2955faffc2ee36339cd3ef05f01d528f1150.zip
media_modules-f9eb2955faffc2ee36339cd3ef05f01d528f1150.tar.gz
media_modules-f9eb2955faffc2ee36339cd3ef05f01d528f1150.tar.bz2
dvb: fix demux set serial ts mode issue [1/1]
PD#OTT-7142 Problem: demux can't set ts source correctly if ts 1 at serial mode Solution: fix the right ts mode Verify: verify on s805y Change-Id: Ie8cbbe1320d925bcd4744ea5c0ab710b58055d3b Signed-off-by: Cheng Tong <cheng.tong@amlogic.com>
Diffstat
-rw-r--r--drivers/stream_input/parser/hw_demux/aml_dmx.c24
-rw-r--r--drivers/stream_input/parser/hw_demux/aml_dvb.h1
2 files changed, 13 insertions, 12 deletions
diff --git a/drivers/stream_input/parser/hw_demux/aml_dmx.c b/drivers/stream_input/parser/hw_demux/aml_dmx.c
index b82984f..286b922 100644
--- a/drivers/stream_input/parser/hw_demux/aml_dmx.c
+++ b/drivers/stream_input/parser/hw_demux/aml_dmx.c
@@ -4872,22 +4872,22 @@ int aml_dmx_hw_set_source(struct dmx_demux *demux, dmx_source_t src)
case DMX_SOURCE_FRONT0:
hw_src =
(dvb->ts[0].mode ==
- AM_TS_SERIAL) ? (dvb->ts[0].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS0;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS0) : AM_TS_SRC_TS0;
break;
case DMX_SOURCE_FRONT1:
hw_src =
(dvb->ts[1].mode ==
- AM_TS_SERIAL) ? (dvb->ts[1].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS1;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS1) : AM_TS_SRC_TS1;
break;
case DMX_SOURCE_FRONT2:
hw_src =
(dvb->ts[2].mode ==
- AM_TS_SERIAL) ? (dvb->ts[2].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS2;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS2) : AM_TS_SRC_TS2;
break;
case DMX_SOURCE_FRONT3:
hw_src =
(dvb->ts[3].mode ==
- AM_TS_SERIAL) ? (dvb->ts[3].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS3;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS3) : AM_TS_SRC_TS3;
break;
case DMX_SOURCE_DVR0:
hw_src = AM_TS_SRC_HIU;
@@ -4938,22 +4938,22 @@ int aml_stb_hw_set_source(struct aml_dvb *dvb, dmx_source_t src)
case DMX_SOURCE_FRONT0:
hw_src =
(dvb->ts[0].mode ==
- AM_TS_SERIAL) ? (dvb->ts[0].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS0;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS0) : AM_TS_SRC_TS0;
break;
case DMX_SOURCE_FRONT1:
hw_src =
(dvb->ts[1].mode ==
- AM_TS_SERIAL) ? (dvb->ts[1].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS1;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS1) : AM_TS_SRC_TS1;
break;
case DMX_SOURCE_FRONT2:
hw_src =
(dvb->ts[2].mode ==
- AM_TS_SERIAL) ? (dvb->ts[2].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS2;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS2) : AM_TS_SRC_TS2;
break;
case DMX_SOURCE_FRONT3:
hw_src =
(dvb->ts[3].mode ==
- AM_TS_SERIAL) ? (dvb->ts[3].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS3;
+ AM_TS_SERIAL) ? (AM_TS_SRC_S_TS3) : AM_TS_SRC_TS3;
break;
case DMX_SOURCE_DVR0:
hw_src = AM_TS_SRC_HIU;
@@ -5120,19 +5120,19 @@ int aml_tso_hw_set_source(struct aml_dvb *dvb, dmx_source_t src)
switch (src) {
case DMX_SOURCE_FRONT0:
hw_src = (dvb->ts[0].mode == AM_TS_SERIAL)
- ? (dvb->ts[0].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS0;
+ ? (AM_TS_SRC_S_TS0) : AM_TS_SRC_TS0;
break;
case DMX_SOURCE_FRONT1:
hw_src = (dvb->ts[1].mode == AM_TS_SERIAL)
- ? (dvb->ts[1].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS1;
+ ? (AM_TS_SRC_S_TS1) : AM_TS_SRC_TS1;
break;
case DMX_SOURCE_FRONT2:
hw_src = (dvb->ts[2].mode == AM_TS_SERIAL)
- ? (dvb->ts[2].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS2;
+ ? (AM_TS_SRC_S_TS2) : AM_TS_SRC_TS2;
break;
case DMX_SOURCE_FRONT3:
hw_src = (dvb->ts[3].mode == AM_TS_SERIAL)
- ? (dvb->ts[3].s2p_id + AM_TS_SRC_S_TS0) : AM_TS_SRC_TS3;
+ ? (AM_TS_SRC_S_TS3) : AM_TS_SRC_TS3;
break;
case DMX_SOURCE_DVR0:
hw_src = AM_TS_SRC_HIU;
diff --git a/drivers/stream_input/parser/hw_demux/aml_dvb.h b/drivers/stream_input/parser/hw_demux/aml_dvb.h
index 50ad862..604be3a 100644
--- a/drivers/stream_input/parser/hw_demux/aml_dvb.h
+++ b/drivers/stream_input/parser/hw_demux/aml_dvb.h
@@ -92,6 +92,7 @@ enum aml_ts_source_t {
AM_TS_SRC_S_TS0,
AM_TS_SRC_S_TS1,
AM_TS_SRC_S_TS2,
+ AM_TS_SRC_S_TS3,
AM_TS_SRC_HIU,
AM_TS_SRC_HIU1,