1. 21 Mar, 2023 3 commits
  2. 20 Mar, 2023 4 commits
  3. 18 Mar, 2023 4 commits
  4. 17 Mar, 2023 9 commits
  5. 16 Mar, 2023 3 commits
  6. 15 Mar, 2023 2 commits
  7. 14 Mar, 2023 2 commits
  8. 10 Mar, 2023 7 commits
  9. 09 Mar, 2023 4 commits
  10. 07 Mar, 2023 2 commits
    • Ville Syrjälä's avatar
      drm/i915: Get rid of the gm45 HPD live state nonsense · 4b736ed4
      Ville Syrjälä authored
      The idea that ctg uses different HPD live state bits is
      total nonsense, at least on my machine (Dell Latitude
      E5400).
      
      The only reason DP-B even works on my ctg is that DP-D
      live state is stuck high, even though there is no physical
      DP-D port. So when the detect checks DP-B live state it
      sees the stuck live state of DP-D instead. If I hack
      the driver to not register DP-D at all, and thus we never
      enabe DP-D HPD, DP-B stops working as well.
      
      Just to put some conclusive evidence into this mess,
      here are the actual hotplug register values for each port:
       Everything disconnected:
                          PORT_HOTPLUG_EN (0x00061110): 0x00000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x00000000
                          PORT_HOTPLUG_EN (0x00061110): 0x08000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x08000000
                          PORT_HOTPLUG_EN (0x00061110): 0x10000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x00000000
                          PORT_HOTPLUG_EN (0x00061110): 0x20000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x00000000
       Only port B connected:
                          PORT_HOTPLUG_EN (0x00061110): 0x00000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x00000000
                          PORT_HOTPLUG_EN (0x00061110): 0x08000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x08000000
                          PORT_HOTPLUG_EN (0x00061110): 0x10000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x00000000
                          PORT_HOTPLUG_EN (0x00061110): 0x20000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x20000000
       Only port C connected:
                          PORT_HOTPLUG_EN (0x00061110): 0x00000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x00000000
                          PORT_HOTPLUG_EN (0x00061110): 0x08000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x08000000
                          PORT_HOTPLUG_EN (0x00061110): 0x10000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x10000000
                          PORT_HOTPLUG_EN (0x00061110): 0x20000000
                        PORT_HOTPLUG_STAT (0x00061114): 0x00000000
      
      So the enable bit and live state bit always match 1:1.
      Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230302161013.29213-4-ville.syrjala@linux.intel.com
      4b736ed4
    • Ville Syrjälä's avatar
      drm/i915: Fix SKL DDI A digital port .connected() · dded35ac
      Ville Syrjälä authored
      SKL doesn't have any north DE hotplug stuff. Currently we're
      trying to read DDI A live state from the BDW north DE bit,
      instead of the approproate south DE bit. Fix it.
      
      And for good measure clear the pointer to the north hpd
      pin array, so that we'll actually notice if some other
      place is also using the wrong thing.
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230302161013.29213-3-ville.syrjala@linux.intel.com
      dded35ac