aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/ngene
diff options
context:
space:
mode:
authorOliver Endriss <o.endriss@gmx.de>2011-01-10 04:36:12 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 19:31:44 -0400
commitac9725d224544954a8d3413a2a66bdf49f735d8b (patch)
tree9abbae13650d6e1d023db445cbf6e19cef0273ef /drivers/media/dvb/ngene
parent09961aae7b3ea8640051e464b346ed3984521de8 (diff)
[media] ngene: Fixes for TS input over I2S
Fix TS input over I2S. Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/ngene')
-rw-r--r--drivers/media/dvb/ngene/ngene-core.c4
-rw-r--r--drivers/media/dvb/ngene/ngene-dvb.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/dvb/ngene/ngene-core.c b/drivers/media/dvb/ngene/ngene-core.c
index cd5b1f3e902d..8764647e55f3 100644
--- a/drivers/media/dvb/ngene/ngene-core.c
+++ b/drivers/media/dvb/ngene/ngene-core.c
@@ -143,7 +143,7 @@ static void demux_tasklet(unsigned long data)
143 } 143 }
144 } else { 144 } else {
145 if (chan->HWState == HWSTATE_RUN) { 145 if (chan->HWState == HWSTATE_RUN) {
146 u32 Flags = 0; 146 u32 Flags = chan->DataFormatFlags;
147 IBufferExchange *exch1 = chan->pBufferExchange; 147 IBufferExchange *exch1 = chan->pBufferExchange;
148 IBufferExchange *exch2 = chan->pBufferExchange2; 148 IBufferExchange *exch2 = chan->pBufferExchange2;
149 if (Cur->ngeneBuffer.SR.Flags & 0x01) 149 if (Cur->ngeneBuffer.SR.Flags & 0x01)
@@ -474,7 +474,7 @@ static u8 SPDIFConfiguration[10] = {
474 474
475/* Set NGENE I2S Config to transport stream compatible mode */ 475/* Set NGENE I2S Config to transport stream compatible mode */
476 476
477static u8 TS_I2SConfiguration[4] = { 0x3E, 0x1A, 0x00, 0x00 }; /*3e 18 00 00 ?*/ 477static u8 TS_I2SConfiguration[4] = { 0x3E, 0x18, 0x00, 0x00 };
478 478
479static u8 TS_I2SOutConfiguration[4] = { 0x80, 0x20, 0x00, 0x00 }; 479static u8 TS_I2SOutConfiguration[4] = { 0x80, 0x20, 0x00, 0x00 };
480 480
diff --git a/drivers/media/dvb/ngene/ngene-dvb.c b/drivers/media/dvb/ngene/ngene-dvb.c
index 3832e5983c19..8bb159370c70 100644
--- a/drivers/media/dvb/ngene/ngene-dvb.c
+++ b/drivers/media/dvb/ngene/ngene-dvb.c
@@ -65,8 +65,11 @@ void *tsin_exchange(void *priv, void *buf, u32 len, u32 clock, u32 flags)
65 struct ngene_channel *chan = priv; 65 struct ngene_channel *chan = priv;
66 66
67 67
68 if (chan->users > 0) 68 if (chan->users > 0) {
69 if (flags & DF_SWAP32)
70 swap_buffer(buf, len);
69 dvb_dmx_swfilter(&chan->demux, buf, len); 71 dvb_dmx_swfilter(&chan->demux, buf, len);
72 }
70 return NULL; 73 return NULL;
71} 74}
72 75