Skip to content

[BUG]TGL] No HDMI/DP Jack detection item in amixer contents after reboot without HDMI&DP connected #1847

Closed

Description

@Liviali155

Describe the bug
No HDMI/DP Jack detection item in amixer contents after reboot without HDMI&DP connected
Plugin HDMI&DP,then reboot can recovery

To Reproduce
1.Unplug power supply to power off
2.Plug in power supply to power on without HDMI/DP connected
3.amixer contents to check HDMI/DP jack detection

Reproduction Rate
Tried 5times,reproduced 5times

Expected behavior
"amixer contents" can check the status of HDMI/DP jack detection

Actual result
No HDMI/DP jack detection item in amixer contents,but "aplay -l" display normal

amixercontents_pass
numid=8,iface=CARD,name='HDMI/DP,pcm=3 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=14,iface=CARD,name='HDMI/DP,pcm=4 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=20,iface=CARD,name='HDMI/DP,pcm=5 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=7,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=6,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=2,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0
  : values=75,75
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=5,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=1,1
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=4,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=63,63
  | dBscale-min=-17.25dB,step=0.75dB,mute=0
numid=9,iface=MIXER,name='IEC958 Playback Con Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=15,iface=MIXER,name='IEC958 Playback Con Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=21,iface=MIXER,name='IEC958 Playback Con Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=10,iface=MIXER,name='IEC958 Playback Pro Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=16,iface=MIXER,name='IEC958 Playback Pro Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=22,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=11,iface=MIXER,name='IEC958 Playback Default'
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=17,iface=MIXER,name='IEC958 Playback Default',index=1
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=23,iface=MIXER,name='IEC958 Playback Default',index=2
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=12,iface=MIXER,name='IEC958 Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=18,iface=MIXER,name='IEC958 Playback Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=24,iface=MIXER,name='IEC958 Playback Switch',index=2
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=39,iface=MIXER,name='Dmic0 Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=38,iface=MIXER,name='Dmic0 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=70,70
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=41,iface=MIXER,name='Dmic1 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=70,70
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=40,iface=MIXER,name='EQIIR10.0 EQIIR_C48'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=42,iface=MIXER,name='EQIIR11.0 EQIIR_C16'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=31,iface=MIXER,name='EQIIR2.0 eqiir_bytes_2'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=34,iface=MIXER,name='EQIIR4.0 eqiir_bytes_4'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=29,iface=MIXER,name='PGA1.0 1 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=30,iface=MIXER,name='PGA2.0 2 Master Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=32,iface=MIXER,name='PGA3.0 3 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=31,31
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=33,iface=MIXER,name='PGA4.0 4 Master Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=35,iface=MIXER,name='PGA7.0 7 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=31,31
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=36,iface=MIXER,name='PGA8.0 8 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=37,iface=MIXER,name='PGA9.0 9 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=13,iface=PCM,name='ELD',device=3
  ; type=BYTES,access=r--v----,values=28
  : values=0x10,0x00,0x06,0x00,0x65,0x14,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x69,0xb1,0x24,0x50,0x41,0x32,0x34,0x38,0x09,0x07,0x07
numid=26,iface=PCM,name='Playback Channel Map',device=3
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR

numid=19,iface=PCM,name='ELD',device=4
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=27,iface=PCM,name='Playback Channel Map',device=4
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR

numid=25,iface=PCM,name='ELD',device=5
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=28,iface=PCM,name='Playback Channel Map',device=5
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
amixercontents_fail
numid=7,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=6,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=2,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=1,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0
  : values=74,74
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=5,iface=MIXER,name='Mic Boost Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=1,1
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=4,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=3,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=63,63
  | dBscale-min=-17.25dB,step=0.75dB,mute=0
numid=18,iface=MIXER,name='Dmic0 Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=17,iface=MIXER,name='Dmic0 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=70,70
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=20,iface=MIXER,name='Dmic1 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=70,70
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=19,iface=MIXER,name='EQIIR10.0 EQIIR_C48'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=21,iface=MIXER,name='EQIIR11.0 EQIIR_C16'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=10,iface=MIXER,name='EQIIR2.0 eqiir_bytes_2'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=13,iface=MIXER,name='EQIIR4.0 eqiir_bytes_4'
  ; type=BYTES,access=-----RW-,values=304
  ; ASoC TLV Byte control, skipping bytes dump
numid=8,iface=MIXER,name='PGA1.0 1 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=9,iface=MIXER,name='PGA2.0 2 Master Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=80,80
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=11,iface=MIXER,name='PGA3.0 3 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=31,31
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=12,iface=MIXER,name='PGA4.0 4 Master Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=14,iface=MIXER,name='PGA7.0 7 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=31,31
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=15,iface=MIXER,name='PGA8.0 8 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=16,iface=MIXER,name='PGA9.0 9 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1  

