1. 23 6月, 2020 1 次提交
    • J
      drm/i915/params: switch to device specific parameters · 8a25c4be
      Jani Nikula 提交于
      Start using device specific parameters instead of module parameters for
      most things. The module parameters become the immutable initial values
      for i915 parameters. The device specific parameters in i915->params
      start life as a copy of i915_modparams. Any later changes are only
      reflected in the debugfs.
      
      The stragglers are:
      
      * i915.force_probe and i915.modeset. Needed before dev_priv is
        available. This is fine because the parameters are read-only and never
        modified.
      
      * i915.verbose_state_checks. Passing dev_priv to I915_STATE_WARN and
        I915_STATE_WARN_ON would result in massive and ugly churn. This is
        handled by not exposing the parameter via debugfs, and leaving the
        parameter writable in sysfs. This may be fixed up in follow-up work.
      
      * i915.inject_probe_failure. Only makes sense in terms of the module,
        not the device. This is handled by not exposing the parameter via
        debugfs.
      
      v2: Fix uc i915 lookup code (Michał Winiarski)
      
      Cc: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
      Cc: Venkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Acked-by: NMichał Winiarski <michal.winiarski@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20200618150402.14022-1-jani.nikula@intel.com
      8a25c4be
  2. 06 6月, 2020 1 次提交
  3. 05 6月, 2020 1 次提交
    • L
      drm/i915/rkl: provide port/phy mapping for vbt · 4628142a
      Lucas De Marchi 提交于
      RKL uses the DDI A, DDI B, DDI USBC1, DDI USBC2 from the DE point of
      view, so all DDI/pipe/transcoder register use these indexes to refer to
      them. Combo phy and IO functions follow another namespace that we keep
      as "enum phy". The VBT in theory would use the DE point of view, but
      that does not happen in practice.
      
      Provide a table to convert the child devices to the "correct" port
      numbering we use. Now this is the output we get while reading the VBT:
      
      DDIA:
      [drm:intel_bios_port_aux_ch [i915]] using AUX A for port A (VBT)
      [drm:intel_dp_init_connector [i915]] Adding DP connector on [ENCODER:275:DDI A]
      [drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on [ENCODER:275:DDI A]
      [drm:intel_hdmi_init_connector [i915]] Using DDC pin 0x1 for port A (VBT)
      
      DDIB:
      [drm:intel_bios_port_aux_ch [i915]] using AUX B for port B (platform default)
      [drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on [ENCODER:291:DDI B]
      [drm:intel_hdmi_init_connector [i915]] Using DDC pin 0x2 for port B (VBT)
      
      DDI USBC1:
      [drm:intel_bios_port_aux_ch [i915]] using AUX D for port D (VBT)
      [drm:intel_dp_init_connector [i915]] Adding DP connector on [ENCODER:295:DDI D]
      [drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on [ENCODER:295:DDI D]
      [drm:intel_hdmi_init_connector [i915]] Using DDC pin 0x3 for port D (VBT)
      
      DDI USBC2:
      [drm:intel_bios_port_aux_ch [i915]] using AUX E for port E (VBT)
      [drm:intel_dp_init_connector [i915]] Adding DP connector on [ENCODER:306:DDI E]
      [drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on [ENCODER:306:DDI E]
      [drm:intel_hdmi_init_connector [i915]] Using DDC pin 0x9 for port E (VBT)
      
      Cc: Clinton Taylor <Clinton.A.Taylor@intel.com>
      Cc: Aditya Swarup <aditya.swarup@intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200603211529.3005059-7-matthew.d.roper@intel.com
      4628142a
  4. 27 2月, 2020 1 次提交
  5. 10 2月, 2020 1 次提交
  6. 04 2月, 2020 1 次提交
    • P
      drm/i915/display: Make WARN* drm specific where drm_device ptr is available · f4224a4c
      Pankaj Bharadiya 提交于
      drm specific WARN* calls include device information in the
      backtrace, so we know what device the warnings originate from.
      
      Covert all the calls of WARN* with device specific drm_WARN*
      variants in functions where drm_device or drm_i915_private struct
      pointer is readily available.
      
      The conversion was done automatically with below coccinelle semantic
      patch. checkpatch errors/warnings are fixed manually.
      
      @rule1@
      identifier func, T;
      @@
      func(...) {
      ...
      struct drm_device *T = ...;
      <...
      (
      -WARN(
      +drm_WARN(T,
      ...)
      |
      -WARN_ON(
      +drm_WARN_ON(T,
      ...)
      |
      -WARN_ONCE(
      +drm_WARN_ONCE(T,
      ...)
      |
      -WARN_ON_ONCE(
      +drm_WARN_ON_ONCE(T,
      ...)
      )
      ...>
      }
      
      @rule2@
      identifier func, T;
      @@
      func(struct drm_device *T,...) {
      <...
      (
      -WARN(
      +drm_WARN(T,
      ...)
      |
      -WARN_ON(
      +drm_WARN_ON(T,
      ...)
      |
      -WARN_ONCE(
      +drm_WARN_ONCE(T,
      ...)
      |
      -WARN_ON_ONCE(
      +drm_WARN_ON_ONCE(T,
      ...)
      )
      ...>
      }
      
      @rule3@
      identifier func, T;
      @@
      func(...) {
      ...
      struct drm_i915_private *T = ...;
      <+...
      (
      -WARN(
      +drm_WARN(&T->drm,
      ...)
      |
      -WARN_ON(
      +drm_WARN_ON(&T->drm,
      ...)
      |
      -WARN_ONCE(
      +drm_WARN_ONCE(&T->drm,
      ...)
      |
      -WARN_ON_ONCE(
      +drm_WARN_ON_ONCE(&T->drm,
      ...)
      )
      ...+>
      }
      
      @rule4@
      identifier func, T;
      @@
      func(struct drm_i915_private *T,...) {
      <+...
      (
      -WARN(
      +drm_WARN(&T->drm,
      ...)
      |
      -WARN_ON(
      +drm_WARN_ON(&T->drm,
      ...)
      |
      -WARN_ONCE(
      +drm_WARN_ONCE(&T->drm,
      ...)
      |
      -WARN_ON_ONCE(
      +drm_WARN_ON_ONCE(&T->drm,
      ...)
      )
      ...+>
      }
      Signed-off-by: NPankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200128181603.27767-20-pankaj.laxminarayan.bharadiya@intel.com
      f4224a4c
  7. 27 1月, 2020 1 次提交
  8. 23 1月, 2020 1 次提交
    • W
      drm/i915/bios: convert to struct drm_device logging macros. · e92cbf38
      Wambui Karuga 提交于
      This replaces the printk based logging macros with the struct drm_device
      based logging macros.
      This conversion was achieved using the following coccinelle script that
      transforms based on the existence of a struct drm_i915_private device:
      @rule1@
      identifier fn, T;
      @@
      
      fn(struct drm_i915_private *T,...) {
      <+...
      (
      -DRM_INFO(
      +drm_info(&T->drm,
      ...)
      |
      -DRM_ERROR(
      +drm_err(&T->drm,
      ...)
      |
      -DRM_WARN(
      +drm_warn(&T->drm,
      ...)
      |
      -DRM_DEBUG(
      +drm_dbg(&T->drm,
      ...)
      |
      -DRM_DEBUG_DRIVER(
      +drm_dbg(&T->drm,
      ...)
      |
      -DRM_DEBUG_KMS(
      +drm_dbg_kms(&T->drm,
      ...)
      )
      ...+>
      }
      
      @rule2@
      identifier fn, T;
      @@
      
      fn(...) {
      ...
      struct drm_i915_private *T = ...;
      <+...
      (
      -DRM_INFO(
      +drm_info(&T->drm,
      ...)
      |
      -DRM_ERROR(
      +drm_err(&T->drm,
      ...)
      |
      -DRM_WARN(
      +drm_warn(&T->drm,
      ...)
      |
      -DRM_DEBUG(
      +drm_dbg(&T->drm,
      ...)
      |
      -DRM_DEBUG_KMS(
      +drm_dbg_kms(&T->drm,
      ...)
      |
      -DRM_DEBUG_DRIVER(
      +drm_dbg(&T->drm,
      ...)
      )
      ...+>
      }
      
      Formatting warnings by checkpatch are addressed manually.
      Signed-off-by: NWambui Karuga <wambui.karugax@gmail.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200121134559.17355-3-wambui.karugax@gmail.com
      e92cbf38
  9. 21 1月, 2020 8 次提交
  10. 15 1月, 2020 1 次提交
  11. 14 12月, 2019 1 次提交
  12. 13 12月, 2019 1 次提交
  13. 11 12月, 2019 3 次提交
  14. 03 12月, 2019 4 次提交
  15. 19 11月, 2019 2 次提交
  16. 14 11月, 2019 3 次提交
  17. 12 11月, 2019 2 次提交
  18. 04 11月, 2019 1 次提交
  19. 17 10月, 2019 2 次提交
  20. 14 10月, 2019 1 次提交
  21. 08 10月, 2019 1 次提交
  22. 16 9月, 2019 1 次提交
  23. 19 8月, 2019 1 次提交
    • M
      drm/i915/gen11: Allow usage of all GPIO pins · 5a6b7ef6
      Matt Roper 提交于
      Our pin mapping tables for ICP and MCC currently only list the standard
      GPIO pins used for various output ports.  Even through ICP's standard
      pin usage only utilizes pins 1, 2, and 9-12, and MCC's standard pin
      usage only uses pins 1, 2, and 9, these platforms do still have GPIO
      registers to address pins in the range 1-3 and 9-14.  OEM's may remap
      GPIO usage in non-standard ways (and provide the actual mapping via VBT
      settings), so we shouldn't exclude pins on these platforms just because
      they aren't part of the standard mappings.
      
      TGP's standard pin tables contains all the possible pins, so let's
      rename them to "icp" and use them for all PCH >= PCH_ICP.  This will
      prevent intel_gmbus_is_valid_pin from rejecting non-standard pin usage
      that an OEM specifies via the VBT.
      
      Note that this will cause pin 9 to be labeled as "tc1" instead of "dpc"
      in debug messages on platforms with the MCC PCH, but that may actually
      help avoid confusion since the text strings will now be the same on all
      gen11+ platforms instead of being different on just EHL.
      
      v2: Drop now-unused MCC_DDC_BUS_DDI_* names.
      
      v3: We want to compare against INTEL_PCH_TYPE, not INTEL_PCH_ID.
      
      Bspec: 8417
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NJosé Roberto de Souza <jose.souza@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190817005041.20651-1-matthew.d.roper@intel.com
      5a6b7ef6