1. 31 7月, 2019 1 次提交
  2. 25 7月, 2019 1 次提交
  3. 13 7月, 2019 1 次提交
    • A
      drm/i915: Add modular FIA · 0caf6257
      Anusha Srivatsa 提交于
      Some platforms may have Modular FIA. If Modular FIA is used in the SOC,
      then Display Driver will access the additional instances of
      FIA based on pre-assigned offset in GTTMADDR space.
      
      Each Modular FIA instance has its own IOSF Sideband Port ID
      and it houses only 2 Type-C Port. In SOC that has more than
      two Type-C Ports, there are multiple instances of Modular FIA.
      Gunit will need to use different destination ID when it access
      different pair of Type-C Port.
      
      The DFLEXDPSP register has Modular FIA bit starting on Tiger Lake.  If
      Modular FIA is used in the SOC, this register bit exists in all the
      instances of Modular FIA. IOM FW is required to program only the MF bit
      in first FIA instance that houses the Type-C Port 0 and Port 1, for
      Display Driver to read from.
      
      v2 (Lucas):
        - Move all accesses to FIA to be contained in intel_tc.c, along with
          display_fia that is now called tc_phy_fia
        - Save the fia instance number on intel_digital_port, so we don't have
          to query if modular FIA is used on every access
      v3 (Lucas): Make function static
      v4 (Lucas): Move enum phy_fia to the header and use it in
         intel_digital_port (suggested by Ville)
      v5 (Lucas): Add comment about the mapping between FIA and TC port
         (suggested by Stuart)
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: NAnusha Srivatsa <anusha.srivatsa@intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Acked-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NStuart Summers <stuart.summers@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190712055706.12143-2-lucas.demarchi@intel.com
      0caf6257
  4. 12 7月, 2019 1 次提交
  5. 17 6月, 2019 2 次提交
  6. 12 6月, 2019 1 次提交
  7. 09 6月, 2019 1 次提交
  8. 31 5月, 2019 1 次提交
  9. 29 5月, 2019 2 次提交
  10. 25 4月, 2019 1 次提交
  11. 24 4月, 2019 1 次提交
  12. 19 4月, 2019 1 次提交
  13. 02 4月, 2019 2 次提交
    • C
      drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h · 3a891a62
      Chris Wilson 提交于
      We want to use intel_engine_mask_t inside i915_request.h, which means
      extracting it from the general header file mess and placing it inside a
      types.h. A knock on effect is that the compiler wants to warn about
      type-contraction of ALL_ENGINES into intel_engine_maskt_t, so prepare
      for the worst.
      
      v2: Use intel_engine_mask_t consistently
      v3: Move I915_NUM_ENGINES to its natural home at the end of the enum
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190401162641.10963-1-chris@chris-wilson.co.ukReviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      3a891a62
    • T
      drm/i915: Introduce concept of a sub-platform · 805446c8
      Tvrtko Ursulin 提交于
      Concept of a sub-platform already exist in our code (like ULX and ULT
      platform variants and similar),implemented via the macros which check a
      list of device ids to determine a match.
      
      With this patch we consolidate device ids checking into a single function
      called during early driver load.
      
      A few low bits in the platform mask are reserved for sub-platform
      identification and defined as a per-platform namespace.
      
      At the same time it future proofs the platform_mask handling by preparing
      the code for easy extending, and tidies the very verbose WARN strings
      generated when IS_PLATFORM macros are embedded into a WARN type
      statements.
      
      v2: Fixed IS_SUBPLATFORM. Updated commit msg.
      v3: Chris was right, there is an ordering problem.
      
      v4:
       * Catch-up with new sub-platforms.
       * Rebase for RUNTIME_INFO.
       * Drop subplatform mask union tricks and convert platform_mask to an
         array for extensibility.
      
      v5:
       * Fix subplatform check.
       * Protect against forgetting to expand subplatform bits.
       * Remove platform enum tallying.
       * Add subplatform to error state. (Chris)
       * Drop macros and just use static inlines.
       * Remove redundant IRONLAKE_M. (Ville)
      
      v6:
       * Split out Ironlake change.
       * Optimize subplatform check.
       * Use __always_inline. (Lucas)
       * Add platform_mask comment. (Paulo)
       * Pass stored runtime info in error capture. (Chris)
      
      v7:
       * Rebased for new AML ULX device id.
       * Bump platform mask array size for EHL.
       * Stop mentioning device ids in intel_device_subplatform_init by using
         the trick of splitting macros i915_pciids.h. (Jani)
       * AML seems to be either a subplatform of KBL or CFL so express it like
         that.
      
      v8:
       * Use one device id table per subplatform. (Jani)
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Suggested-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Jose Souza <jose.souza@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Acked-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190327142328.31780-1-tvrtko.ursulin@linux.intel.com
      805446c8
  14. 26 3月, 2019 1 次提交
  15. 23 3月, 2019 1 次提交
  16. 15 3月, 2019 2 次提交
  17. 06 3月, 2019 1 次提交
  18. 06 2月, 2019 1 次提交
  19. 31 1月, 2019 1 次提交
  20. 03 1月, 2019 1 次提交
  21. 02 1月, 2019 3 次提交
  22. 13 12月, 2018 1 次提交
  23. 04 12月, 2018 1 次提交
  24. 10 11月, 2018 1 次提交
  25. 02 11月, 2018 1 次提交
    • J
      drm/i915: remove palette_offsets from device info in favor of _PICK() · 74c1e826
      Jani Nikula 提交于
      The device info offset arrays for unevenly spaced register offsets is
      great for widely used registers. However, the palette registers are only
      used in one function, i9xx_load_luts_internal(), and only for GMCH
      platforms, wasting device info. Replace palette_offsets with _PICK() in
      palette register definition.
      
      While the use of _PICK() does not check for pipe C existence, neither
      does the current offset array usage, and leads to bogus address when
      pipe C is passed to PALETTE() on non-CHV. Using _PICK() at least leads
      to a sensible register offset, just non-existing on non-CHV. Either way,
      this shouldn't happen anyway.
      
      Remove unused old palette macros while at it.
      
      Bloat-o-meter results below for completeness.
      
      add/remove: 0/0 grow/shrink: 3/6 up/down: 94/-278 (-184)
      Function                                     old     new   delta
      i9xx_load_luts_internal                      394     483     +89
      i915_driver_load                            5103    5107      +4
      g4x_pre_enable_dp                            378     379      +1
      intel_engines_init_mmio                     1117    1116      -1
      intel_engine_lookup_user                      47      46      -1
      hdmi_port_clock_valid                        310     309      -1
      gen11_irq_handler                            707     706      -1
      intel_device_info_dump_runtime               329     311     -18
      intel_device_info_runtime_init              5166    4910    -256
      Total: Before=918650, After=918466, chg -0.02%
      
      add/remove: 0/0 grow/shrink: 0/48 up/down: 0/-576 (-576)
      Data                                         old     new   delta
      intel_valleyview_info                        200     188     -12
      intel_skylake_gt4_info                       200     188     -12
      intel_skylake_gt3_info                       200     188     -12
      intel_skylake_gt2_info                       200     188     -12
      intel_skylake_gt1_info                       200     188     -12
      intel_sandybridge_m_gt2_info                 200     188     -12
      intel_sandybridge_m_gt1_info                 200     188     -12
      intel_sandybridge_d_gt2_info                 200     188     -12
      intel_sandybridge_d_gt1_info                 200     188     -12
      intel_pineview_info                          200     188     -12
      intel_kabylake_gt3_info                      200     188     -12
      intel_kabylake_gt2_info                      200     188     -12
      intel_kabylake_gt1_info                      200     188     -12
      intel_ivybridge_q_info                       200     188     -12
      intel_ivybridge_m_gt2_info                   200     188     -12
      intel_ivybridge_m_gt1_info                   200     188     -12
      intel_ivybridge_d_gt2_info                   200     188     -12
      intel_ivybridge_d_gt1_info                   200     188     -12
      intel_ironlake_m_info                        200     188     -12
      intel_ironlake_d_info                        200     188     -12
      intel_icelake_11_info                        200     188     -12
      intel_i965gm_info                            200     188     -12
      intel_i965g_info                             200     188     -12
      intel_i945gm_info                            200     188     -12
      intel_i945g_info                             200     188     -12
      intel_i915gm_info                            200     188     -12
      intel_i915g_info                             200     188     -12
      intel_i865g_info                             200     188     -12
      intel_i85x_info                              200     188     -12
      intel_i845g_info                             200     188     -12
      intel_i830_info                              200     188     -12
      intel_haswell_gt3_info                       200     188     -12
      intel_haswell_gt2_info                       200     188     -12
      intel_haswell_gt1_info                       200     188     -12
      intel_gm45_info                              200     188     -12
      intel_geminilake_info                        200     188     -12
      intel_g45_info                               200     188     -12
      intel_g33_info                               200     188     -12
      intel_coffeelake_gt3_info                    200     188     -12
      intel_coffeelake_gt2_info                    200     188     -12
      intel_coffeelake_gt1_info                    200     188     -12
      intel_cherryview_info                        200     188     -12
      intel_cannonlake_info                        200     188     -12
      intel_broxton_info                           200     188     -12
      intel_broadwell_rsvd_info                    200     188     -12
      intel_broadwell_gt3_info                     200     188     -12
      intel_broadwell_gt2_info                     200     188     -12
      intel_broadwell_gt1_info                     200     188     -12
      Total: Before=195529, After=194953, chg -0.29%
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181031110453.12722-1-jani.nikula@intel.com
      74c1e826
  26. 26 10月, 2018 1 次提交
  27. 27 9月, 2018 1 次提交
  28. 07 8月, 2018 1 次提交
  29. 20 7月, 2018 1 次提交
  30. 06 7月, 2018 1 次提交
  31. 21 3月, 2018 1 次提交
  32. 20 3月, 2018 1 次提交
    • O
      drm/i915/icl: Check for fused-off VDBOX and VEBOX instances · 26376a7e
      Oscar Mateo 提交于
      In Gen11, the Video Decode engines (aka VDBOX, aka VCS, aka BSD) and the
      Video Enhancement engines (aka VEBOX, aka VECS) could be fused off. Also,
      each VDBOX and VEBOX has its own power well, which only exist if the
      related engine exists in the HW.
      
      Unfortunately, we have a Catch-22 situation going on: we need the blitter
      forcewake to read the register with the fuse info, but we cannot initialize
      the forcewake domains without knowin about the engines present in the HW.
      We workaround this problem by allowing the initialization of all forcewake
      domains and then pruning the fused off ones, as per the fuse information.
      
      Bspec: 20680
      
      v2: We were shifting incorrectly for vebox disable (Vinay)
      
      v3: Assert mmio is ready and warn if we have attempted to initialize
          forcewake for fused-off engines (Paulo)
      
      v4:
        - Use INTEL_GEN in new code (Tvrtko)
        - Shorter local variable (Tvrtko, Michal)
        - Keep "if (!...) continue" style (Tvrtko)
        - No unnecessary BUG_ON (Tvrtko)
        - WARN_ON and cleanup if wrong mask (Tvrtko, Michal)
        - Use I915_READ_FW (Michal)
        - Use I915_MAX_VCS/VECS macros (Michal)
      
      v5: Rebased by Rodrigo fixing conflicts on top of:
          "drm/i915: Simplify intel_engines_init"
      
      v6: Fix v5. Remove info->num_rings. (by Oscar)
      
      v7: Rebase (Rodrigo).
      
      v8:
        - s/intel_device_info_fused_off_engines/
          intel_device_info_init_mmio (Chris)
        - Make vdbox_disable & vebox_disable local variables (Chris)
      
      v9:
        - Move function declaration to intel_device_info.h (Michal)
        - Missing indent in bit fields definitions (Michal)
        - When RC6 is enabled by BIOS, the fuse register cannot be read until
          the blitter powerwell is awake. Shuffle where the fuse is read, prune
          the forcewake domains after the fact and change the commit message
          accordingly (Vinay, Sagar, Chris).
      
      v10:
        - Improved commit message (Sagar)
        - New line in header file (Sagar)
        - Specify the message in fw_domain_reset applies to ICL+ (Sagar)
      
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NOscar Mateo <oscar.mateo@intel.com>
      Reviewed-by: NSagar Arun Kamble <sagar.a.kamble@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180316121456.11577-1-mika.kuoppala@linux.intel.com
      [Mika: soothe checkpatch on commit msg]
      Signed-off-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      26376a7e
  33. 08 3月, 2018 2 次提交