1. 14 7月, 2016 1 次提交
  2. 04 7月, 2016 1 次提交
  3. 24 6月, 2016 1 次提交
  4. 24 5月, 2016 1 次提交
  5. 11 5月, 2016 1 次提交
  6. 03 3月, 2016 1 次提交
  7. 13 1月, 2016 1 次提交
  8. 10 12月, 2015 1 次提交
  9. 18 11月, 2015 1 次提交
    • V
      drm/i915: Type safe register read/write · f0f59a00
      Ville Syrjälä 提交于
      Make I915_READ and I915_WRITE more type safe by wrapping the register
      offset in a struct. This should eliminate most of the fumbles we've had
      with misplaced parens.
      
      This only takes care of normal mmio registers. We could extend the idea
      to other register types and define each with its own struct. That way
      you wouldn't be able to accidentally pass the wrong thing to a specific
      register access function.
      
      The gpio_reg setup is probably the ugliest thing left. But I figure I'd
      just leave it for now, and wait for some divine inspiration to strike
      before making it nice.
      
      As for the generated code, it's actually a bit better sometimes. Eg.
      looking at i915_irq_handler(), we can see the following change:
        lea    0x70024(%rdx,%rax,1),%r9d
        mov    $0x1,%edx
      - movslq %r9d,%r9
      - mov    %r9,%rsi
      - mov    %r9,-0x58(%rbp)
      - callq  *0xd8(%rbx)
      + mov    %r9d,%esi
      + mov    %r9d,-0x48(%rbp)
       callq  *0xd8(%rbx)
      
      So previously gcc thought the register offset might be signed and
      decided to sign extend it, just in case. The rest appears to be
      mostly just minor shuffling of instructions.
      
      v2: i915_mmio_reg_{offset,equal,valid}() helpers added
          s/_REG/_MMIO/ in the register defines
          mo more switch statements left to worry about
          ring_emit stuff got sorted in a prep patch
          cmd parser, lrc context and w/a batch buildup also in prep patch
          vgpu stuff cleaned up and moved to a prep patch
          all other unrelated changes split out
      v3: Rebased due to BXT DSI/BLC, MOCS, etc.
      v4: Rebased due to churn, s/i915_mmio_reg_t/i915_reg_t/
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Link: http://patchwork.freedesktop.org/patch/msgid/1447853606-2751-1-git-send-email-ville.syrjala@linux.intel.com
      f0f59a00
  10. 30 9月, 2015 2 次提交
  11. 15 6月, 2015 1 次提交
  12. 18 3月, 2015 1 次提交
  13. 27 2月, 2015 1 次提交
  14. 26 2月, 2015 1 次提交
    • A
      drm/i915: Removed the read of RP_STATE_CAP from sysfs/debugfs functions · bc4d91f6
      Akash Goel 提交于
      The frequency values(Rp0, Rp1, Rpn) reported by RP_STATE_CAP register
      are stored, initially by the Driver, inside the dev_priv->rps structure.
      Since these values are expected to remain same throughout, there is no real
      need to read this register, on dynamic basis, from certain debugfs/sysfs
      functions and the values can be instead retrieved from the dev_priv->rps
      structure when needed.
      For the i915_frequency_info debugfs interface, the frequency values from the
      RP_STATE_CAP register only should be used, to indicate the actual Hw state,
      since it is principally used for the debugging purpose.
      
      v2: Reverted the changes in i915_frequency_info function, to continue report
          back the frequency values, as per the actual Hw state (Chris)
      Signed-off-by: NAkash Goel <akash.goel@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      bc4d91f6
  15. 14 2月, 2015 1 次提交
    • V
      drm/i915: Introduce intel_set_rps() · ffe02b40
      Ville Syrjälä 提交于
      Replace the valleyview_set_rps() and gen6_set_rps() calls with
      intel_set_rps() which itself does the IS_VALLEYVIEW() check. The
      code becomes simpler since the callers don't have to do this check
      themselves.
      
      Most of the change was performe with the following semantic patch:
      @@
      expression E1, E2, E3;
      @@
      - if (IS_VALLEYVIEW(E1)) {
      -  valleyview_set_rps(E2, E3);
      - } else {
      -  gen6_set_rps(E2, E3);
      - }
      + intel_set_rps(E2, E3);
      
      Adding intel_set_rps() and making valleyview_set_rps() and gen6_set_rps()
      static was done manually. Also valleyview_set_rps() had to be moved a
      bit avoid a forward declaration.
      
      v2: Use a less greedy semantic patch
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Suggested-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ffe02b40
  16. 27 1月, 2015 5 次提交
  17. 24 10月, 2014 1 次提交
  18. 03 9月, 2014 1 次提交
  19. 12 7月, 2014 2 次提交
  20. 23 5月, 2014 1 次提交
    • O
      drm/i915: s/i915_hw_context/intel_context · 273497e5
      Oscar Mateo 提交于
      Up until now, contexts had one (and only one) backing object that was
      used by the hardware to save/restore render ring contexts (via the
      MI_SET_CONTEXT command). Other rings did not have or need this, so
      our i915_hw_context struct had a 1:1 relationship with a a real HW
      context.
      
      With Logical Ring Contexts and Execlists, this is not possible anymore:
      all rings need a backing object, and it cannot be reused. To prepare
      for that, rename our contexts to the more generic term intel_context.
      
      No functional changes.
      Signed-off-by: NOscar Mateo <oscar.mateo@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      273497e5
  21. 05 5月, 2014 1 次提交
  22. 20 3月, 2014 4 次提交
  23. 07 2月, 2014 1 次提交
    • J
      drm/i915: Update rps interrupt limits · b8a5ff8d
      Jeff McGee 提交于
      sysfs changes to rps min and max delay were only triggering an update
      of the rps interrupt limits if the active delay required an update.
      This change ensures that interrupt limits are always updated.
      
      v2: correct compile issue missed on rebase
      v3: add igt testcases to signed-off-by section
      
      Testcase: igt/pm_rps/min-max-config-idle
      Testcase: igt/pm_rps/min-max-config-loaded
      Signed-off-by: NJeff McGee <jeff.mcgee@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b8a5ff8d
  24. 11 12月, 2013 1 次提交
  25. 08 11月, 2013 1 次提交
  26. 07 11月, 2013 2 次提交
  27. 22 10月, 2013 1 次提交
    • D
      drm/sysfs: sort out minor and connector device object lifetimes. · 5bdebb18
      Dave Airlie 提交于
      So drm was abusing device lifetimes, by having embedded device structures
      in the minor and connector it meant that the lifetime of the internal drm
      objects (drm_minor and drm_connector) were tied to the lifetime of the device
      files in sysfs, so if something kept those files opened the current code
      would kfree the objects and things would go downhill from there.
      
      Now in reality there is no need for these lifetimes to be so intertwined,
      especailly with hotplugging of devices where we wish to remove the sysfs
      and userspace facing pieces before we can unwind the internal objects due
      to open userspace files or mmaps, so split the objects out so the struct
      device is no longer embedded and do what fbdev does and just allocate
      and remove the sysfs inodes separately.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      5bdebb18
  28. 15 10月, 2013 1 次提交
  29. 10 10月, 2013 1 次提交
    • T
      drm/i915: Finish enabling rps before use by sysfs or debugfs · 5c9669ce
      Tom O'Rourke 提交于
      Enabling rps (turbo setup) was put in a work queue because it may
      take quite awhile.  This change flushes the work queue to initialize
      rps values before use by sysfs or debugfs.  Specifically,
      rps.delayed_resume_work is flushed before using rps.hw_max,
      rps.max_delay, rps.min_delay, or rps.cur_delay.
      
      This change fixes a problem in sysfs where show functions using
      uninitialized values show incorrect values and store functions
      using uninitialized values in range checks incorrectly fail to
      store valid input values.  This change also addresses similar use
      before initialized problems in debugfs.
      Signed-off-by: NTom O'Rourke <Tom.O'Rourke@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      5c9669ce
  30. 01 10月, 2013 1 次提交