== Series Details == Series: Introduce memory region concept (including device local memory) (rev3) URL : https://patchwork.freedesktop.org/series/56683/ State : warning == Summary == $ dim checkpatch origin/drm-tip 45cebf7cea76 drm/i915: buddy allocator -:29: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #29: new file mode 100644 -:456: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #456: FILE: drivers/gpu/drm/i915/i915_buddy.c:423: + if (buddy && (i915_buddy_block_is_free(block) && + i915_buddy_block_is_free(buddy))) total: 0 errors, 1 warnings, 1 checks, 1303 lines checked fe10a81166ca drm/i915: introduce intel_memory_region -:59: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #59: new file mode 100644 -:167: ERROR:SPACING: spaces required around that '=' (ctx:VxW) #167: FILE: drivers/gpu/drm/i915/gem/i915_gem_region.c:104: + obj->mm.region= mem; ^ -:580: WARNING:TYPO_SPELLING: 'UKNOWN' may be misspelled - perhaps 'UNKNOWN'? #580: FILE: drivers/gpu/drm/i915/intel_memory_region.h:33: + INTEL_MEMORY_UKNOWN, /* Should be last */ -:589: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'r' may be better as '(r)' to avoid precedence issues #589: FILE: drivers/gpu/drm/i915/intel_memory_region.h:42: +#define MEMORY_TYPE_FROM_REGION(r) (ilog2(r >> INTEL_MEMORY_TYPE_SHIFT)) -:590: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'r' may be better as '(r)' to avoid precedence issues #590: FILE: drivers/gpu/drm/i915/intel_memory_region.h:43: +#define MEMORY_INSTANCE_FROM_REGION(r) (ilog2(r & 0xffff)) -:602: WARNING:FUNCTION_ARGUMENTS: function definition argument 'struct intel_memory_region *' should also have an identifier name #602: FILE: drivers/gpu/drm/i915/intel_memory_region.h:55: + int (*init)(struct intel_memory_region *); -:603: WARNING:FUNCTION_ARGUMENTS: function definition argument 'struct intel_memory_region *' should also have an identifier name #603: FILE: drivers/gpu/drm/i915/intel_memory_region.h:56: + void (*release)(struct intel_memory_region *); -:605: WARNING:FUNCTION_ARGUMENTS: function definition argument 'struct intel_memory_region *' should also have an identifier name #605: FILE: drivers/gpu/drm/i915/intel_memory_region.h:58: + struct drm_i915_gem_object * -:605: WARNING:FUNCTION_ARGUMENTS: function definition argument 'resource_size_t' should also have an identifier name #605: FILE: drivers/gpu/drm/i915/intel_memory_region.h:58: + struct drm_i915_gem_object * -:605: WARNING:FUNCTION_ARGUMENTS: function definition argument 'unsigned int' should also have an identifier name #605: FILE: drivers/gpu/drm/i915/intel_memory_region.h:58: + struct drm_i915_gem_object * -:620: CHECK:UNCOMMENTED_DEFINITION: struct mutex definition without comment #620: FILE: drivers/gpu/drm/i915/intel_memory_region.h:73: + struct mutex mm_lock; -:639: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #639: FILE: drivers/gpu/drm/i915/intel_memory_region.h:92: +__intel_memory_region_get_block_buddy(struct intel_memory_region *mem, + resource_size_t size); -:641: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #641: FILE: drivers/gpu/drm/i915/intel_memory_region.h:94: +void __intel_memory_region_put_pages_buddy(struct intel_memory_region *mem, + struct list_head *blocks); -:739: WARNING:EMBEDDED_FUNCTION_NAME: Prefer using '"%s...", __func__' to using 'igt_mock_fill', this function's name, in a string #739: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:70: + pr_err("igt_mock_fill failed, space still left in region\n"); total: 1 errors, 8 warnings, 5 checks, 785 lines checked bdd5924075d5 drm/i915/region: support basic eviction 3ddf8bf0a6da drm/i915/region: support continuous allocations 9f4b2e059975 drm/i915/region: support volatile objects 929250f59fbd drm/i915: Add memory region information to device_info 0aec24bbc1d0 drm/i915: support creating LMEM objects -:35: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #35: new file mode 100644 -:117: WARNING:TYPO_SPELLING: 'UKNOWN' may be misspelled - perhaps 'UNKNOWN'? #117: FILE: drivers/gpu/drm/i915/i915_drv.h:1374: + struct intel_memory_region *regions[INTEL_MEMORY_UKNOWN]; total: 0 errors, 2 warnings, 0 checks, 219 lines checked 50a84a2e349b drm/i915: setup io-mapping for LMEM -:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one total: 0 errors, 1 warnings, 0 checks, 34 lines checked d4a527f69e88 drm/i915/lmem: support kernel mapping -:289: ERROR:CODE_INDENT: code indent should use tabs where possible #289: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:422: +^I^I^I val);$ -:289: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #289: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:422: + pr_err("vaddr[%u]=%u, val=%u\n", dword, vaddr[dword], + val); -:301: ERROR:CODE_INDENT: code indent should use tabs where possible #301: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:434: +^I^I^I val ^ 0xdeadbeaf);$ -:301: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #301: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:434: + pr_err("vaddr[%u]=%u, val=%u\n", dword, vaddr[dword], + val ^ 0xdeadbeaf); total: 2 errors, 0 warnings, 2 checks, 263 lines checked 5059064ee270 drm/i915/blt: don't assume pinned intel_context fc37f3d7563b drm/i915/blt: bump size restriction 090251f6400a drm/i915/blt: support copying objects -:14: ERROR:BAD_SIGN_OFF: Unrecognized email address: 'Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx' #14: Cc: Abdiel Janulgue <abdiel.janulgue@xxxxxxxxxxxxxxx -:266: WARNING:LINE_SPACING: Missing a blank line after declarations #266: FILE: drivers/gpu/drm/i915/gem/selftests/i915_gem_object_blt.c:112: + struct rnd_state prng; + IGT_TIMEOUT(end); -:383: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV) #383: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:191: +#define SRC_COPY_BLT_CMD ((2<<29)|(0x43<<22)) ^ -:383: CHECK:SPACING: spaces preferred around that '|' (ctx:VxV) #383: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:191: +#define SRC_COPY_BLT_CMD ((2<<29)|(0x43<<22)) ^ -:383: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV) #383: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:191: +#define SRC_COPY_BLT_CMD ((2<<29)|(0x43<<22)) ^ -:384: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV) #384: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:192: +#define GEN9_XY_FAST_COPY_BLT_CMD ((2<<29)|(0x42<<22)) ^ -:384: CHECK:SPACING: spaces preferred around that '|' (ctx:VxV) #384: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:192: +#define GEN9_XY_FAST_COPY_BLT_CMD ((2<<29)|(0x42<<22)) ^ -:384: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV) #384: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:192: +#define GEN9_XY_FAST_COPY_BLT_CMD ((2<<29)|(0x42<<22)) ^ -:385: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV) #385: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:193: +#define XY_SRC_COPY_BLT_CMD ((2<<29)|(0x53<<22)) ^ -:385: CHECK:SPACING: spaces preferred around that '|' (ctx:VxV) #385: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:193: +#define XY_SRC_COPY_BLT_CMD ((2<<29)|(0x53<<22)) ^ -:385: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV) #385: FILE: drivers/gpu/drm/i915/gt/intel_gpu_commands.h:193: +#define XY_SRC_COPY_BLT_CMD ((2<<29)|(0x53<<22)) ^ total: 1 errors, 1 warnings, 9 checks, 361 lines checked bf62f531f60f drm/i915/selftests: move gpu-write-dw into utils 4989df0d0989 drm/i915/selftests: add write-dword test for LMEM -:19: CHECK:LINE_SPACING: Please don't use multiple blank lines #19: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:10: + -:99: WARNING:LINE_SPACING: Missing a blank line after declarations #99: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:420: + struct intel_engine_cs *engine; + IGT_TIMEOUT(end_time); -:174: WARNING:LINE_SPACING: Missing a blank line after declarations #174: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:509: + struct drm_file *file; + I915_RND_STATE(prng); total: 0 errors, 2 warnings, 1 checks, 212 lines checked 31452d13f1ef drm/i915/selftest: extend coverage to include LMEM huge-pages -:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one total: 0 errors, 1 warnings, 0 checks, 151 lines checked 0dda88a816db drm/i915/lmem: support CPU relocations -:77: CHECK:SPACING: No space is necessary after a cast #77: FILE: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:1086: + io_mapping_unmap_atomic((void __force __iomem *) unmask_page(cache->vaddr)); total: 0 errors, 0 warnings, 1 checks, 93 lines checked 476823e2dfab drm/i915/lmem: support pread -:126: WARNING:FUNCTION_ARGUMENTS: function definition argument 'struct drm_i915_gem_object *' should also have an identifier name #126: FILE: drivers/gpu/drm/i915/gem/i915_gem_object_types.h:56: + int (*pread)(struct drm_i915_gem_object *, total: 0 errors, 1 warnings, 0 checks, 120 lines checked 3dc5a995e357 drm/i915/lmem: support pwrite -:78: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" #78: FILE: drivers/gpu/drm/i915/gem/i915_gem_lmem.c:154: + unwritten = __copy_from_user_inatomic_nocache((void __force*)vaddr + offset, -:83: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" #83: FILE: drivers/gpu/drm/i915/gem/i915_gem_lmem.c:159: + unwritten = copy_from_user((void __force*)vaddr + offset, -:106: CHECK:LINE_SPACING: Please don't use multiple blank lines #106: FILE: drivers/gpu/drm/i915/gem/i915_gem_lmem.c:182: + + total: 2 errors, 0 warnings, 1 checks, 99 lines checked 8cef4e8292c8 drm/i915: enumerate and init each supported region -:61: WARNING:TYPO_SPELLING: 'UKNOWN' may be misspelled - perhaps 'UNKNOWN'? #61: FILE: drivers/gpu/drm/i915/i915_gem_gtt.c:2743: + for (i = 0; i < INTEL_MEMORY_UKNOWN; i++) { total: 0 errors, 1 warnings, 0 checks, 121 lines checked 4420ad77a9a8 drm/i915: treat shmem as a region -:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one -:117: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #117: FILE: drivers/gpu/drm/i915/gem/i915_gem_shmem.c:444: +static int __create_shmem(struct drm_i915_private *i915, struct drm_gem_object *obj, -:129: WARNING:UNSPECIFIED_INT: Prefer 'unsigned int' to bare use of 'unsigned' #129: FILE: drivers/gpu/drm/i915/gem/i915_gem_shmem.c:467: + unsigned flags) -:191: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (8, 17) #191: FILE: drivers/gpu/drm/i915/gem/i915_gem_shmem.c:591: + if (err) + DRM_NOTE("Unable to create a private tmpfs mount, hugepage support will be disabled(%d).\n", err); -:192: WARNING:LONG_LINE: line over 100 characters #192: FILE: drivers/gpu/drm/i915/gem/i915_gem_shmem.c:592: + DRM_NOTE("Unable to create a private tmpfs mount, hugepage support will be disabled(%d).\n", err); total: 0 errors, 4 warnings, 1 checks, 375 lines checked a2c084b617a0 drm/i915: treat stolen as a region 7fb550b94b53 drm/i915: define HAS_MAPPABLE_APERTURE -:20: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'dev_priv' may be better as '(dev_priv)' to avoid precedence issues #20: FILE: drivers/gpu/drm/i915/i915_drv.h:2172: +#define HAS_MAPPABLE_APERTURE(dev_priv) (dev_priv->ggtt.mappable_end > 0) total: 0 errors, 0 warnings, 1 checks, 8 lines checked 6f3470dbe430 drm/i915: do not map aperture if it is not available. -:40: CHECK:SPACING: No space is necessary after a cast #40: FILE: drivers/gpu/drm/i915/i915_gem_gtt.c:3000: + (struct resource) DEFINE_RES_MEM(pci_resource_start(pdev, 2), total: 0 errors, 0 warnings, 1 checks, 55 lines checked e9dec3064027 drm/i915: set num_fence_regs to 0 if there is no aperture 2dae95da01cb drm/i915/selftests: check for missing aperture 2d04d6a50e01 drm/i915: error capture with no ggtt slot -:173: WARNING:LINE_SPACING: Missing a blank line after declarations #173: FILE: drivers/gpu/drm/i915/i915_gpu_error.c:1708: + const u64 slot = ggtt->error_capture.start; + ggtt->vm.clear_range(&ggtt->vm, slot, PAGE_SIZE); total: 0 errors, 1 warnings, 0 checks, 148 lines checked 559fa027bdcc drm/i915: Don't try to place HWS in non-existing mappable region 4ff7107a6666 drm/i915: check for missing aperture in insert_mappable_node -:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one total: 0 errors, 1 warnings, 0 checks, 9 lines checked a1c8f77dca7b drm/i915: Allow i915 to manage the vma offset nodes instead of drm core -:220: ERROR:CODE_INDENT: code indent should use tabs where possible #220: FILE: drivers/gpu/drm/i915/gem/i915_gem_mman.c:608: +^I mmo = container_of(node, struct i915_mmap_offset,$ -:374: ERROR:POINTER_LOCATION: "foo* bar" should be "foo *bar" #374: FILE: drivers/gpu/drm/i915/gem/i915_gem_object_types.h:71: + struct drm_i915_gem_object* obj; -:469: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #469: FILE: drivers/gpu/drm/i915/gt/intel_reset.c:654: + unmap_mapping_range(gt->i915->drm.anon_inode->i_mapping, drm_vma_node_offset_addr(node) + vma_offset, total: 2 errors, 0 warnings, 1 checks, 480 lines checked 5ce8923f1dc9 drm/i915: Introduce DRM_I915_GEM_MMAP_OFFSET -:124: WARNING:SPACE_BEFORE_TAB: please, no space before tabs #124: FILE: include/uapi/drm/i915_drm.h:362: +#define DRM_I915_GEM_MMAP_OFFSET ^IDRM_I915_GEM_MMAP_GTT$ -:132: WARNING:LONG_LINE: line over 100 characters #132: FILE: include/uapi/drm/i915_drm.h:425: +#define DRM_IOCTL_I915_GEM_MMAP_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_OFFSET, struct drm_i915_gem_mmap_offset) total: 0 errors, 2 warnings, 0 checks, 129 lines checked 5dee6ce33011 drm/i915/lmem: add helper to get CPU accessible offset f88e51d2a13d drm/i915: Add cpu and lmem fault handlers -:154: WARNING:LINE_SPACING: Missing a blank line after declarations #154: FILE: drivers/gpu/drm/i915/gem/i915_gem_mman.c:398: + struct page *page = i915_gem_object_get_page(obj, i); + vmf_ret = vmf_insert_pfn(area, total: 0 errors, 1 warnings, 0 checks, 312 lines checked a4deb0ce590e drm/i915: cpu-map based dumb buffers -:35: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #35: FILE: drivers/gpu/drm/i915/gem/i915_gem_mman.c:608: +i915_gem_mmap_dumb(struct drm_file *file, + struct drm_device *dev, -:100: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #100: FILE: drivers/gpu/drm/i915/i915_drv.h:2368: +int i915_gem_mmap_dumb(struct drm_file *file_priv, struct drm_device *dev, u32 handle, u64 *offset); total: 0 errors, 0 warnings, 2 checks, 65 lines checked db03d958880f drm/i915: support basic object migration -:33: CHECK:LINE_SPACING: Please don't use multiple blank lines #33: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:175: + -:36: WARNING:LEADING_SPACE: please, no spaces at the start of a line #36: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:178: + int err;$ -:38: WARNING:LEADING_SPACE: please, no spaces at the start of a line #38: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:180: + lockdep_assert_held(&obj->base.dev->struct_mutex);$ -:40: WARNING:LEADING_SPACE: please, no spaces at the start of a line #40: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:182: + if (obj->mm.madv != I915_MADV_WILLNEED)$ -:40: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (7, 15) #40: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:182: + if (obj->mm.madv != I915_MADV_WILLNEED) + return -EINVAL; -:41: ERROR:CODE_INDENT: code indent should use tabs where possible #41: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:183: + return -EINVAL;$ -:41: WARNING:LEADING_SPACE: please, no spaces at the start of a line #41: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:183: + return -EINVAL;$ -:43: WARNING:LEADING_SPACE: please, no spaces at the start of a line #43: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:185: + if (i915_gem_object_needs_bit17_swizzle(obj))$ -:43: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (7, 15) #43: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:185: + if (i915_gem_object_needs_bit17_swizzle(obj)) + return -EINVAL; -:44: ERROR:CODE_INDENT: code indent should use tabs where possible #44: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:186: + return -EINVAL;$ -:44: WARNING:LEADING_SPACE: please, no spaces at the start of a line #44: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:186: + return -EINVAL;$ -:46: WARNING:LEADING_SPACE: please, no spaces at the start of a line #46: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:188: + if (atomic_read(&obj->mm.pages_pin_count) >$ -:46: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (7, 15) #46: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:188: + if (atomic_read(&obj->mm.pages_pin_count) > [...] + return -EBUSY; -:47: ERROR:CODE_INDENT: code indent should use tabs where possible #47: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:189: + atomic_read(&obj->bind_count))$ -:47: WARNING:LEADING_SPACE: please, no spaces at the start of a line #47: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:189: + atomic_read(&obj->bind_count))$ -:48: ERROR:CODE_INDENT: code indent should use tabs where possible #48: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:190: + return -EBUSY;$ -:48: WARNING:LEADING_SPACE: please, no spaces at the start of a line #48: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:190: + return -EBUSY;$ -:50: WARNING:LEADING_SPACE: please, no spaces at the start of a line #50: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:192: + if (obj->pin_global)$ -:50: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (7, 15) #50: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:192: + if (obj->pin_global) + return -EBUSY; -:51: ERROR:CODE_INDENT: code indent should use tabs where possible #51: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:193: + return -EBUSY;$ -:51: WARNING:LEADING_SPACE: please, no spaces at the start of a line #51: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:193: + return -EBUSY;$ -:53: WARNING:LEADING_SPACE: please, no spaces at the start of a line #53: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:195: + i915_gem_object_release_mmap(obj);$ -:55: WARNING:LEADING_SPACE: please, no spaces at the start of a line #55: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:197: + GEM_BUG_ON(obj->mm.mapping);$ -:56: WARNING:LEADING_SPACE: please, no spaces at the start of a line #56: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:198: + GEM_BUG_ON(obj->base.filp && mapping_mapped(obj->base.filp->f_mapping));$ -:58: WARNING:LEADING_SPACE: please, no spaces at the start of a line #58: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:200: + err = i915_gem_object_wait(obj,$ -:59: ERROR:CODE_INDENT: code indent should use tabs where possible #59: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:201: + I915_WAIT_INTERRUPTIBLE |$ -:59: WARNING:LEADING_SPACE: please, no spaces at the start of a line #59: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:201: + I915_WAIT_INTERRUPTIBLE |$ -:60: ERROR:CODE_INDENT: code indent should use tabs where possible _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx