All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/gpu/drm/i915/gem/i915_gem_create.c:571:37: warning: 'prelim_create_extensions' defined but not used
@ 2022-05-09 22:39 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-05-09 22:39 UTC (permalink / raw)
  To: Matthew Auld; +Cc: kbuild-all, linux-kernel, Chris Wilson

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9be9ed2612b5aedb52a2c240edb1630b6b743cb6
commit: dcaccaf0e83a97750985bdb866649cc952b127cf drm/i915/gem: split gem_create into own file
date:   1 year, 4 months ago
config: i386-debian-10.3-kselftests (https://download.01.org/0day-ci/archive/20220510/202205100605.76EqlXtm-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dcaccaf0e83a97750985bdb866649cc952b127cf
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout dcaccaf0e83a97750985bdb866649cc952b127cf
        # save the config file
        make W=1 ARCH=i386 SHELL=/bin/bash tools/all

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

     524 | void __exit acpi_video_detect_exit(void)
         |             ^~~~~~~~~~~~~~~~~~~~~~
   kernel/latencytop.c:152: warning: Function parameter or member 'tsk' not described in '__account_scheduler_latency'
   kernel/latencytop.c:152: warning: Function parameter or member 'usecs' not described in '__account_scheduler_latency'
   kernel/latencytop.c:152: warning: Function parameter or member 'inter' not described in '__account_scheduler_latency'
   drivers/gpu/drm/i915/display/intel_display_debugfs.c:2404: warning: Function parameter or member 'intel_connector' not described in 'intel_connector_debugfs_add'
   drivers/gpu/drm/i915/display/intel_display_debugfs.c:2404: warning: Excess function parameter 'connector' description in 'intel_connector_debugfs_add'
   lib/argv_split.c:36: warning: Function parameter or member 'argv' not described in 'argv_free'
   lib/cpumask.c:114: warning: Function parameter or member 'node' not described in 'alloc_cpumask_var_node'
   lib/cpumask.c:239: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Returns an arbitrary cpu within srcp1 & srcp2.
   lib/decompress_inflate.c:42:17: warning: no previous prototype for '__gunzip' [-Wmissing-prototypes]
      42 | STATIC int INIT __gunzip(unsigned char *buf, long len,
         |                 ^~~~~~~~
   drivers/gpu/drm/i915/gt/intel_engine_cs.c:1489: warning: expecting prototype for intel_engines_init_common(). Prototype was for engine_init_common() instead
   drivers/gpu/drm/i915/gt/intel_engine_cs.c:1615: warning: expecting prototype for intel_engines_cleanup_common(). Prototype was for intel_engine_cleanup_common() instead
   lib/decompress_unzstd.c:331:17: warning: no previous prototype for 'unzstd' [-Wmissing-prototypes]
     331 | STATIC int INIT unzstd(unsigned char *buf, long len,
         |                 ^~~~~~
   lib/decompress_unxz.c:251:17: warning: no previous prototype for 'unxz' [-Wmissing-prototypes]
     251 | STATIC int INIT unxz(unsigned char *in, long in_size,
         |                 ^~~~
   drivers/watchdog/pretimeout_noop.c:19: warning: Function parameter or member 'wdd' not described in 'pretimeout_noop'
   lib/radix-tree.c:288:6: warning: no previous prototype for 'radix_tree_node_rcu_free' [-Wmissing-prototypes]
     288 | void radix_tree_node_rcu_free(struct rcu_head *head)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/watchdog/pretimeout_panic.c:19: warning: Function parameter or member 'wdd' not described in 'pretimeout_panic'
   drivers/watchdog/it87_wdt.c:222: warning: Function parameter or member 'wdd' not described in 'wdt_set_timeout'
   lib/vsprintf.c: In function 'va_format':
   lib/vsprintf.c:1694:9: warning: function 'va_format' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
    1694 |         buf += vsnprintf(buf, end > buf ? end - buf : 0, va_fmt->fmt, va);
         |         ^~~
   lib/win_minmax.c:31: warning: Function parameter or member 'm' not described in 'minmax_subwin_update'
   lib/win_minmax.c:31: warning: Function parameter or member 'win' not described in 'minmax_subwin_update'
   lib/win_minmax.c:31: warning: Function parameter or member 'val' not described in 'minmax_subwin_update'
   lib/win_minmax.c:31: warning: expecting prototype for lib/minmax.c(). Prototype was for minmax_subwin_update() instead
   fs/reiserfs/do_balan.c: In function 'balance_leaf_new_nodes_paste_whole':
   fs/reiserfs/do_balan.c:1147:13: warning: variable 'leaf_mi' set but not used [-Wunused-but-set-variable]
    1147 |         int leaf_mi;
         |             ^~~~~~~
   drivers/edac/i7300_edac.c:1199: warning: expecting prototype for i7300_init(). Prototype was for i7300_exit() instead
   fs/ext4/balloc.c:423: warning: Function parameter or member 'ignore_locked' not described in 'ext4_read_block_bitmap_nowait'
   lib/bitmap.c:498: warning: Function parameter or member 'buf' not described in 'bitmap_print_to_buf'
   lib/bitmap.c:498: warning: Function parameter or member 'maskp' not described in 'bitmap_print_to_buf'
   lib/bitmap.c:498: warning: Function parameter or member 'nmaskbits' not described in 'bitmap_print_to_buf'
   lib/bitmap.c:498: warning: Function parameter or member 'off' not described in 'bitmap_print_to_buf'
   lib/bitmap.c:498: warning: Function parameter or member 'count' not described in 'bitmap_print_to_buf'
   lib/bitmap.c:606: warning: Function parameter or member 'buf' not described in 'bitmap_print_list_to_buf'
   lib/bitmap.c:606: warning: Function parameter or member 'maskp' not described in 'bitmap_print_list_to_buf'
   lib/bitmap.c:606: warning: Function parameter or member 'nmaskbits' not described in 'bitmap_print_list_to_buf'
   lib/bitmap.c:606: warning: Function parameter or member 'off' not described in 'bitmap_print_list_to_buf'
   lib/bitmap.c:606: warning: Function parameter or member 'count' not described in 'bitmap_print_list_to_buf'
   fs/reiserfs/fix_node.c: In function 'dc_check_balance_leaf':
   fs/reiserfs/fix_node.c:1938:13: warning: variable 'maxsize' set but not used [-Wunused-but-set-variable]
    1938 |         int maxsize, ret;
         |             ^~~~~~~
   fs/reiserfs/fix_node.c:1935:13: warning: variable 'levbytes' set but not used [-Wunused-but-set-variable]
    1935 |         int levbytes;
         |             ^~~~~~~~
   fs/reiserfs/prints.c: In function 'prepare_error_buf':
   fs/reiserfs/prints.c:221:17: warning: function 'prepare_error_buf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
     221 |                 p += vscnprintf(p, end - p, fmt1, args);
         |                 ^
   fs/reiserfs/prints.c:260:9: warning: function 'prepare_error_buf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
     260 |         p += vscnprintf(p, end - p, fmt1, args);
         |         ^
   lib/scatterlist.c:286: warning: Function parameter or member 'first_chunk' not described in '__sg_alloc_table'
   lib/scatterlist.c:788: warning: Function parameter or member 'flags' not described in 'sg_miter_start'
   fs/reiserfs/lbalance.c: In function 'leaf_copy_items':
   fs/reiserfs/lbalance.c:524:29: warning: variable 'dest' set but not used [-Wunused-but-set-variable]
     524 |         struct buffer_head *dest;
         |                             ^~~~
   drivers/cpuidle/governors/ladder.c:54: warning: Function parameter or member 'dev' not described in 'ladder_do_selection'
   drivers/cpufreq/intel_pstate.c:263: warning: Function parameter or member 'epp_cached' not described in 'cpudata'
   fs/jbd2/journal.c:1294: warning: Function parameter or member 'shrink' not described in 'jbd2_journal_shrink_scan'
   fs/jbd2/journal.c:1294: warning: Function parameter or member 'sc' not described in 'jbd2_journal_shrink_scan'
   fs/jbd2/journal.c:1318: warning: Function parameter or member 'shrink' not described in 'jbd2_journal_shrink_count'
   fs/jbd2/journal.c:1318: warning: Function parameter or member 'sc' not described in 'jbd2_journal_shrink_count'
   drivers/cpuidle/sysfs.c:512: warning: expecting prototype for cpuidle_remove_driver_sysfs(). Prototype was for cpuidle_remove_state_sysfs() instead
   drivers/cpufreq/powernow-k6.c:141: warning: Function parameter or member 'policy' not described in 'powernow_k6_target'
   drivers/gpu/drm/i915/gt/intel_rps.c:2508: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Tells the intel_ips driver that the i915 driver is now loaded, if
   drivers/cpufreq/longhaul.c: In function 'do_powersaver':
   drivers/cpufreq/longhaul.c:165:13: warning: variable 't' set but not used [-Wunused-but-set-variable]
     165 |         u32 t;
         |             ^
   drivers/cpufreq/longrun.c:21: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * longrun_{low,high}_freq is needed for the conversion of cpufreq kHz
   drivers/cpufreq/longrun.c:126: warning: expecting prototype for longrun_verify_poliy(). Prototype was for longrun_verify_policy() instead
   drivers/cpufreq/gx-suspmod.c:143: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * we can detect a core multiplier from dir0_lsb
   drivers/cpufreq/gx-suspmod.c:203: warning: Function parameter or member 'cpu' not described in 'gx_get_cpuspeed'
   drivers/cpufreq/gx-suspmod.c:219: warning: Function parameter or member 'khz' not described in 'gx_validate_speed'
   drivers/cpufreq/gx-suspmod.c:219: warning: Function parameter or member 'on_duration' not described in 'gx_validate_speed'
   drivers/cpufreq/gx-suspmod.c:219: warning: Function parameter or member 'off_duration' not described in 'gx_validate_speed'
   drivers/cpufreq/gx-suspmod.c:251: warning: Function parameter or member 'policy' not described in 'gx_set_cpuspeed'
   drivers/cpufreq/gx-suspmod.c:251: warning: Function parameter or member 'khz' not described in 'gx_set_cpuspeed'
   drivers/cpufreq/longhaul.c:247: warning: Function parameter or member 'policy' not described in 'longhaul_setstate'
   drivers/cpufreq/longhaul.c:247: warning: Function parameter or member 'table_index' not described in 'longhaul_setstate'
   drivers/cpufreq/longhaul.c:247: warning: expecting prototype for longhaul_set_cpu_frequency(). Prototype was for longhaul_setstate() instead
>> drivers/gpu/drm/i915/gem/i915_gem_create.c:571:37: warning: 'prelim_create_extensions' defined but not used [-Wunused-const-variable=]
     571 | static const i915_user_extension_fn prelim_create_extensions[] = {
         |                                     ^~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/ioctl.c:31: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Swap memory between @a and @b for @len bytes.
   fs/ext4/ioctl.c:52: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Swap i_data and associated attributes between @inode1 and @inode2.
   fs/ext4/ioctl.c:106: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Swap the information from the given @inode and the inode
   drivers/gpu/drm/i915/gem/i915_gem_create.c:578: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Creates a new mm object and returns a handle to it.
   drivers/gpu/drm/i915/gem/i915_gem_create.c:769: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Creates a new mm object and returns a handle to it.
   fs/coda/file.c: In function 'coda_release':
   fs/coda/file.c:241:13: warning: variable 'err' set but not used [-Wunused-but-set-variable]
     241 |         int err;
         |             ^~~
   fs/coda/upcall.c: In function 'venus_setattr':
   fs/coda/upcall.c:115:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     115 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_close':
   fs/coda/upcall.c:164:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     164 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_rename':
   fs/coda/upcall.c:238:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     238 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_rmdir':
   fs/coda/upcall.c:306:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     306 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_remove':
   fs/coda/upcall.c:329:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     329 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_link':
   fs/coda/upcall.c:383:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     383 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_symlink':
   fs/coda/upcall.c:410:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     410 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_fsync':
   fs/coda/upcall.c:443:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     443 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_access':
   fs/coda/upcall.c:459:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     459 |         union outputArgs *outp;
         |                           ^~~~
   fs/coda/upcall.c: In function 'venus_access_intent':
   fs/coda/upcall.c:577:27: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
     577 |         union outputArgs *outp;
         |                           ^~~~
   drivers/gpu/drm/i915/gt/intel_workarounds.c:2027: warning: Function parameter or member 'wal' not described in 'wa_find_addr'
   drivers/gpu/drm/i915/gt/intel_workarounds.c:2027: warning: Function parameter or member 'test_addr' not described in 'wa_find_addr'
   drivers/gpu/drm/i915/gt/intel_workarounds.c:2095: warning: Function parameter or member 'uncore' not described in 'xehpsdv_wa_1607720814'
   drivers/gpu/drm/i915/gt/intel_workarounds.c:2095: warning: Function parameter or member 'wal' not described in 'xehpsdv_wa_1607720814'
   drivers/cpufreq/cpufreq-nforce2.c:135: warning: Function parameter or member 'bootfsb' not described in 'nforce2_fsb_read'
   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c:62: warning: Function parameter or member 'attrs' not described in 'dmabuf_map_addr'
   drivers/gpu/drm/i915/gem/i915_gem_domain.c:96: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Moves a single object to the WC read, and possibly write domain.
   drivers/gpu/drm/i915/gem/i915_gem_domain.c:157: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Moves a single object to the GTT read, and possibly write domain.
   drivers/gpu/drm/i915/gem/i915_gem_domain.c:244: warning: expecting prototype for Changes the cache(). Prototype was for i915_gem_object_set_cache_level() instead
   drivers/gpu/drm/i915/gem/i915_gem_domain.c:462: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Moves a single object to the CPU read, and possibly write domain.
   drivers/gpu/drm/i915/gem/i915_gem_domain.c:506: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Called when user space prepares to use an object with the CPU, either
   fs/fat/dir.c:282: warning: Function parameter or member 'dir' not described in 'fat_parse_long'
   fs/fat/dir.c:282: warning: Function parameter or member 'pos' not described in 'fat_parse_long'
   fs/fat/dir.c:282: warning: Function parameter or member 'bh' not described in 'fat_parse_long'
   fs/fat/dir.c:282: warning: Function parameter or member 'de' not described in 'fat_parse_long'
   fs/fat/dir.c:282: warning: Function parameter or member 'unicode' not described in 'fat_parse_long'
   fs/fat/dir.c:282: warning: Function parameter or member 'nr_slots' not described in 'fat_parse_long'
   lib/errname.c:16:67: warning: initialized field overwritten [-Woverride-init]
      16 | #define E(err) [err + BUILD_BUG_ON_ZERO(err <= 0 || err > 300)] = "-" #err
         |                                                                   ^~~
   lib/errname.c:173:9: note: in expansion of macro 'E'
     173 |         E(EDEADLK), /* EDEADLOCK */
         |         ^
   lib/errname.c:16:67: note: (near initialization for 'names_0[35]')
      16 | #define E(err) [err + BUILD_BUG_ON_ZERO(err <= 0 || err > 300)] = "-" #err
         |                                                                   ^~~
   lib/errname.c:173:9: note: in expansion of macro 'E'
     173 |         E(EDEADLK), /* EDEADLOCK */
         |         ^
   drivers/gpu/drm/i915/gem/i915_gem_object.c:129: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Mark up the object's coherency levels for a given cache_level
   drivers/gpu/drm/i915/gem/i915_gem_object.c:1073: warning: Function parameter or member 'ww' not described in 'i915_gem_object_migrate_to_smem'
   drivers/firmware/efi/efi.c:166:16: warning: no previous prototype for 'efi_attr_is_visible' [-Wmissing-prototypes]
     166 | umode_t __weak efi_attr_is_visible(struct kobject *kobj, struct attribute *attr,
         |                ^~~~~~~~~~~~~~~~~~~
   lib/nlattr.c:648: warning: Function parameter or member 'p' not described in 'nla_policy_len'
   lib/nlattr.c:648: warning: Excess function parameter 'policy' description in 'nla_policy_len'
   fs/hfsplus/inode.c: In function 'hfsplus_cat_read_inode':
   fs/hfsplus/inode.c:513:37: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
     513 |                         /* panic? */;


vim +/prelim_create_extensions +571 drivers/gpu/drm/i915/gem/i915_gem_create.c

dcaccaf0e83a97 Matthew Auld 2021-01-14    1  // SPDX-License-Identifier: MIT
dcaccaf0e83a97 Matthew Auld 2021-01-14    2  /*
dcaccaf0e83a97 Matthew Auld 2021-01-14    3   * Copyright © 2020 Intel Corporation
dcaccaf0e83a97 Matthew Auld 2021-01-14    4   */
dcaccaf0e83a97 Matthew Auld 2021-01-14    5  
dcaccaf0e83a97 Matthew Auld 2021-01-14    6  #include "gem/i915_gem_ioctls.h"
dcaccaf0e83a97 Matthew Auld 2021-01-14    7  #include "gem/i915_gem_region.h"
dcaccaf0e83a97 Matthew Auld 2021-01-14    8  
dcaccaf0e83a97 Matthew Auld 2021-01-14    9  #include "i915_drv.h"
dcaccaf0e83a97 Matthew Auld 2021-01-14   10  
dcaccaf0e83a97 Matthew Auld 2021-01-14   11  static int
dcaccaf0e83a97 Matthew Auld 2021-01-14   12  i915_gem_create(struct drm_file *file,
dcaccaf0e83a97 Matthew Auld 2021-01-14   13  		struct intel_memory_region *mr,
dcaccaf0e83a97 Matthew Auld 2021-01-14   14  		u64 *size_p,
dcaccaf0e83a97 Matthew Auld 2021-01-14   15  		u32 *handle_p)
dcaccaf0e83a97 Matthew Auld 2021-01-14   16  {
dcaccaf0e83a97 Matthew Auld 2021-01-14   17  	struct drm_i915_gem_object *obj;
dcaccaf0e83a97 Matthew Auld 2021-01-14   18  	u32 handle;
dcaccaf0e83a97 Matthew Auld 2021-01-14   19  	u64 size;
dcaccaf0e83a97 Matthew Auld 2021-01-14   20  	int ret;
dcaccaf0e83a97 Matthew Auld 2021-01-14   21  
dcaccaf0e83a97 Matthew Auld 2021-01-14   22  	GEM_BUG_ON(!is_power_of_2(mr->min_page_size));
dcaccaf0e83a97 Matthew Auld 2021-01-14   23  	size = round_up(*size_p, mr->min_page_size);
dcaccaf0e83a97 Matthew Auld 2021-01-14   24  	if (size == 0)
dcaccaf0e83a97 Matthew Auld 2021-01-14   25  		return -EINVAL;
dcaccaf0e83a97 Matthew Auld 2021-01-14   26  
dcaccaf0e83a97 Matthew Auld 2021-01-14   27  	/* For most of the ABI (e.g. mmap) we think in system pages */
dcaccaf0e83a97 Matthew Auld 2021-01-14   28  	GEM_BUG_ON(!IS_ALIGNED(size, PAGE_SIZE));
dcaccaf0e83a97 Matthew Auld 2021-01-14   29  
dcaccaf0e83a97 Matthew Auld 2021-01-14   30  	/* Allocate the new object */
dcaccaf0e83a97 Matthew Auld 2021-01-14   31  	obj = i915_gem_object_create_region(mr, size, 0);
dcaccaf0e83a97 Matthew Auld 2021-01-14   32  	if (IS_ERR(obj))
dcaccaf0e83a97 Matthew Auld 2021-01-14   33  		return PTR_ERR(obj);
dcaccaf0e83a97 Matthew Auld 2021-01-14   34  
dcaccaf0e83a97 Matthew Auld 2021-01-14   35  	ret = drm_gem_handle_create(file, &obj->base, &handle);
dcaccaf0e83a97 Matthew Auld 2021-01-14   36  	/* drop reference from allocate - handle holds it now */
dcaccaf0e83a97 Matthew Auld 2021-01-14   37  	i915_gem_object_put(obj);
dcaccaf0e83a97 Matthew Auld 2021-01-14   38  	if (ret)
dcaccaf0e83a97 Matthew Auld 2021-01-14   39  		return ret;
dcaccaf0e83a97 Matthew Auld 2021-01-14   40  
dcaccaf0e83a97 Matthew Auld 2021-01-14   41  	*handle_p = handle;
dcaccaf0e83a97 Matthew Auld 2021-01-14   42  	*size_p = size;
dcaccaf0e83a97 Matthew Auld 2021-01-14   43  	return 0;
dcaccaf0e83a97 Matthew Auld 2021-01-14   44  }
dcaccaf0e83a97 Matthew Auld 2021-01-14   45  
dcaccaf0e83a97 Matthew Auld 2021-01-14   46  int
dcaccaf0e83a97 Matthew Auld 2021-01-14   47  i915_gem_dumb_create(struct drm_file *file,
dcaccaf0e83a97 Matthew Auld 2021-01-14   48  		     struct drm_device *dev,
dcaccaf0e83a97 Matthew Auld 2021-01-14   49  		     struct drm_mode_create_dumb *args)
dcaccaf0e83a97 Matthew Auld 2021-01-14   50  {
dcaccaf0e83a97 Matthew Auld 2021-01-14   51  	enum intel_memory_type mem_type;
dcaccaf0e83a97 Matthew Auld 2021-01-14   52  	int cpp = DIV_ROUND_UP(args->bpp, 8);
dcaccaf0e83a97 Matthew Auld 2021-01-14   53  	u32 format;
dcaccaf0e83a97 Matthew Auld 2021-01-14   54  
dcaccaf0e83a97 Matthew Auld 2021-01-14   55  	switch (cpp) {
dcaccaf0e83a97 Matthew Auld 2021-01-14   56  	case 1:
dcaccaf0e83a97 Matthew Auld 2021-01-14   57  		format = DRM_FORMAT_C8;
dcaccaf0e83a97 Matthew Auld 2021-01-14   58  		break;
dcaccaf0e83a97 Matthew Auld 2021-01-14   59  	case 2:
dcaccaf0e83a97 Matthew Auld 2021-01-14   60  		format = DRM_FORMAT_RGB565;
dcaccaf0e83a97 Matthew Auld 2021-01-14   61  		break;
dcaccaf0e83a97 Matthew Auld 2021-01-14   62  	case 4:
dcaccaf0e83a97 Matthew Auld 2021-01-14   63  		format = DRM_FORMAT_XRGB8888;
dcaccaf0e83a97 Matthew Auld 2021-01-14   64  		break;
dcaccaf0e83a97 Matthew Auld 2021-01-14   65  	default:
dcaccaf0e83a97 Matthew Auld 2021-01-14   66  		return -EINVAL;
dcaccaf0e83a97 Matthew Auld 2021-01-14   67  	}
dcaccaf0e83a97 Matthew Auld 2021-01-14   68  
dcaccaf0e83a97 Matthew Auld 2021-01-14   69  	/* have to work out size/pitch and return them */
dcaccaf0e83a97 Matthew Auld 2021-01-14   70  	args->pitch = ALIGN(args->width * cpp, 64);
dcaccaf0e83a97 Matthew Auld 2021-01-14   71  
dcaccaf0e83a97 Matthew Auld 2021-01-14   72  	/* align stride to page size so that we can remap */
dcaccaf0e83a97 Matthew Auld 2021-01-14   73  	if (args->pitch > intel_plane_fb_max_stride(to_i915(dev), format,
dcaccaf0e83a97 Matthew Auld 2021-01-14   74  						    DRM_FORMAT_MOD_LINEAR))
dcaccaf0e83a97 Matthew Auld 2021-01-14   75  		args->pitch = ALIGN(args->pitch, 4096);
dcaccaf0e83a97 Matthew Auld 2021-01-14   76  
dcaccaf0e83a97 Matthew Auld 2021-01-14   77  	if (args->pitch < args->width)
dcaccaf0e83a97 Matthew Auld 2021-01-14   78  		return -EINVAL;
dcaccaf0e83a97 Matthew Auld 2021-01-14   79  
dcaccaf0e83a97 Matthew Auld 2021-01-14   80  	args->size = mul_u32_u32(args->pitch, args->height);
dcaccaf0e83a97 Matthew Auld 2021-01-14   81  
dcaccaf0e83a97 Matthew Auld 2021-01-14   82  	mem_type = INTEL_MEMORY_SYSTEM;
dcaccaf0e83a97 Matthew Auld 2021-01-14   83  	if (HAS_LMEM(to_i915(dev)))
dcaccaf0e83a97 Matthew Auld 2021-01-14   84  		mem_type = INTEL_MEMORY_LOCAL;
dcaccaf0e83a97 Matthew Auld 2021-01-14   85  
dcaccaf0e83a97 Matthew Auld 2021-01-14   86  	return i915_gem_create(file,
dcaccaf0e83a97 Matthew Auld 2021-01-14   87  			       intel_memory_region_by_type(to_i915(dev),
dcaccaf0e83a97 Matthew Auld 2021-01-14   88  							   mem_type),
dcaccaf0e83a97 Matthew Auld 2021-01-14   89  			       &args->size, &args->handle);
dcaccaf0e83a97 Matthew Auld 2021-01-14   90  }
dcaccaf0e83a97 Matthew Auld 2021-01-14   91  
dcaccaf0e83a97 Matthew Auld 2021-01-14   92  /**
dcaccaf0e83a97 Matthew Auld 2021-01-14   93   * Creates a new mm object and returns a handle to it.
dcaccaf0e83a97 Matthew Auld 2021-01-14   94   * @dev: drm device pointer
dcaccaf0e83a97 Matthew Auld 2021-01-14   95   * @data: ioctl data blob
dcaccaf0e83a97 Matthew Auld 2021-01-14   96   * @file: drm file pointer
dcaccaf0e83a97 Matthew Auld 2021-01-14   97   */
dcaccaf0e83a97 Matthew Auld 2021-01-14   98  int
dcaccaf0e83a97 Matthew Auld 2021-01-14   99  i915_gem_create_ioctl(struct drm_device *dev, void *data,
dcaccaf0e83a97 Matthew Auld 2021-01-14  100  		      struct drm_file *file)
dcaccaf0e83a97 Matthew Auld 2021-01-14  101  {
dcaccaf0e83a97 Matthew Auld 2021-01-14  102  	struct drm_i915_private *i915 = to_i915(dev);
dcaccaf0e83a97 Matthew Auld 2021-01-14  103  	struct drm_i915_gem_create *args = data;
dcaccaf0e83a97 Matthew Auld 2021-01-14  104  
dcaccaf0e83a97 Matthew Auld 2021-01-14  105  	i915_gem_flush_free_objects(i915);
dcaccaf0e83a97 Matthew Auld 2021-01-14  106  
dcaccaf0e83a97 Matthew Auld 2021-01-14  107  	return i915_gem_create(file,
dcaccaf0e83a97 Matthew Auld 2021-01-14  108  			       intel_memory_region_by_type(i915,
dcaccaf0e83a97 Matthew Auld 2021-01-14  109  							   INTEL_MEMORY_SYSTEM),
dcaccaf0e83a97 Matthew Auld 2021-01-14  110  			       &args->size, &args->handle);
dcaccaf0e83a97 Matthew Auld 2021-01-14  111  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-05-09 22:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-09 22:39 drivers/gpu/drm/i915/gem/i915_gem_create.c:571:37: warning: 'prelim_create_extensions' defined but not used kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.