Skip to content
Snippets Groups Projects
  1. Apr 08, 2020
  2. Mar 06, 2020
  3. Feb 28, 2020
    • Chris Wilson's avatar
      drm/i915/gt: Expose engine properties via sysfs · 4ec76dbe
      Chris Wilson authored
      
      Preliminary stub to add engines underneath /sys/class/drm/cardN/, so
      that we can expose properties on each engine to the sysadmin.
      
      To start with we have basic analogues of the i915_query ioctl so that we
      can pretty print engine discovery from the shell, and flesh out the
      directory structure. Later we will add writeable sysadmin properties such
      as per-engine timeout controls.
      
      An example tree of the engine properties on Braswell:
          /sys/class/drm/card0
          └── engine
              ├── bcs0
              │   ├── capabilities
              │   ├── class
              │   ├── instance
              │   ├── known_capabilities
              │   └── name
              ├── rcs0
              │   ├── capabilities
              │   ├── class
              │   ├── instance
              │   ├── known_capabilities
              │   └── name
              ├── vcs0
              │   ├── capabilities
              │   ├── class
              │   ├── instance
              │   ├── known_capabilities
              │   └── name
              └── vecs0
                  ├── capabilities
                  ├── class
                  ├── instance
                  ├── known_capabilities
                  └── name
      
      v2: Include stringified capabilities
      v3: Include all known capabilities for futureproofing.
      v4: Combine the two caps loops into one
      
      v5: Hide underneath Kconfig.unstable for wider discussion
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Acked-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Tested-by: default avatarSteve Carbonari <steven.carbonari@intel.com>
      Reviewed-by: default avatarSteve Carbonari <steven.carbonari@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200228131716.3243616-1-chris@chris-wilson.co.uk
      4ec76dbe
  4. Feb 27, 2020
  5. Feb 26, 2020
  6. Feb 25, 2020
  7. Feb 24, 2020
  8. Feb 17, 2020
  9. Feb 14, 2020
  10. Feb 04, 2020
  11. Jan 31, 2020
  12. Jan 15, 2020
  13. Jan 07, 2020
  14. Jan 03, 2020
  15. Jan 02, 2020
  16. Dec 22, 2019
  17. Nov 07, 2019
  18. Oct 29, 2019
    • Lionel Landwerlin's avatar
      drm/i915/tgl: Add perf support on TGL · 00a7f0d7
      Lionel Landwerlin authored
      
      The design of the OA unit has been split into several units. We now
      have a global unit (OAG) and a render specific unit (OAR). This leads
      to some changes on how we program things. Some details :
      
      OAR:
        - has its own set of counter registers, they are per-context
          saved/restored
        - counters are not written to the circular OA buffer
        - a snapshot of the counters can be acquired with
          MI_RECORD_PERF_COUNT, or a single counter can be read with
          MI_STORE_REGISTER_MEM.
      
      OAG:
        - has global counters that increment across context switches
        - counters are written into the circular OA buffer (if requested)
      
      v2: Fix checkpatch warnings on code style (Lucas)
      v3: (Umesh)
        - Update register from which tail, status and head are read
        - Update logic to sample context reports
        - Update whitelist mux and b counter regs
      v4: Fix a bug when updating context image for new contexts (Umesh)
      v5: Squash patch enabling save/restore of counters into context image
      
          We want this so we can preempt performance queries and keep the
          system responsive even when long running queries are ongoing. We
          avoid doing it for all contexts.
      
          - use LRI to modify context control (Chris)
          - use MASKED_FIELD to program just the masked bits (Chris)
          - disable save/restore of counters on cleanup (Chris)
      v6: Do not use implicit parameters (Chris)
      
      BSpec: 28727, 30021
      
      Signed-off-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Signed-off-by: default avatarUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Acked-by: default avatarChris Wilson <chris.p.wilson@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191025193746.47155-2-umesh.nerlige.ramappa@intel.com
      00a7f0d7
  19. Oct 26, 2019
  20. Oct 25, 2019
  21. Oct 24, 2019
  22. Oct 23, 2019
  23. Oct 21, 2019
  24. Oct 20, 2019
  25. Oct 08, 2019
  26. Oct 06, 2019
  27. Oct 04, 2019
  28. Oct 02, 2019
  29. Sep 27, 2019
  30. Sep 23, 2019
    • Animesh Manna's avatar
      drm/i915/dsb: DSB context creation. · 67f3b58f
      Animesh Manna authored
      
      This patch adds a function, which will internally get the gem buffer
      for DSB engine. The GEM buffer is from global GTT, and is mapped into
      CPU domain, contains the data + opcode to be feed to DSB engine.
      
      v1: Initial version.
      
      v2:
      - removed some unwanted code. (Chris)
      - Used i915_gem_object_create_internal instead of _shmem. (Chris)
      - cmd_buf_tail removed and can be derived through vma object. (Chris)
      
      v3: vma realeased if i915_gem_object_pin_map() failed. (Shashank)
      
      v4: for simplification and based on current usage added single dsb
      object in intel_crtc. (Shashank)
      
      v5: seting NULL to cmd_buf moved outside of mutex in dsb-put(). (Shashank)
      
      v6:
      - refcount machanism added.
      - Used atomic_add_return and atomic_dec_and_test instead of
      atomic_inc and atomic_dec. (Jani)
      
      Cc: Imre Deak <imre.deak@intel.com>
      Cc: Michel Thierry <michel.thierry@intel.com>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Shashank Sharma <shashank.sharma@intel.com>
      Signed-off-by: default avatarAnimesh Manna <animesh.manna@intel.com>
      [Jani: added #include <linux/types.h> while pushing]
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190920115930.27829-3-animesh.manna@intel.com
      67f3b58f
  31. Sep 04, 2019
    • Masahiro Yamada's avatar
      kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj) · 54b8ae66
      Masahiro Yamada authored
      
      Kbuild provides per-file compiler flag addition/removal:
      
        CFLAGS_<basetarget>.o
        CFLAGS_REMOVE_<basetarget>.o
        AFLAGS_<basetarget>.o
        AFLAGS_REMOVE_<basetarget>.o
        CPPFLAGS_<basetarget>.lds
        HOSTCFLAGS_<basetarget>.o
        HOSTCXXFLAGS_<basetarget>.o
      
      The <basetarget> is the filename of the target with its directory and
      suffix stripped.
      
      This syntax comes into a trouble when two files with the same basename
      appear in one Makefile, for example:
      
        obj-y += foo.o
        obj-y += dir/foo.o
        CFLAGS_foo.o := <some-flags>
      
      Here, the <some-flags> applies to both foo.o and dir/foo.o
      
      The real world problem is:
      
        scripts/kconfig/util.c
        scripts/kconfig/lxdialog/util.c
      
      Both files are compiled into scripts/kconfig/mconf, but only the
      latter should be given with the ncurses flags.
      
      It is more sensible to use the relative path to the Makefile, like this:
      
        obj-y += foo.o
        CFLAGS_foo.o := <some-flags>
        obj-y += dir/foo.o
        CFLAGS_dir/foo.o := <other-flags>
      
      At first, I attempted to replace $(basetarget) with $*. The $* variable
      is replaced with the stem ('%') part in a pattern rule. This works with
      most of cases, but does not for explicit rules.
      
      For example, arch/ia64/lib/Makefile reuses rule_as_o_S in its own
      explicit rules, so $* will be empty, resulting in ignoring the per-file
      AFLAGS.
      
      I introduced a new variable, target-stem, which can be used also from
      explicit rules.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Acked-by: default avatarMarc Zyngier <maz@kernel.org>
      54b8ae66
  32. Aug 22, 2019
  33. Aug 12, 2019
  34. Aug 10, 2019
  35. Aug 09, 2019
  36. Aug 08, 2019
Loading