1. 05 5月, 2022 3 次提交
  2. 12 4月, 2022 6 次提交
  3. 04 4月, 2022 1 次提交
  4. 29 3月, 2022 1 次提交
  5. 10 3月, 2022 2 次提交
  6. 03 3月, 2022 1 次提交
  7. 18 2月, 2022 1 次提交
  8. 02 2月, 2022 1 次提交
    • M
      drm/i915: Only include i915_reg.h from .c files · ce2fce25
      Matt Roper 提交于
      Several of our i915 header files, have been including i915_reg.h.  This
      means that any change to i915_reg.h will trigger a full rebuild of
      pretty much every file of the driver, even those that don't have any
      kind of register access.  Let's delete the i915_reg.h include from all
      headers and add an explicit include from the .c files that truly
      need the register definitions; those that need a definition of
      i915_reg_t for a function definition can get it from i915_reg_defs.h
      instead.
      
      We also remove two non-register #define's (VLV_DISPLAY_BASE and
      GEN12_SFC_DONE_MAX) into i915_reg_defs.h to allow us to drop the
      i915_reg.h include from a couple of headers.
      
      There's probably a lot more header dependency optimization possible, but
      the changes here roughly cut the number of files compiled after 'touch
      i915_reg.h' in half --- a good first step.
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220127234334.4016964-7-matthew.d.roper@intel.com
      ce2fce25
  9. 20 1月, 2022 5 次提交
    • V
      drm/i915/bios: Nuke DEVICE_TYPE_DP_DUAL_MODE_BITS · 044cbc7a
      Ville Syrjälä 提交于
      Replace the DEVICE_TYPE_DP_DUAL_MODE_BITS stuff with just
      a DP+HDMI check. The rest of the bits shouldn't really
      matter anyway.
      
      The slight change in behaviour here is that now we do look at
      the DEVICE_TYPE_NOT_HDMI_OUTPUT bit (via
      intel_bios_encoder_supports_hdmi()) when we previously ignored it.
      The one platform we know that has problems with that bit is VLV.
      But IIRC the problem was always that buggy VBTs basically never
      set that bit. So that should be OK since all it would do is make
      all DVI ports look like HDMI ports instead. Also can't imagine
      there are many VLV machines with actual DVI ports in existence.
      
      We still keep the rest of the dvo_port/aux_ch checks as we
      can't trust that DP+HDMI device type equals DP++ due to
      buggy VBTs.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-6-ville.syrjala@linux.intel.comReviewed-by: NJani Nikula <jani.nikula@intel.com>
      044cbc7a
    • V
      drm/i915/bios: Throw out the !has_ddi_port_info() codepaths · a868a1e5
      Ville Syrjälä 提交于
      Now that we parse the DDI port info from the VBT on all g4x+ platforms
      we can throw out all the old codepaths in intel_bios_is_port_present(),
      intel_bios_is_port_edp() and intel_bios_is_port_dp_dual_mode(). None
      of these should be called on pre-g4x platforms.
      
      For good measure throw in a WARN into intel_bios_is_port_present()
      should someone get the urge to call it on older platforms. The
      other two functions are specific to HDMI and DP so should not need
      any protection as those encoder types don't even exist on older
      platforms.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-5-ville.syrjala@linux.intel.comReviewed-by: NJani Nikula <jani.nikula@intel.com>
      a868a1e5
    • V
      drm/i915/bios: Use i915->vbt.ports[] for all g4x+ · 594c504d
      Ville Syrjälä 提交于
      Extend the vbt.ports[] stuff for all g4x+ platforms. We do need
      to drop the version check as some elk/ctg machines may have VBTs
      older than that. The oldest I know is an elk with version 142.
      But the child device stuff has had the correct size since at
      least version 125 (observed on my sdg), so from that angle this
      should be totally safe.
      
      This does couple of things:
      - Start using the aux_ch/ddc_pin from VBT instead of just the
        hardcoded defaults. Hopefully there are no VBTs with entirely
        bogus information here.
      - Start using i915->vbt.ports[] for intel_bios_is_port_dp_dual_mode().
        Should be fine as the logic doesn't actually change.
      - Start using i915->vbt.ports[] for intel_bios_is_port_edp().
        The old codepath only looks at the DP DVO ports, the new codepath
        looks at both DP and HDMI DVO ports. In principle that should not
        matter. We also stop looking at some of the other device type bits
        (eg. LVDS,MIPI,ANALOG,etc.). Hopefully no VBT is broken enough that
        it sets up totally conflicting device type bits (eg. LVDS+eDP at the
        same time). We also lose the "g4x->no eDP ever" hardcoding (shouldn't
        be hard to re-introduce that into eg. sanitize_device_type() if needed).
      
      Lightly smoke tested on a set of machines (one of ctg,ilk,snb,ivb each)
      with both DP and HDMI (DP++). Everything still worked as it should.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-4-ville.syrjala@linux.intel.comReviewed-by: NJani Nikula <jani.nikula@intel.com>
      594c504d
    • V
      drm/i915/bios: Use i915->vbt.ports[] on CHV · eb9fcf63
      Ville Syrjälä 提交于
      CHV is currently straddling the divide by using parse_ddi_ports() stuff
      for aux_ch/ddc_pin but going through all old codepaths for the rest
      (intel_bios_is_port_present(), intel_bios_is_port_edp(),
      intel_bios_is_port_dp_dual_mode()). Let's switch over full and use
      i915->vbt.ports[] for the rest of the stuff.
      
      dvo_port_to_port() doesn't know about DSI so we won't get into
      any kind of "is port B HDMI or DSI or both?" conundrum, which
      could otherwise happen on VLV/CHV due to DSI ports living in a
      separate world from the other digital ports.
      
      Including Jani's detailed analysis here for posterity:
      "We stop checking for port A for CHV in intel_bios_is_port_present(), but
       it's a warn and I don't recall any bug reports, so probably fine. We
       could add a check in parse_ddi_port(), but meh.
      
       Ditto for intel_bios_is_port_dp_dual_mode(), except it doesn't have a
       warn.
      
       The eDP check in intel_bios_is_port_edp() becomes slightly more
       relaxed. Both the old and new check require these to be set:
      
       - DEVICE_TYPE_DISPLAYPORT_OUTPUT
       - DEVICE_TYPE_INTERNAL_CONNECTOR.
      
       The old code also required these to be unset:
      
       - DEVICE_TYPE_MIPI_OUTPUT
       - DEVICE_TYPE_COMPOSITE_OUTPUT
       - DEVICE_TYPE_DUAL_CHANNEL
       - DEVICE_TYPE_LVDS_SIGNALING
       - DEVICE_TYPE_TMDS_DVI_SIGNALING
       - DEVICE_TYPE_VIDEO_SIGNALING
       - DEVICE_TYPE_ANALOG_OUTPUT
      
       It's possible we've added these just as a sanity check for broken VBTs
       more than anything. I guess I'd see if actual problems arise.
      
       Bottom line, I think the functional changes matter only for VBTs with
       bogus data."
      
      I agree that it should work assuming the VBT isn't totally insane.
      Modern windows drivers also don't seem to check any of those
      additional device type bits, which may or may not matter for older
      devices (no idea what some old driver versions are checking).
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-3-ville.syrjala@linux.intel.comReviewed-by: NJani Nikula <jani.nikula@intel.com>
      eb9fcf63
    • V
      drm/i915/bios: Introduce has_ddi_port_info() · b90b6e41
      Ville Syrjälä 提交于
      Pull the "do we want to use i915->vbt.ports[]?" check into
      a central place.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-2-ville.syrjala@linux.intel.comReviewed-by: NJani Nikula <jani.nikula@intel.com>
      b90b6e41
  10. 17 1月, 2022 2 次提交
  11. 23 12月, 2021 1 次提交
  12. 17 12月, 2021 1 次提交
  13. 04 12月, 2021 1 次提交
  14. 02 11月, 2021 1 次提交
  15. 29 10月, 2021 1 次提交
  16. 27 10月, 2021 1 次提交
  17. 21 10月, 2021 1 次提交
  18. 14 10月, 2021 1 次提交
  19. 05 10月, 2021 1 次提交
  20. 01 10月, 2021 1 次提交
  21. 08 9月, 2021 1 次提交
  22. 07 9月, 2021 6 次提交