Re: Fwd: [Bug 217440] New: ALC236 audio disappears from HP 15z-fc000 on warm boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 09 Jun 2023 10:12:16 +0200,
Takashi Iwai wrote:
> 
> On Fri, 09 Jun 2023 09:34:37 +0200,
> Joseph C. Sible wrote:
> > 
> > On Fri, Jun 9, 2023 at 3:04 AM Kailang <kailang@xxxxxxxxxxx> wrote:
> > >
> > > echo 0 > /sys/module/snd_hda_intel/parameters/power_save
> > >
> > > Could you give it a try? Then got dump also.
> > >
> > > If it passed, please test my two patches also. Then get dump again.
> > 
> > I ran that command under the kernel with my patch and then got an
> > alsa-info dump again, and it still said "Invalid AFG subtree". The
> > full result is attached as alsa-info-1.txt.
> > 
> > I then added snd_hda_intel.power_save=0 to the kernel command line and
> > tried under the kernel with your patches again. No change here either:
> > still "Invalid AFG subtree", and upon a warm boot, it still breaks.
> > Attached from this test are alsa-info-2.txt (cold boot) and
> > alsa-info-3.txt (warm boot).
> 
> Thanks.  It's puzzling.
> 
> The power setting of AFG looks already unusual:
> 
> State of AFG node 0x01:
>   Power states:  D0 D2 (null) (null) (null) (null) (null) (null) (null)
>   Power: setting=UNKNOWN, actual=D0, Clock-stop-OK, Setting-reset
> 
> So apparently the codec isn't ready yet for accessing.
> 
> But, the fact that the codec got parsed (hence you see the parsed
> results in dmesg) means that this subtree call could succeed at the
> beginning.
> 
> When you load snd-hda-intel module with "model=,generic" option (the
> command is intentional), does the codec content show up?

Also, assuming it being some timing issue, adding the delay forcibly
like below has any influence on the AFG error?


Takashi

--- a/sound/pci/hda/hda_proc.c
+++ b/sound/pci/hda/hda_proc.c
@@ -792,6 +792,7 @@ static void print_codec_info(struct snd_info_entry *entry,
 	snd_iprintf(buffer, "State of AFG node 0x%02x:\n", fg);
 	print_power_state(buffer, codec, fg);
 
+	msleep(100); // XXX
 	nodes = snd_hda_get_sub_nodes(codec, fg, &nid);
 	if (! nid || nodes < 0) {
 		snd_iprintf(buffer, "Invalid AFG subtree\n");



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux