1. 09 1月, 2018 2 次提交
  2. 22 12月, 2017 2 次提交
  3. 28 11月, 2017 2 次提交
  4. 24 11月, 2017 2 次提交
  5. 02 9月, 2017 2 次提交
  6. 27 7月, 2017 1 次提交
  7. 03 6月, 2017 1 次提交
  8. 25 1月, 2017 1 次提交
  9. 07 12月, 2016 1 次提交
  10. 02 12月, 2016 3 次提交
  11. 17 10月, 2016 1 次提交
  12. 14 10月, 2016 3 次提交
  13. 23 8月, 2016 1 次提交
  14. 22 8月, 2016 1 次提交
  15. 05 7月, 2016 1 次提交
  16. 04 7月, 2016 1 次提交
  17. 30 6月, 2016 1 次提交
  18. 12 4月, 2016 3 次提交
  19. 07 4月, 2016 1 次提交
  20. 11 3月, 2016 1 次提交
  21. 09 3月, 2016 1 次提交
  22. 11 2月, 2016 1 次提交
  23. 10 2月, 2016 1 次提交
  24. 10 12月, 2015 1 次提交
  25. 02 12月, 2015 3 次提交
  26. 18 11月, 2015 2 次提交
    • 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
    • V
      drm/i915: Streamline gpio_mmio_base deduction · b2e8c6cd
      Ville Syrjälä 提交于
      If we ignore the BXT situation, we can observe that the only variables
      affecting gpio_mmio_base is IS_VALLEVIEW and HAS_GMCH_DISPLAY. The BXT
      situation we can fit into the same pattern if we change gmbus_pins_bxt[]
      to house the GMCH GPIO register offsets (like we do for all other
      platfotms). So let's do that.
      
      We could even simplify the VLV situation more by including the
      display_mmio_offset in the GPIO register defines, but let's leave it be
      for now.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1446672017-24497-13-git-send-email-ville.syrjala@linux.intel.comReviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b2e8c6cd