At this time if aplay via HDMI/DP, A error of "Unable to install hw params" occured,
Capture

Platform: TGL-U RVP with onboard codec ALC711 in HDA mode
Firmware:c3db256a https://github.com/thesofproject/sof/commits/master
Kernel: 30887e1 https://github.com/thesofproject/linux/commits/topic/sof-dev
Topology: file: tools/topology/ sof-hda-generic-4ch.tplg same as firmware

dmesg.0228.log
sof_trace0228.log

Activity

  1. added
    bugSomething isn't working
    TGLApplies to Tiger Lake platform
    on Mar 2, 2020
  2. changed the title [-][BUG]TGL] No HDMI/DP Jack detection item in amixer contents After unplug HDMI&DP in shutdown mode[/-] [+][BUG]TGL] No HDMI/DP Jack detection item in amixer contents After Unplug/plugin power supply to power on without HDMI&DP connected[/+] on Mar 2, 2020
  3. changed the title [-][BUG]TGL] No HDMI/DP Jack detection item in amixer contents After Unplug/plugin power supply to power on without HDMI&DP connected[/-] [+][BUG]TGL] No HDMI/DP Jack detection item in amixer contents after reboot without HDMI&DP connected[/+] on Mar 2, 2020
  4. added
    P1Blocker bugs or important features
    on Mar 3, 2020
  5. Liviali155 commented on Mar 3, 2020

    @Liviali155
    Author

    drmlog as attachment
    drm.log

  6. kv2019i commented on Mar 3, 2020

    @kv2019i
    Collaborator

    @Liviali155 @mengdonglin This is a probably a new case of HDMI codec probe failing. With recent patches to support systems without i915, HDMI probe errors will not block SOF probe completely, but HDMI functionality will be disabled.

    The dmesg logs you provide do not cover the probe part, so I cannot confirm the finding, but you should see something like:

    kernel: [ 14.365535] sof-audio-pci 0000:00:1f.3: codec #2 probe error, ret: -5

  7. kv2019i commented on Mar 3, 2020

    @kv2019i
    Collaborator

    @Liviali155 I could reproduce this at least once on my system. Key things to hit:

    • does not happen if I enable drm logs
    • does not happen if I have a monitor connected
    • does not happen if I disable PM from i915 (kernel cmdline: i915.disable_power_well=0)

    This would seem like a regression as I can not reproduce this at all with sof-dev commit af7aae1
    I'll try bisecting the problem.

  8. Liviali155 commented on Mar 3, 2020

    @Liviali155
    Author

    @Liviali155 I could reproduce this at least once on my system. Key things to hit:

    • does not happen if I enable drm logs
    • does not happen if I have a monitor connected
    • does not happen if I disable PM from i915 (kernel cmdline: i915.disable_power_well=0)

    This would seem like a regression as I can not reproduce this at all with sof-dev commit af7aae1
    I'll try bisecting the problem.

    Yes ,on my side,if enable drm logs,I tried 10times,but only reproduced once
    if disable drm logs.can reproduce every time

  9. kv2019i commented on Mar 3, 2020

    @kv2019i
    Collaborator

    Ok, I managed to bisect the issue. It unfortunately seems to be this commit I made to i915:
    f4b1889 drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only

    The trouble is that without this patch, we get flicker during boot:
    https://gitlab.freedesktop.org/drm/intel/issues/913

    So now we have two showstopper issues, either we get the flicker, or we get HDMI probe errors on some platforms. The problem was discussed while fixing #1763, but no better solution was found. That discussion needs to be reopened now. I'll start investigating the options again.

  10. kv2019i commented on Mar 13, 2020

    @kv2019i
    Collaborator
  11. kv2019i commented on Mar 17, 2020

    @kv2019i
    Collaborator

    We have a couple of candidate fixes, but so far the solutions have come with notable downsides, so we have continued exploring options. Here's one fix that seems to help without require increase of clocks.

    @Liviali155 Could you give tihs a try. In my local tests, this systematically helps to the probe errors:
    #1901

  12. Liviali155 commented on Mar 18, 2020

    @Liviali155
    Author

    We have a couple of candidate fixes, but so far the solutions have come with notable downsides, so we have continued exploring options. Here's one fix that seems to help without require increase of clocks.

    @Liviali155 Could you give tihs a try. In my local tests, this systematically helps to the probe errors:
    #1901

    Tried with PR#1901,error not seen

  13. 36 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1Blocker bugs or important featuresTGLApplies to Tiger Lake platformbugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions