On Sat, 12 Feb 2005 14:38:58 -0600, Jeff Williams <[EMAIL PROTECTED]> wrote:
> On Sat, 2005-02-12 at 15:19 -0500, Tyler Trafford wrote:
> > On Fri, 11 Feb 2005 20:07:44 -0500, Tyler Trafford <[EMAIL PROTECTED]>
> > wrote:
> > > On Thu, 10 Feb 2005 21:53:13 -0600, Jeff Williams <[EMAIL PROTECTED]>
> > > wrote:
> > > > Attached is the pg600 update for the audio. You will need to apply my
> > > > earlier pg600 patch (which includes the no_black_magic param) and the
> > > > pvr150_ntsc_audio.patch provided earlier (if this has a reject, don't
> > > > worry my patch cleans it up) onto 0.3.2d.
> > >
> > > Finally got the chance to test the playback.
> > >
> > > I get no sound until I change CX25840_SET_PATH1_SEL_CTL to 2 instead of 0.
> > >
> > > This is on a NTSC PVR150.
> >
> > So, would this make it work for everyone?
> >
> > CX25840_SET_PATH1_SEL_CTL(state->norm!=VIDEO_MODE_NTSC||cardtype==2?0x0000:0x0002)
> >
>
> Don't know. It would work for me.
I'd be especially interested if anyone with a PAL PVR150 could test
this series of patches, with this additional attached one. (contains
the threads mentioned fixes).
--
Tyler Trafford
diff -Nur ivtv-0.3.2d-pg600/driver/cx25840-driver.c ivtv-0.3.2d-mod/driver/cx25840-driver.c
--- ivtv-0.3.2d-pg600/driver/cx25840-driver.c 2005-02-13 00:03:46.000000000 -0500
+++ ivtv-0.3.2d-mod/driver/cx25840-driver.c 2005-02-12 21:57:28.000000000 -0500
@@ -458,7 +458,7 @@
set_fs(get_ds());
md5 = crypto_alloc_tfm("md5", 0); if (md5 == NULL) INFO("Failed to md5 digester, skipping it.");
- sha1 = crypto_alloc_tfm("sha1", 0); if (md5 == NULL) INFO("Failed to load sha1 digester, skipping it.");
+ sha1 = crypto_alloc_tfm("sha1", 0); if (sha1 == NULL) INFO("Failed to load sha1 digester, skipping it.");
for(file_index=0;file_index<(fw_file_name?1:ARRAY_SIZE(audio_fw_files));file_index++) {
char *file_name=fw_file_name?fw_file_name:audio_fw_files[file_index];
@@ -1107,7 +1107,7 @@
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(0x0000), // Set the audio source
+ CX25840_SET_PATH1_SEL_CTL(state->norm!=VIDEO_MODE_NTSC||cardtype==2?0x0000: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),
@@ -1125,11 +1125,11 @@
setting_sequencer(client, seq);
break;
}
- }
case -1:{
DEBUG(1,"%d is not a valid input!",state->input);
break;
}
+ }
}
}
diff -Nur ivtv-0.3.2d-pg600/driver/ivtv-driver.c ivtv-0.3.2d-mod/driver/ivtv-driver.c
--- ivtv-0.3.2d-pg600/driver/ivtv-driver.c 2005-02-13 00:03:17.000000000 -0500
+++ ivtv-0.3.2d-mod/driver/ivtv-driver.c 2005-02-12 21:57:28.000000000 -0500
@@ -453,12 +453,12 @@
itv->DMA_slock = SPIN_LOCK_UNLOCKED;
#ifdef LINUX26
- itv->vbi_work_queues = create_workqueue("ivtv_vbi", PF_NOFREEZE);
+ itv->vbi_work_queues = create_workqueue("ivtv_vbi");
if (itv->vbi_work_queues == NULL) {
IVTV_KERN_ERR("Could not create VBI workqueue\n");
return -1;
}
- itv->fw_work_queues = create_workqueue("ivtv_fw", PF_NOFREEZE);
+ itv->fw_work_queues = create_workqueue("ivtv_fw");
if (itv->fw_work_queues == NULL) {
IVTV_KERN_ERR("Could not create FW workqueue\n");
return -1;