1. 05 6月, 2020 1 次提交
  2. 02 6月, 2020 1 次提交
  3. 29 5月, 2020 1 次提交
    • V
      drm/i915: Stop using mode->private_flags · af157b76
      Ville Syrjälä 提交于
      Replace the use of mode->private_flags with a truly private bitmaks
      in our own crtc state. We also need a copy in the crtc itself so the
      vblank code can get at it. We already have scanline_offset in there
      for a similar reason, as well as the vblank->hwmode which is assigned
      via drm_calc_timestamping_constants(). Fortunately we now have a
      nice place for doing the crtc_state->crtc copy in
      intel_crtc_update_active_timings() which gets called both for
      modesets and init/resume readout.
      
      The one slightly iffy spot is the INHERITED flag which we want to
      preserve until userspace/fb_helper does the first proper commit after
      actually calling .detecti() on the connectors. Otherwise we don't have
      the full sink capabilities (audio,infoframes,etc.) when .compute_config()
      gets called and thus we will fail to enable those features when the
      first userspace commit happens. The only internal commit we do prior to
      that should be from intel_initial_commit() and there we can simply
      preserve the INHERITED flag from the readout.
      
      v2: Deal with INHERITED in sanitize_watermarks() as well
      
      CC: Sam Ravnborg <sam@ravnborg.org>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Emil Velikov <emil.l.velikov@gmail.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200429103904.11727-1-ville.syrjala@linux.intel.com
      af157b76
  4. 22 5月, 2020 1 次提交
  5. 20 5月, 2020 1 次提交
  6. 11 5月, 2020 1 次提交
  7. 06 5月, 2020 1 次提交
  8. 05 5月, 2020 1 次提交
  9. 28 4月, 2020 1 次提交
  10. 26 3月, 2020 1 次提交
  11. 02 3月, 2020 1 次提交
  12. 27 2月, 2020 1 次提交
  13. 26 2月, 2020 2 次提交
  14. 13 2月, 2020 2 次提交
  15. 05 2月, 2020 1 次提交
  16. 04 2月, 2020 1 次提交
  17. 28 1月, 2020 1 次提交
  18. 27 1月, 2020 1 次提交
  19. 22 1月, 2020 2 次提交
    • P
      drm/i915: Make WARN* drm specific where uncore or stream ptr is available · a9f236d1
      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 intel_uncore/i915_perf_stream  struct
      pointer is readily available.
      
      The conversion was done automatically with below coccinelle semantic
      patch. checkpatch errors/warnings are fixed manually.
      
      @@
      identifier func, T;
      @@
      func(...) {
      ...
      struct intel_uncore *T = ...;
      <...
      (
      -WARN(
      +drm_WARN(&T->i915->drm,
      ...)
      |
      -WARN_ON(
      +drm_WARN_ON(&T->i915->drm,
      ...)
      |
      -WARN_ONCE(
      +drm_WARN_ONCE(&T->i915->drm,
      ...)
      |
      -WARN_ON_ONCE(
      +drm_WARN_ON_ONCE(&T->i915->drm,
      ...)
      )
      ...>
      
      }
      
      @@
      identifier func, T;
      @@
      func(struct intel_uncore *T,...) {
      <...
      (
      -WARN(
      +drm_WARN(&T->i915->drm,
      ...)
      |
      -WARN_ON(
      +drm_WARN_ON(&T->i915->drm,
      ...)
      |
      -WARN_ONCE(
      +drm_WARN_ONCE(&T->i915->drm,
      ...)
      |
      -WARN_ON_ONCE(
      +drm_WARN_ON_ONCE(&T->i915->drm,
      ...)
      )
      ...>
      
      }
      
      @@
      identifier func, T;
      @@
      func(struct i915_perf_stream *T,...) {
      +struct drm_i915_private *i915 = T->perf->i915;
      <+...
      (
      -WARN(
      +drm_WARN(&i915->drm,
      ...)
      |
      -WARN_ON(
      +drm_WARN_ON(&i915->drm,
      ...)
      |
      -WARN_ONCE(
      +drm_WARN_ONCE(&i915->drm,
      ...)
      |
      -WARN_ON_ONCE(
      +drm_WARN_ON_ONCE(&i915->drm,
      ...)
      )
      ...+>
      
      }
      
      command: ls drivers/gpu/drm/i915/*.c | xargs spatch --sp-file <script> \
      					--linux-spacing --in-place
      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/20200115034455.17658-11-pankaj.laxminarayan.bharadiya@intel.com
      a9f236d1
    • P
      drm/i915: Make WARN* drm specific where drm_priv ptr is available · 48a1b8d4
      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_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_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,
      ...)
      )
      ...+>
      }
      
      @rule2@
      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,
      ...)
      )
      ...+>
      }
      
      command: ls drivers/gpu/drm/i915/*.c | xargs spatch --sp-file \
      			<script> --linux-spacing --in-place
      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/20200115034455.17658-10-pankaj.laxminarayan.bharadiya@intel.com
      48a1b8d4
  20. 29 12月, 2019 2 次提交
  21. 19 12月, 2019 1 次提交
  22. 04 12月, 2019 1 次提交
  23. 03 12月, 2019 1 次提交
  24. 27 11月, 2019 1 次提交
  25. 28 10月, 2019 1 次提交
  26. 27 10月, 2019 2 次提交
  27. 26 10月, 2019 1 次提交
    • L
      drm/i915: split gen11_irq_handler to make it shareable · 7be8782a
      Lucas De Marchi 提交于
      Split gen11_irq_handler() to receive as parameter the function
      pointers. This allows to share the interrupt handler even if the enable/disable
      functions are different.
      
      Make sure it's always inlined to avoid the extra indirect call on the
      hot path. Checking with gcc 9 this produce the exact same code as of
      now:
      
      $ size drivers/gpu/drm/i915/i915_irq*.o
         text	   data	    bss	    dec	    hex	filename
        47511	    560	      0	  48071	   bbc7	drivers/gpu/drm/i915/i915_irq.o
        47511	    560	      0	  48071	   bbc7	drivers/gpu/drm/i915/i915_irq_new.o
      
      $ gdb -batch -ex 'file drivers/gpu/drm/i915/i915_irq.o' -ex 'disassemble gen11_irq_handler' > /tmp/old.s
      $ gdb -batch -ex 'file drivers/gpu/drm/i915/i915_irq_new.o' -ex 'disassemble gen11_irq_handler' > /tmp/new.s
      $ git diff --no-index /tmp/{old,new}.s
      $
      
      So, no change in behavior, just a simple refactor.
      
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191024195122.22877-4-lucas.demarchi@intel.com
      7be8782a
  28. 25 10月, 2019 1 次提交
  29. 19 10月, 2019 2 次提交
  30. 16 10月, 2019 2 次提交
  31. 15 10月, 2019 1 次提交
  32. 08 10月, 2019 1 次提交
  33. 04 10月, 2019 1 次提交