Anyone tried this patch on with a PAL 150MCE? I have some noise on my
channels (some are worse than others) and I've heared others complain
about it as well.
Otherwise, I'll try the patch tonight and see.
N.
On Mon, 31 Jan 2005 20:04:28 -0500, John Eckhart <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> I have been playing around with the settings for the pvr-150 NTSC and
> have mangaged to get the audio working fairly consistently. Per the
> spec-sheet, I removed some of the settings in Ulf's patch that the
> cx25840 should be able to automatically configure, and I also removed
> some settings where the register was getting set to it's default value
> during a reset (ie, redundant register sets).
>
> On my PVR-150 the audio works, and the video seems cleaner. I have a
> retail NTSC model (tuner=50). Can I get some feedback to see if this
> helps everyone else out there too?
>
> lspci -vv:
> 0000:01:0c.0 Multimedia video controller: Internext Compression Inc
> iTVC16 (CX23416) MPEG-2 Encoder (rev 01)
> Subsystem: Hauppauge computer works Inc.: Unknown device 8003
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
> ParErr- Stepping- SERR+ FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
> >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 64 (32000ns min, 2000ns max), cache line size 08
> Interrupt: pin A routed to IRQ 10
> Region 0: Memory at e0000000 (32-bit, prefetchable)
> Capabilities: [44] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> modprobe tveeprom && dmesg | grep tveeprom:
> tveeprom: Hauppauge: model = 26052, rev = C185, serial# = 7578050
> tveeprom: tuner = TCL 2002N 6A (idx = 85, type = 50)
> tveeprom: tuner fmt = NTSC(M) (eeprom = 0x08, v4l2 = 0x00001000)
> tveeprom: audio_processor = MSP3410D (type = 5)
>
> ps. I don't have a PVR-500, but from what I can tell, this patch
> should work well for it as well.
>
> Let me know if it helps anyone. I'm also working on a patch that
> speeds up the firmware loading by an order of magnitude (ie. the
> driver starts in a second, instead of 10 seconds).
>
> Here is the patch:
>
> --- ivtv-0.3.2c.orig/driver/cx25840-driver.c 2005-01-06 14:05:01.000000000
> +0000
> +++ ivtv-0.3.2c/driver/cx25840-driver.c 2005-02-01 00:57:28.163515320 +0000
> @@ -547,8 +547,8 @@
> CX25840_SET_DLL1_CURRSET(0x0008),
> // '*' (Default 0x0000) Reg: 0x015b Start bit: 1 Bit length: 4
> CX25840_SET_DLL2_COMP_LT(0x0003), //
> '*' (Default 0x0009) Reg: 0x015e Start bit: 1 Bit length: 3
> CX25840_SET_DLL2_CURRSET(0x0003), //
> '*' (Default 0x0000) Reg: 0x015f Start bit: 1 Bit length: 4
> - CX25840_SET_ACFG_DIS(0x0001), //
> 'Disable' (Default 0x0000) Reg: 0x0400 Start bit: 5 Bit length: 1
> - CX25840_SET_AUTO_SC_LOCK(0x0000), //
> 'Manual mode. Lock speed is determined by' (Default 0x0001) Reg:
> 0x0401 Start bit: 4 Bit length: 1
> + CX25840_SET_ACFG_DIS(0x0000), //
> 'Disable' (Default 0x0000) Reg: 0x0400 Start bit: 5 Bit length: 1
> + CX25840_SET_AUTO_SC_LOCK(0x0001), //
> 'Manual mode. Lock speed is determined by' (Default 0x0001) Reg:
> 0x0401 Start bit: 4 Bit length: 1
> CX25840_SET_COMB_NOTCH_MODE(0x0001), //
> 'Notch data is interpreted as chroma' (Default 0x000a) Reg: 0x0402
> Start bit: 2 Bit length: 2
> CX25840_SET_OUT_MODE(0x0002), //
> '*' (Default 0x0001) Reg: 0x0404 Start bit: 0 Bit length: 2
> CX25840_SET_MODE10B(0x0001), //
> 'Luma and Chroma Output have 10 bits of resolution' (Default 0x0000)
> Reg: 0x0404 Start bit: 2 Bit length: 1
> @@ -571,7 +571,7 @@
> CX25840_SET_SC_STEP(0x0a8263), //
> '*' (Default 0x001f) Reg: 0x047c Start bit: 0 Bit length: 8
> CX25840_SET_VBI_OFFSET(0x0001), //
> '*' (Default 0x0000) Reg: 0x047f Start bit: 0 Bit length: 5
> CX25840_SET_COMB_PHASE_LIMIT(0x0014), //
> '*' (Default 0x0020) Reg: 0x049f Start bit: 0 Bit length: 8
> - CX25840_SET_AUD_MODE_AUD_SYSTEM(0x0006), //
> '*' (Default 0x0000) Reg: 0x0808 Start bit: 0 Bit length: 4
> + CX25840_SET_AUD_MODE_AUD_SYSTEM(0x000f), //
> '*' (Default 0x0000) Reg: 0x0808 Start bit: 0 Bit length: 4
> CX25840_SET_AUD_STANDARD(0x000f), //
> '*' (Default 0x0000) Reg: 0x0808 Start bit: 4 Bit length: 4
> CX25840_SET_PREF_MODE(0x0004), //
> '*' (Default 0x0000) Reg: 0x0809 Start bit: 0 Bit length: 4
> CX25840_SET_PATH1_AVC_RMS_CON(0x0007), //
> '*' (Default 0x0049) Reg: 0x08d0 Start bit: 4 Bit length: 4
> @@ -1041,114 +1041,46 @@
> setting_sequencer(client, seq);
> break;
> }
> - case 7: {
> + case 7:
> + case 6: {
> u8 seq[]={
> - CX25840_TAG('T','u','n','n','e','r',' ','5','0','0'),
> -
> + CX25840_TAG('T','u','n','e','r','
> ',state->input==6?'1':'5',state->input==6?'5':'0','0'),
> +
> CX25840_SET_START_MICROCNTL(0x0000), // FW stop.
> - CX25840_SET_SOFT_RESET(0x0001), // Soft reset assert.
> - CX25840_SET_VD_SOFT_RST(0x0001), // Video assert
> + CX25840_SET_VD_SOFT_RST(0x0001), // Assert video reset
> + CX25840_SET_SOFT_RESET(0x0001), // Assert soft reset
> CX25840_EXECUTE,
>
> CX25840_SET_CH_SEL_ADC2(0x0001),
> - CX25840_SET_DUAL_MODE_ADC2(0x0000),
> - CX25840_SET_CHIP_ACFG_DIS(0x0000),
> - CX25840_SET_CH_1__SOURCE(0x0006),
> - CX25840_SET_CH_2__SOURCE(0x0000),
> - CX25840_SET_CH_3__SOURCE(0x0000), // 1 for 150, 0 for 500
> - CX25840_SET_AUX_PLL_POST(0x0020),
> - CX25840_SET_VID_FMT_SEL(0x0000),
> - CX25840_SET_SQ_PIXEL(0x0000),
> - CX25840_SET_ACFG_DIS(0x0001),
> - CX25840_SET_AFD_PAL_SEL(0x0000),
> - CX25840_SET_AFD_NTSC_SEL(0x0000),
> - CX25840_SET_AUD_MODE_AUD_SYSTEM(0x000f),
> - CX25840_SET_AUD_STANDARD(0x000f),
> - CX25840_SET_PREF_MODE(0x0000),
> - CX25840_SET_MUTE_NO_PREF_MODE(0x0000),
> - CX25840_SET_DE_EMPHASIS_TIME(0x0000),
> - CX25840_SET_FM_DEVIATION(0x0000),
> - CX25840_SET_FORMAT_45MHZ(0x0000),
> - CX25840_SET_FORMAT_65MHZ(0x0002),
> - CX25840_SET_TUNER_OUTPUT_FORMAT(0x0000),
> - CX25840_SET_PATH1_SEL_CTL(0x0000),
> - CX25840_SET_PATH1_AVC_RMS_CON(0x0007),
> - CX25840_SET_PATH1_AVC_CR(0x0000),
> - CX25840_SET_PATH1_AVC_STEREO(0x0001),
> - CX25840_SET_PATH1_AVC_AT(0x0003),
> - CX25840_SET_PATH1_AVC_RT(0x0006),
> - CX25840_SET_PATH1_AVC_CG(0x0000),
> - CX25840_SET_SOFT1_MUTE_EN(0x0000),
> - CX25840_SET_SRC1_MUTE_EN(0x0000),
> - CX25840_SET_SA_MUTE_EN(0x0000),
> - CX25840_SET_PAR_MUTE_EN(0x0000),
> - CX25840_SET_AC97_MUTE_EN(0x0000),
> - CX25840_SET_SRC3_PHASE_INC(41246400/freq_out),
> + CX25840_SET_DUAL_MODE_ADC2(0x0000),
> + CX25840_SET_CH_1__SOURCE(0x0006),
> + CX25840_SET_CH_2__SOURCE(0x0002),
> + CX25840_SET_CH_3__SOURCE(state->input==6?0x0001:0x0000), //
> 1 for 150, 0 for 500
> +
> + CX25840_SET_AUX_PLL_POST(0x0018),
> + CX25840_SET_VID_FMT_SEL(0x0000), // Auto-select video format
> + CX25840_SET_AUD_STANDARD(0x000F), // Force auto-detect of
> audio
> + CX25840_SET_AUD_MODE_AUD_SYSTEM(0x000F), // Force auto-detect of
> audio
> + CX25840_SET_PREF_MODE(0x0004), // Preferred audio mode is
> stereo
> + CX25840_SET_MUTE_NO_PREF_MODE(0x0000), // Don't mute if
> preferred output unavailable
> + CX25840_SET_PATH1_SEL_CTL(0x0002), // Set the audio source
> + CX25840_SET_SRC3_PHASE_INC(41942880/freq_out),
> + CX25840_SET_SOFT1_MUTE_EN(0x0001),
> + CX25840_SET_SRC1_MUTE_EN(0x0000),
> + CX25840_SET_SA_MUTE_EN(0x0000),
> + CX25840_SET_PAR_MUTE_EN(0x0001),
> + CX25840_SET_AC97_MUTE_EN(0x0001),
> CX25840_EXECUTE,
>
> - CX25840_SET_START_MICROCNTL(0x0001), // FW Start
> - CX25840_SET_SOFT_RESET(0x0000), // Deassert soft reset
> - CX25840_SET_VD_SOFT_RST(0x0000), // Deassert video reset
> - CX25840_EXECUTE,
> - CX25840_END};
> + CX25840_SET_SOFT_RESET(0x0000), // Deassert soft reset
> + CX25840_SET_VD_SOFT_RST(0x0000), // Deassert video reset
> + CX25840_SET_START_MICROCNTL(0x0001), // FW Start
> + CX25840_EXECUTE,
> + CX25840_END};
>
> setting_sequencer(client, seq);
> break;
> }
> - case 6: {
> - u8 seq[]={
> - CX25840_TAG('T','u','n','n','e','r',' ','1','5','0'),
> -
> - CX25840_SET_START_MICROCNTL(0x0000), // FW stop.
> - CX25840_SET_SOFT_RESET(0x0001), // Soft reset assert.
> - CX25840_SET_VD_SOFT_RST(0x0001), // Video assert
> - CX25840_EXECUTE,
> -
> - CX25840_SET_CH_SEL_ADC2(0x0001),
> - CX25840_SET_DUAL_MODE_ADC2(0x0000),
> - CX25840_SET_CHIP_ACFG_DIS(0x0000),
> - CX25840_SET_CH_1__SOURCE(0x0006),
> - CX25840_SET_CH_2__SOURCE(0x0000),
> - CX25840_SET_CH_3__SOURCE(0x0001), // 1 for 150, 0 for 500
> - CX25840_SET_AUX_PLL_POST(0x0020),
> - CX25840_SET_VID_FMT_SEL(0x0000),
> - CX25840_SET_SQ_PIXEL(0x0000),
> - CX25840_SET_ACFG_DIS(0x0001),
> - CX25840_SET_AFD_PAL_SEL(0x0000),
> - CX25840_SET_AFD_NTSC_SEL(0x0000),
> - CX25840_SET_AUD_MODE_AUD_SYSTEM(0x000f),
> - CX25840_SET_AUD_STANDARD(0x000f),
> - CX25840_SET_PREF_MODE(0x0000),
> - CX25840_SET_MUTE_NO_PREF_MODE(0x0000),
> - CX25840_SET_DE_EMPHASIS_TIME(0x0000),
> - CX25840_SET_FM_DEVIATION(0x0000),
> - CX25840_SET_FORMAT_45MHZ(0x0000),
> - CX25840_SET_FORMAT_65MHZ(0x0002),
> - CX25840_SET_TUNER_OUTPUT_FORMAT(0x0000),
> - CX25840_SET_PATH1_SEL_CTL(0x0000),
> - CX25840_SET_PATH1_AVC_RMS_CON(0x0007),
> - CX25840_SET_PATH1_AVC_CR(0x0000),
> - CX25840_SET_PATH1_AVC_STEREO(0x0001),
> - CX25840_SET_PATH1_AVC_AT(0x0003),
> - CX25840_SET_PATH1_AVC_RT(0x0006),
> - CX25840_SET_PATH1_AVC_CG(0x0000),
> - CX25840_SET_SOFT1_MUTE_EN(0x0000),
> - CX25840_SET_SRC1_MUTE_EN(0x0000),
> - CX25840_SET_SA_MUTE_EN(0x0000),
> - CX25840_SET_PAR_MUTE_EN(0x0000),
> - CX25840_SET_AC97_MUTE_EN(0x0000),
> - CX25840_SET_SRC3_PHASE_INC(41246400/freq_out),
> - CX25840_EXECUTE,
> -
> - CX25840_SET_START_MICROCNTL(0x0001), // FW Start
> - CX25840_SET_SOFT_RESET(0x0000), // Deassert soft reset
> - CX25840_SET_VD_SOFT_RST(0x0000), // Deassert video reset
> - CX25840_EXECUTE,
> - CX25840_END};
> -
> - setting_sequencer(client, seq);
> - break;
> - }
> }
> }
> }
>
>
>
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
ivtv-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ivtv-devel