~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/gpu/rfc/i915_small_bar.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/gpu/rfc/i915_small_bar.rst (Architecture i386) and /Documentation/gpu/rfc/i915_small_bar.rst (Architecture m68k)


  1 ==========================                          1 ==========================
  2 I915 Small BAR RFC Section                          2 I915 Small BAR RFC Section
  3 ==========================                          3 ==========================
  4 Starting from DG2 we will have resizable BAR s      4 Starting from DG2 we will have resizable BAR support for device local-memory(i.e
  5 I915_MEMORY_CLASS_DEVICE), but in some cases t      5 I915_MEMORY_CLASS_DEVICE), but in some cases the final BAR size might still be
  6 smaller than the total probed_size. In such ca      6 smaller than the total probed_size. In such cases, only some subset of
  7 I915_MEMORY_CLASS_DEVICE will be CPU accessibl      7 I915_MEMORY_CLASS_DEVICE will be CPU accessible(for example the first 256M),
  8 while the remainder is only accessible via the      8 while the remainder is only accessible via the GPU.
  9                                                     9 
 10 I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS flag     10 I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS flag
 11 ----------------------------------------------     11 ----------------------------------------------
 12 New gem_create_ext flag to tell the kernel tha     12 New gem_create_ext flag to tell the kernel that a BO will require CPU access.
 13 This becomes important when placing an object      13 This becomes important when placing an object in I915_MEMORY_CLASS_DEVICE, where
 14 underneath the device has a small BAR, meaning     14 underneath the device has a small BAR, meaning only some portion of it is CPU
 15 accessible. Without this flag the kernel will      15 accessible. Without this flag the kernel will assume that CPU access is not
 16 required, and prioritize using the non-CPU vis     16 required, and prioritize using the non-CPU visible portion of
 17 I915_MEMORY_CLASS_DEVICE.                          17 I915_MEMORY_CLASS_DEVICE.
 18                                                    18 
 19 .. kernel-doc:: Documentation/gpu/rfc/i915_sma     19 .. kernel-doc:: Documentation/gpu/rfc/i915_small_bar.h
 20    :functions: __drm_i915_gem_create_ext           20    :functions: __drm_i915_gem_create_ext
 21                                                    21 
 22 probed_cpu_visible_size attribute                  22 probed_cpu_visible_size attribute
 23 ---------------------------------                  23 ---------------------------------
 24 New struct__drm_i915_memory_region attribute w     24 New struct__drm_i915_memory_region attribute which returns the total size of the
 25 CPU accessible portion, for the particular reg     25 CPU accessible portion, for the particular region. This should only be
 26 applicable for I915_MEMORY_CLASS_DEVICE. We al     26 applicable for I915_MEMORY_CLASS_DEVICE. We also report the
 27 unallocated_cpu_visible_size, alongside the un     27 unallocated_cpu_visible_size, alongside the unallocated_size.
 28                                                    28 
 29 Vulkan will need this as part of creating a se     29 Vulkan will need this as part of creating a separate VkMemoryHeap with the
 30 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT set, to re     30 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT set, to represent the CPU visible portion,
 31 where the total size of the heap needs to be k     31 where the total size of the heap needs to be known. It also wants to be able to
 32 give a rough estimate of how memory can potent     32 give a rough estimate of how memory can potentially be allocated.
 33                                                    33 
 34 .. kernel-doc:: Documentation/gpu/rfc/i915_sma     34 .. kernel-doc:: Documentation/gpu/rfc/i915_small_bar.h
 35    :functions: __drm_i915_memory_region_info       35    :functions: __drm_i915_memory_region_info
 36                                                    36 
 37 Error Capture restrictions                         37 Error Capture restrictions
 38 --------------------------                         38 --------------------------
 39 With error capture we have two new restriction     39 With error capture we have two new restrictions:
 40                                                    40 
 41     1) Error capture is best effort on small B     41     1) Error capture is best effort on small BAR systems; if the pages are not
 42     CPU accessible, at the time of capture, th     42     CPU accessible, at the time of capture, then the kernel is free to skip
 43     trying to capture them.                        43     trying to capture them.
 44                                                    44 
 45     2) On discrete and newer integrated platfo     45     2) On discrete and newer integrated platforms we now reject error capture
 46     on recoverable contexts. In the future the     46     on recoverable contexts. In the future the kernel may want to blit during
 47     error capture, when for example something      47     error capture, when for example something is not currently CPU accessible.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php