1. 21 12月, 2011 3 次提交
  2. 06 12月, 2011 1 次提交
  3. 20 11月, 2011 1 次提交
    • M
      drm/radeon/kms: add a CS ioctl flag not to rewrite tiling flags in the CS · e70f224c
      Marek Olšák 提交于
      This adds a new optional chunk to the CS ioctl that specifies optional flags
      to the CS parser. Why this is useful is explained below. Note that some regs
      no longer need the NOP relocation packet if this feature is enabled.
      Tested on r300g and r600g with this flag disabled and enabled.
      
      Assume there are two contexts sharing the same mipmapped tiled texture.
      One context wants to render into the first mipmap and the other one
      wants to render into the last mipmap. As you probably know, the hardware
      has a MACRO_SWITCH feature, which turns off macro tiling for small mipmaps,
      but that only applies to samplers.
      (at least on r300-r500, though later hardware likely behaves the same)
      
      So we want to just re-set the tiling flags before rendering (writing
      packets), right? ... No. The contexts run in parallel, so they may
      set the tiling flags simultaneously and then fire their command streams
      also simultaneously. The last one setting the flags wins, the other one
      loses.
      
      Another problem is when one context wants to render into the first and
      the last mipmap in one CS. Impossible. It must flush before changing
      tiling flags and do the rendering into the smaller mipmaps in another CS.
      
      Yet another problem is that writing copy_blit in userspace would be a mess
      involving re-setting tiling flags to please the kernel, and causing races
      with other contexts at the same time.
      
      The only way out of this is to send tiling flags with each CS, ideally
      with each relocation. But we already do that through the registers.
      So let's just use what we have in the registers.
      Signed-off-by: NMarek Olšák <maraeo@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e70f224c
  4. 11 11月, 2011 3 次提交
  5. 04 11月, 2011 2 次提交
  6. 02 11月, 2011 3 次提交
  7. 28 10月, 2011 1 次提交
  8. 18 10月, 2011 5 次提交
  9. 10 10月, 2011 1 次提交
    • M
      DRM: bug: RADEON_DEBUGFS_MAX_{NUM_FILES => COMPONENTS} · c245cb9e
      Michael Witten 提交于
      The value of RADEON_DEBUGFS_MAX_NUM_FILES has been used to
      specify the size of an array, each element of which looks
      like this:
      
        struct radeon_debugfs {
                struct drm_info_list    *files;
                unsigned                num_files;
        };
      
      Consequently, the number of debugfs files may be much greater
      than RADEON_DEBUGFS_MAX_NUM_FILES, something that the current
      code ignores:
      
        if ((_radeon_debugfs_count + nfiles) > RADEON_DEBUGFS_MAX_NUM_FILES) {
                DRM_ERROR("Reached maximum number of debugfs files.\n");
                DRM_ERROR("Report so we increase RADEON_DEBUGFS_MAX_NUM_FILES.\n");
                return -EINVAL;
        }
      
      This commit fixes this make, and accordingly renames:
      
        RADEON_DEBUGFS_MAX_NUM_FILES
      
      to:
      
        RADEON_DEBUGFS_MAX_COMPONENTS
      Signed-off-by: NMichael Witten <mfwitten@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c245cb9e
  10. 19 9月, 2011 1 次提交
  11. 01 9月, 2011 1 次提交
  12. 27 7月, 2011 1 次提交
  13. 25 7月, 2011 1 次提交
  14. 18 7月, 2011 1 次提交
  15. 24 6月, 2011 1 次提交
  16. 09 6月, 2011 1 次提交
  17. 13 4月, 2011 2 次提交
  18. 31 3月, 2011 1 次提交
  19. 14 3月, 2011 1 次提交
    • D
      drm/radeon: fix problem with changing active VRAM size. (v2) · 53595338
      Dave Airlie 提交于
      So we used to use lpfn directly to restrict VRAM when we couldn't
      access the unmappable area, however this was removed in
      93225b0d as it also restricted
      the gtt placements. However it was only later noticed that this
      broke on some hw.
      
      This removes the active_vram_size, and just explicitly sets it
      when it changes, TTM/drm_mm will always use the real_vram_size,
      and the active vram size will change the TTM size used for lpfn
      setting.
      
      We should re-work the fpfn/lpfn to per-placement at some point
      I suspect, but that is too late for this kernel.
      
      Hopefully this addresses:
      https://bugs.freedesktop.org/show_bug.cgi?id=35254
      
      v2: fix reported useful VRAM size to userspace to be correct.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      53595338
  20. 03 3月, 2011 3 次提交
  21. 23 2月, 2011 5 次提交
  22. 19 2月, 2011 1 次提交