Re: [PATCH v8 01/17] drm/dp_mst: Add PBN calculation for DSC modes
Hi, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on next-20191203] [cannot apply to drm-intel/for-linux-next linus/master v5.4-rc8 drm-exynos/exynos-drm-next v5.4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/mikita-lipski-amd-com/DSC-MST-support-for-DRM-and-AMDGPU/20191204-020604 base:1ab75b2e415a29dba9aec94f203c6f88dbfc0ba0 reproduce: # apt-get install sparse # sparse version: v0.6.1-91-g817270f-dirty make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag Reported-by: kbuild test robot sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:28:43: sparse: sparse: >> not enough arguments for function drm_dp_calc_pbn_mode vim +28 drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c 7cbce45d624322 Lyude Paul 2019-09-03 13 7cbce45d624322 Lyude Paul 2019-09-03 14 int igt_dp_mst_calc_pbn_mode(void *ignored) 7cbce45d624322 Lyude Paul 2019-09-03 15 { 7cbce45d624322 Lyude Paul 2019-09-03 16int pbn, i; 7cbce45d624322 Lyude Paul 2019-09-03 17const struct { 7cbce45d624322 Lyude Paul 2019-09-03 18int rate; 7cbce45d624322 Lyude Paul 2019-09-03 19int bpp; 7cbce45d624322 Lyude Paul 2019-09-03 20int expected; 7cbce45d624322 Lyude Paul 2019-09-03 21} test_params[] = { 7cbce45d624322 Lyude Paul 2019-09-03 22{ 154000, 30, 689 }, 7cbce45d624322 Lyude Paul 2019-09-03 23{ 234000, 30, 1047 }, 7cbce45d624322 Lyude Paul 2019-09-03 24{ 297000, 24, 1063 }, 7cbce45d624322 Lyude Paul 2019-09-03 25}; 7cbce45d624322 Lyude Paul 2019-09-03 26 7cbce45d624322 Lyude Paul 2019-09-03 27for (i = 0; i < ARRAY_SIZE(test_params); i++) { 7cbce45d624322 Lyude Paul 2019-09-03 @28pbn = drm_dp_calc_pbn_mode(test_params[i].rate, 7cbce45d624322 Lyude Paul 2019-09-03 29 test_params[i].bpp); 7cbce45d624322 Lyude Paul 2019-09-03 30FAIL(pbn != test_params[i].expected, 7cbce45d624322 Lyude Paul 2019-09-03 31 "Expected PBN %d for clock %d bpp %d, got %d\n", 7cbce45d624322 Lyude Paul 2019-09-03 32 test_params[i].expected, test_params[i].rate, 7cbce45d624322 Lyude Paul 2019-09-03 33 test_params[i].bpp, pbn); 7cbce45d624322 Lyude Paul 2019-09-03 34} 7cbce45d624322 Lyude Paul 2019-09-03 35 7cbce45d624322 Lyude Paul 2019-09-03 36return 0; 7cbce45d624322 Lyude Paul 2019-09-03 37 } 2f015ec6eab693 Lyude Paul 2019-09-03 38 :: The code at line 28 was first introduced by commit :: 7cbce45d6243225914b5c967b4ee927a2327842a drm/dp_mst: Move test_calc_pbn_mode() into an actual selftest :: TO: Lyude Paul :: CC: Lyude Paul --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH v8 16/17] drm/dp_mst: Add helper to trigger modeset on affected DSC MST CRTCs
Hi, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on next-20191203] [cannot apply to drm-intel/for-linux-next linus/master v5.4-rc8 v5.4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/mikita-lipski-amd-com/DSC-MST-support-for-DRM-and-AMDGPU/20191204-020604 base:1ab75b2e415a29dba9aec94f203c6f88dbfc0ba0 reproduce: make htmldocs If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): fs/posix_acl.c:647: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:647: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' include/linux/regulator/machine.h:196: warning: Function parameter or member 'max_uV_step' not described in 'regulation_constraints' include/linux/regulator/driver.h:223: warning: Function parameter or member 'resume' not described in 'regulator_ops' sound/soc/soc-core.c:2509: warning: Function parameter or member 'legacy_dai_naming' not described in 'snd_soc_register_dai' include/linux/skbuff.h:888: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'skb_mstamp_ns' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_vlan_present_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'vlan_present' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:232: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member
Re: [PATCH v8 11/17] drm/dp_mst: Add DSC enablement helpers to DRM
Hi, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on next-20191203] [cannot apply to drm-intel/for-linux-next linus/master v5.4-rc8 v5.4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/mikita-lipski-amd-com/DSC-MST-support-for-DRM-and-AMDGPU/20191204-020604 base:1ab75b2e415a29dba9aec94f203c6f88dbfc0ba0 reproduce: make htmldocs If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not found fs/posix_acl.c:647: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:647: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:647: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' include/linux/regulator/machine.h:196: warning: Function parameter or member 'max_uV_step' not described in 'regulation_constraints' include/linux/regulator/driver.h:223: warning: Function parameter or member 'resume' not described in 'regulator_ops' sound/soc/soc-core.c:2509: warning: Function parameter or member 'legacy_dai_naming' not described in 'snd_soc_register_dai' include/linux/skbuff.h:888: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'skb_mstamp_ns' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_vlan_present_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'vlan_present' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:232: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_v6_rcv_saddr' not described i
Re: [PATCH v8 02/17] drm/dp_mst: Parse FEC capability on MST ports
Hi, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on next-20191203] [cannot apply to drm-intel/for-linux-next linus/master v5.4-rc8 v5.4] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/mikita-lipski-amd-com/DSC-MST-support-for-DRM-and-AMDGPU/20191204-020604 base:1ab75b2e415a29dba9aec94f203c6f88dbfc0ba0 reproduce: make htmldocs If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): drivers/usb/typec/bus.c:1: warning: 'typec_altmode_unregister_driver' not found drivers/usb/typec/bus.c:1: warning: 'typec_altmode_register_driver' not found drivers/usb/typec/class.c:1: warning: 'typec_altmode_register_notifier' not found drivers/usb/typec/class.c:1: warning: 'typec_altmode_unregister_notifier' not found fs/posix_acl.c:647: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:647: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:647: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' sound/soc/soc-core.c:2509: warning: Function parameter or member 'legacy_dai_naming' not described in 'snd_soc_register_dai' include/linux/regulator/machine.h:196: warning: Function parameter or member 'max_uV_step' not described in 'regulation_constraints' include/linux/regulator/driver.h:223: warning: Function parameter or member 'resume' not described in 'regulator_ops' include/linux/skbuff.h:888: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'skb_mstamp_ns' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member '__pkt_vlan_present_offset' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'vlan_present' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:888: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:232: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:232: warning: Function parameter or member 'skc_net_refcnt'
Re: [PATCH] Cleanup: replace prefered with preferred
Hi Mark, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.4-rc4 next-20191024] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Mark-Salyzyn/Cleanup-replace-prefered-with-preferred/20191024-084105 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 13b86bc4cd648eae69fdcf3d04b2750c76350053 config: x86_64-randconfig-a004-201942 (attached as .config) compiler: gcc-4.9 (Debian 4.9.2-10+deb8u1) 4.9.2 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from include/linux/sysctl.h:30:0, from include/linux/key.h:17, from include/linux/cred.h:13, from include/linux/seq_file.h:12, from include/linux/cgroup.h:18, from include/linux/memcontrol.h:13, from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/x86/kernel/asm-offsets.c:13: >> include/uapi/linux/sysctl.h:561:29: error: expected ',' or '}' before >> '__attribute__' NET_IPV6_TEMP_PREFERED_LFT __attribute__((deprecated)) = /* NOTYPO */ ^ make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 29 real 5 user 4 sys 35.37% cpu make prepare vim +561 include/uapi/linux/sysctl.h 546 547 enum { 548 NET_IPV6_FORWARDING=1, 549 NET_IPV6_HOP_LIMIT=2, 550 NET_IPV6_MTU=3, 551 NET_IPV6_ACCEPT_RA=4, 552 NET_IPV6_ACCEPT_REDIRECTS=5, 553 NET_IPV6_AUTOCONF=6, 554 NET_IPV6_DAD_TRANSMITS=7, 555 NET_IPV6_RTR_SOLICITS=8, 556 NET_IPV6_RTR_SOLICIT_INTERVAL=9, 557 NET_IPV6_RTR_SOLICIT_DELAY=10, 558 NET_IPV6_USE_TEMPADDR=11, 559 NET_IPV6_TEMP_VALID_LFT=12, 560 NET_IPV6_TEMP_PREFERRED_LFT = 13, > 561 NET_IPV6_TEMP_PREFERED_LFT __attribute__((deprecated)) = /* > NOTYPO */ 562 NET_IPV6_TEMP_PREFERRED_LFT, 563 NET_IPV6_REGEN_MAX_RETRY=14, 564 NET_IPV6_MAX_DESYNC_FACTOR=15, 565 NET_IPV6_MAX_ADDRESSES=16, 566 NET_IPV6_FORCE_MLD_VERSION=17, 567 NET_IPV6_ACCEPT_RA_DEFRTR=18, 568 NET_IPV6_ACCEPT_RA_PINFO=19, 569 NET_IPV6_ACCEPT_RA_RTR_PREF=20, 570 NET_IPV6_RTR_PROBE_INTERVAL=21, 571 NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, 572 NET_IPV6_PROXY_NDP=23, 573 NET_IPV6_ACCEPT_SOURCE_ROUTE=25, 574 NET_IPV6_ACCEPT_RA_FROM_LOCAL=26, 575 NET_IPV6_ACCEPT_RA_RT_INFO_MIN_PLEN=27, 576 __NET_IPV6_MAX 577 }; 578 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 1/9] dma-buf: add new dma_fence_chain container v6
Hi Chunming, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.1-rc1 next-20190320] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chunming-Zhou/dma-buf-add-new-dma_fence_chain-container-v6/20190320-223607 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' sparse warnings: (new ones prefixed by >>) >> drivers/dma-buf/dma-fence-chain.c:73:23: sparse: incorrect type in >> initializer (different address spaces) @@expected struct dma_fence >> [noderef] *__old @@got dma_fence [noderef] *__old @@ drivers/dma-buf/dma-fence-chain.c:73:23:expected struct dma_fence [noderef] *__old drivers/dma-buf/dma-fence-chain.c:73:23:got struct dma_fence *[assigned] prev >> drivers/dma-buf/dma-fence-chain.c:73:23: sparse: incorrect type in >> initializer (different address spaces) @@expected struct dma_fence >> [noderef] *__new @@got dma_fence [noderef] *__new @@ drivers/dma-buf/dma-fence-chain.c:73:23:expected struct dma_fence [noderef] *__new drivers/dma-buf/dma-fence-chain.c:73:23:got struct dma_fence *[assigned] replacement >> drivers/dma-buf/dma-fence-chain.c:73:21: sparse: incorrect type in >> assignment (different address spaces) @@expected struct dma_fence *tmp >> @@got struct dma_fence [noderef] *[assigned] __ret >> drivers/dma-buf/dma-fence-chain.c:190:28: sparse: incorrect type in argument >> 1 (different address spaces) @@expected struct dma_fence *fence @@ >> got struct dma_fence struct dma_fence *fence @@ drivers/dma-buf/dma-fence-chain.c:190:28:expected struct dma_fence *fence drivers/dma-buf/dma-fence-chain.c:190:28:got struct dma_fence [noderef] *prev >> drivers/dma-buf/dma-fence-chain.c:222:21: sparse: incorrect type in >> assignment (different address spaces) @@expected struct dma_fence >> [noderef] *prev @@got [noderef] *prev @@ drivers/dma-buf/dma-fence-chain.c:222:21:expected struct dma_fence [noderef] *prev drivers/dma-buf/dma-fence-chain.c:222:21:got struct dma_fence *prev drivers/dma-buf/dma-fence-chain.c:235:33: sparse: expression using sizeof(void) drivers/dma-buf/dma-fence-chain.c:235:33: sparse: expression using sizeof(void) vim +73 drivers/dma-buf/dma-fence-chain.c 38 39 /** 40 * dma_fence_chain_walk - chain walking function 41 * @fence: current chain node 42 * 43 * Walk the chain to the next node. Returns the next fence or NULL if we are at 44 * the end of the chain. Garbage collects chain nodes which are already 45 * signaled. 46 */ 47 struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence) 48 { 49 struct dma_fence_chain *chain, *prev_chain; 50 struct dma_fence *prev, *replacement, *tmp; 51 52 chain = to_dma_fence_chain(fence); 53 if (!chain) { 54 dma_fence_put(fence); 55 return NULL; 56 } 57 58 while ((prev = dma_fence_chain_get_prev(chain))) { 59 60 prev_chain = to_dma_fence_chain(prev); 61 if (prev_chain) { 62 if (!dma_fence_is_signaled(prev_chain->fence)) 63 break; 64 65 replacement = dma_fence_chain_get_prev(prev_chain); 66 } else { 67 if (!dma_fence_is_signaled(prev)) 68 break; 69 70 replacement = NULL; 71 } 72 > 73 tmp = cmpxchg(&chain->prev, prev, replacement); 74 if (tmp == prev) 75 dma_fence_put(tmp); 76 else 77 dma_fence_put(replacement); 78 dma_fence_put(prev); 79 } 80 81 dma_fence_put(fence); 82 return prev; 83 } 84 EXPORT_SYMBOL(dma_fence_chain_walk); 85 86 /** 87 * dma_fence_chain_find_seqno - find fence chain node by seqno 88 * @pfence: pointer to the chain node where to start 89 * @seqno: the sequence number to search for 90 * 91 * Advance the fence pointer to the chain node which will signal this sequence 92 * number. If no sequence number is provided then this is a no-op. 93 * 94 * Returns EINVAL if the fence is not a chain node or the sequence number has 95 * not yet advanced far enough. 96 */ 97 int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno) 98 { 99 struct dma_fence_chain *chain;
Re: [PATCH 5/9] drm/syncobj: use the timeline point in drm_syncobj_find_fence v3
Hi Chunming, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on next-20190306] [cannot apply to v5.0] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chunming-Zhou/dma-buf-add-new-dma_fence_chain-container-v5/20190316-055452 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/drm_syncobj.c:239:42: sparse: constant 50 is so big >> it is long include/linux/slab.h:664:13: sparse: undefined identifier '__builtin_mul_overflow' include/linux/slab.h:664:13: sparse: not a function include/linux/slab.h:664:13: sparse: not a function include/linux/slab.h:664:13: sparse: not a function include/linux/slab.h:664:13: sparse: call with no type! vim +239 drivers/gpu/drm/drm_syncobj.c 215 216 /* 5s */ 217 #define DRM_SYNCOBJ_WAIT_FOR_SUBMIT_TIMEOUT 50 218 /** 219 * drm_syncobj_find_fence - lookup and reference the fence in a sync object 220 * @file_private: drm file private pointer 221 * @handle: sync object handle to lookup. 222 * @point: timeline point 223 * @flags: DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT or not 224 * @fence: out parameter for the fence 225 * 226 * This is just a convenience function that combines drm_syncobj_find() and 227 * drm_syncobj_fence_get(). 228 * 229 * Returns 0 on success or a negative error value on failure. On success @fence 230 * contains a reference to the fence, which must be released by calling 231 * dma_fence_put(). 232 */ 233 int drm_syncobj_find_fence(struct drm_file *file_private, 234 u32 handle, u64 point, u64 flags, 235 struct dma_fence **fence) 236 { 237 struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle); 238 struct syncobj_wait_entry wait; > 239 u64 timeout = > nsecs_to_jiffies64(DRM_SYNCOBJ_WAIT_FOR_SUBMIT_TIMEOUT); 240 int ret; 241 242 if (!syncobj) 243 return -ENOENT; 244 245 *fence = drm_syncobj_fence_get(syncobj); 246 drm_syncobj_put(syncobj); 247 248 if (*fence) { 249 ret = dma_fence_chain_find_seqno(fence, point); 250 if (!ret) 251 return 0; 252 dma_fence_put(*fence); 253 } else { 254 ret = -EINVAL; 255 } 256 257 if (!(flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT)) 258 return ret; 259 260 memset(&wait, 0, sizeof(wait)); 261 wait.task = current; 262 wait.point = point; 263 drm_syncobj_fence_add_wait(syncobj, &wait); 264 265 do { 266 set_current_state(TASK_INTERRUPTIBLE); 267 if (wait.fence) { 268 ret = 0; 269 break; 270 } 271 if (timeout == 0) { 272 ret = -ETIME; 273 break; 274 } 275 276 if (signal_pending(current)) { 277 ret = -ERESTARTSYS; 278 break; 279 } 280 281 timeout = schedule_timeout(timeout); 282 } while (1); 283 284 __set_current_state(TASK_RUNNING); 285 *fence = wait.fence; 286 287 if (wait.node.next) 288 drm_syncobj_remove_wait(syncobj, &wait); 289 290 return ret; 291 } 292 EXPORT_SYMBOL(drm_syncobj_find_fence); 293 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 1/9] dma-buf: add new dma_fence_chain container v5
Hi Christian, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.0 next-20190306] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Chunming-Zhou/dma-buf-add-new-dma_fence_chain-container-v5/20190313-080623 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' All warnings (new ones prefixed by >>): >> drivers/dma-buf/dma-fence-chain.c:34:40: sparse: warning: incorrect type in >> argument 1 (different address spaces) drivers/dma-buf/dma-fence-chain.c:34:40: sparse:expected struct dma_fence [noderef] **fencep drivers/dma-buf/dma-fence-chain.c:34:40: sparse:got struct dma_fence ** sparse warnings: (new ones prefixed by >>) drivers/dma-buf/dma-fence-chain.c:34:40: sparse: warning: incorrect type in argument 1 (different address spaces) >> drivers/dma-buf/dma-fence-chain.c:34:40: sparse:expected struct >> dma_fence [noderef] **fencep >> drivers/dma-buf/dma-fence-chain.c:34:40: sparse:got struct dma_fence ** vim +34 drivers/dma-buf/dma-fence-chain.c 21 22 /** 23 * dma_fence_chain_get_prev - use RCU to get a reference to the previous fence 24 * @chain: chain node to get the previous node from 25 * 26 * Use dma_fence_get_rcu_safe to get a reference to the previous fence of the 27 * chain node. 28 */ 29 static struct dma_fence *dma_fence_chain_get_prev(struct dma_fence_chain *chain) 30 { 31 struct dma_fence *prev; 32 33 rcu_read_lock(); > 34 prev = dma_fence_get_rcu_safe(&chain->prev); 35 rcu_read_unlock(); 36 return prev; 37 } 38 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] drm/amdgpu: fix typing in amdgpu_virt_ops::trans_msg
Hi Luc, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.0 next-20190304] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Luc-Van-Oostenryck/drm-amdgpu-fix-typing-in-amdgpu_virt_ops-trans_msg/20190305-001104 config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 8.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.2.0 make.cross ARCH=ia64 All error/warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/amd/amdgpu/amdgpu.h:77, from drivers/gpu/drm/amd/amdgpu/../powerplay/inc/amd_powerplay.h:33, from drivers/gpu/drm/amd/amdgpu/../powerplay/inc/hwmgr.h:27, from drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/vega12_thermal.h:27, from drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/vega12_thermal.c:24: >> drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h:59:53: warning: 'enum idh_request' >> declared inside parameter list will not be visible outside of this >> definition or declaration void (*trans_msg)(struct amdgpu_device *adev, enum idh_request req, u32 data1, u32 data2, u32 data3); ^~~ -- In file included from drivers/gpu/drm/amd/amdgpu/amdgpu.h:77, from drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.c:24: >> drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h:59:53: warning: 'enum idh_request' >> declared inside parameter list will not be visible outside of this >> definition or declaration void (*trans_msg)(struct amdgpu_device *adev, enum idh_request req, u32 data1, u32 data2, u32 data3); ^~~ drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.c: In function 'amdgpu_vf_error_trans_all': >> drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.c:82:35: error: type of formal >> parameter 2 is incomplete adev->virt.ops->trans_msg(adev, IDH_LOG_VF_ERROR, data1, data2, data3); ^~~~ -- In file included from drivers/gpu/drm/amd/amdgpu/amdgpu.h:77, from drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c:24: >> drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h:59:53: warning: 'enum idh_request' >> declared inside parameter list will not be visible outside of this >> definition or declaration void (*trans_msg)(struct amdgpu_device *adev, enum idh_request req, u32 data1, u32 data2, u32 data3); ^~~ >> drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c:376:15: error: initialization of 'void >> (*)(struct amdgpu_device *, enum idh_request, u32, u32, u32)' {aka 'void >> (*)(struct amdgpu_device *, enum idh_request, unsigned int, unsigned int, >> unsigned int)'} from incompatible pointer type 'void (*)(struct >> amdgpu_device *, enum idh_request, u32, u32, u32)' {aka 'void (*)(struct >> amdgpu_device *, enum idh_request, unsigned int, unsigned int, unsigned >> int)'} [-Werror=incompatible-pointer-types] .trans_msg = xgpu_ai_mailbox_trans_msg, ^ drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c:376:15: note: (near initialization for 'xgpu_ai_virt_ops.trans_msg') cc1: some warnings being treated as errors vim +376 drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c f98b617e Monk Liu 2017-04-05 370 c9c9de93 Xiangliang Yu 2017-03-10 371 const struct amdgpu_virt_ops xgpu_ai_virt_ops = { c9c9de93 Xiangliang Yu 2017-03-10 372 .req_full_gpu = xgpu_ai_request_full_gpu_access, c9c9de93 Xiangliang Yu 2017-03-10 373 .rel_full_gpu = xgpu_ai_release_full_gpu_access, f98b617e Monk Liu 2017-04-05 374 .reset_gpu = xgpu_ai_request_reset, b5914238 pding 2017-10-24 375 .wait_reset = NULL, 89041940 Gavin Wan 2017-06-23 @376 .trans_msg = xgpu_ai_mailbox_trans_msg, :: The code at line 376 was first introduced by commit :: 890419409a3aba2ca7185a824e47d8ded8df11a2 drm/amdgpu: Support passing amdgpu critical error to host via GPU Mailbox. :: TO: Gavin Wan :: CC: Alex Deucher --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [Intel-gfx] [PATCH 1/3] drm/i915: Move dsc rate params compute into drm
Hi David, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.0-rc4 next-20190213] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/David-Francis/Make-DRM-DSC-helpers-more-generally-usable/20190214-052541 reproduce: make htmldocs All warnings (new ones prefixed by >>): net/mac80211/sta_info.h:590: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' kernel/rcu/tree.c:711: warning: Excess function parameter 'irq' description in 'rcu_nmi_exit' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' include/linux/firmware/intel/stratix10-svc-client.h:1: warning: no structured comments found include/linux/gpio/driver.h:371: warning: Function parameter or member 'init_valid_mask' not described in 'gpio_chip' include/linux/iio/hw-consumer.h:1: warning: no structured comments found include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' drivers/mtd/nand/raw/nand_base.c:420: warning: Function parameter or member 'chip' not described in 'nand_fill_oob' drivers/mtd/nand/raw/nand_bbt.c:173: warning: Function parameter or member 'this' not described in 'read_bbt' drivers/mtd/nand/raw/nand_bbt.c:173: warning: Excess function parameter 'chip' description in 'read_bbt' include/linux/regulator/machine.h:199: warning: Function parameter or member 'max_uV_step' not described in 'regulation_constraints' include/linux/regulator/driver.h:228: warning: Function parameter or member 'resume' not described in 'regulator_ops' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' drivers/slimbus/stream.c:1: warning: no structured comments found include/linux/spi/spi.h:180: warning: Function parameter or member 'driver_override' not described in 'spi_device' drivers/target/target_core_device.c:1: warning: no structured comments found drivers/usb/typec/bus.c:1: warning: no structured comments found drivers/usb/typec/class.c:1: warning: no structured comments found include/linux/w1.h:281: warning: Function parameter or member 'of_match_table' not described in 'w1_family' fs/direct-io.c:257: warning: Excess function parameter 'offset' description in 'dio_complete' fs/file_table.c:1: warning: no structured comments found fs/libfs.c:477: warning: Excess function parameter 'available' description in 'simple_write_end' fs/posix_acl.c:646: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:294: warning: Excess function parameter 'mm' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:294: warning: Excess function parameter 'start' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:294: warning: Excess function parameter 'end' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:343: warning: Excess function parameter 'mm' description in 'amdgpu_mn_invalidate_range_end' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:343: warning: Excess function parameter 'start' description in 'amdgpu_mn_invalidate_range_end' drivers/gpu/drm/amd/amdgpu/amdgpu_m
Re: [PATCH v6 1/2] drm/sched: Refactor ring mirror list handling.
Hi Andrey, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on next-20181224] [cannot apply to v4.20] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Andrey-Grodzovsky/drm-sched-Refactor-ring-mirror-list-handling/20181228-035754 reproduce: make htmldocs All warnings (new ones prefixed by >>): net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' kernel/rcu/tree.c:711: warning: Excess function parameter 'irq' description in 'rcu_nmi_exit' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' include/linux/gpio/driver.h:375: warning: Function parameter or member 'init_valid_mask' not described in 'gpio_chip' include/linux/iio/hw-consumer.h:1: warning: no structured comments found include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' drivers/mtd/nand/raw/nand_base.c:420: warning: Function parameter or member 'chip' not described in 'nand_fill_oob' drivers/mtd/nand/raw/nand_bbt.c:173: warning: Function parameter or member 'this' not described in 'read_bbt' drivers/mtd/nand/raw/nand_bbt.c:173: warning: Excess function parameter 'chip' description in 'read_bbt' include/linux/regulator/machine.h:199: warning: Function parameter or member 'max_uV_step' not described in 'regulation_constraints' include/linux/regulator/driver.h:228: warning: Function parameter or member 'resume' not described in 'regulator_ops' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' drivers/slimbus/stream.c:1: warning: no structured comments found include/linux/spi/spi.h:180: warning: Function parameter or member 'driver_override' not d
Re: [PATCH v2 2/2] drm/amd: validate user GEM object size
Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.20-rc7 next-20181221] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/drm-amd-validate-user-pitch-alignment/20181222-153630 config: i386-randconfig-h1-12231406 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/gpu//drm/amd/amdgpu/amdgpu_display.c: In function 'amdgpu_display_user_framebuffer_create': >> drivers/gpu//drm/amd/amdgpu/amdgpu_display.c:556:3: warning: format '%ld' >> expects argument of type 'long int', but argument 4 has type 'size_t' >> [-Wformat=] DRM_DEBUG_KMS("Invalid GEM size: expecting >= %d but got %ld\n", ^ vim +556 drivers/gpu//drm/amd/amdgpu/amdgpu_display.c 521 522 struct drm_framebuffer * 523 amdgpu_display_user_framebuffer_create(struct drm_device *dev, 524 struct drm_file *file_priv, 525 const struct drm_mode_fb_cmd2 *mode_cmd) 526 { 527 struct drm_gem_object *obj; 528 struct amdgpu_framebuffer *amdgpu_fb; 529 int ret; 530 int height; 531 struct amdgpu_device *adev = dev->dev_private; 532 int cpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0); 533 int pitch = amdgpu_align_pitch(adev, mode_cmd->pitches[0], cpp, false); 534 535 if (mode_cmd->pitches[0] != pitch) { 536 DRM_DEBUG_KMS("Invalid pitch: expecting %d but got %d\n", 537pitch, mode_cmd->pitches[0]); 538 return ERR_PTR(-EINVAL); 539 } 540 541 obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]); 542 if (obj == NULL) { 543 dev_err(&dev->pdev->dev, "No GEM object associated to handle 0x%08X, " 544 "can't create framebuffer\n", mode_cmd->handles[0]); 545 return ERR_PTR(-ENOENT); 546 } 547 548 /* Handle is imported dma-buf, so cannot be migrated to VRAM for scanout */ 549 if (obj->import_attach) { 550 DRM_DEBUG_KMS("Cannot create framebuffer from imported dma_buf\n"); 551 return ERR_PTR(-EINVAL); 552 } 553 554 height = ALIGN(mode_cmd->height, 8); 555 if (obj->size < pitch * height) { > 556 DRM_DEBUG_KMS("Invalid GEM size: expecting >= %d but > got %ld\n", 557pitch * height, obj->size); 558 return ERR_PTR(-EINVAL); 559 } 560 561 amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL); 562 if (amdgpu_fb == NULL) { 563 drm_gem_object_put_unlocked(obj); 564 return ERR_PTR(-ENOMEM); 565 } 566 567 ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj); 568 if (ret) { 569 kfree(amdgpu_fb); 570 drm_gem_object_put_unlocked(obj); 571 return ERR_PTR(ret); 572 } 573 574 return &amdgpu_fb->base; 575 } 576 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH v2 2/2] drm/amd: validate user GEM object size
Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.20-rc7 next-20181221] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/drm-amd-validate-user-pitch-alignment/20181222-153630 config: i386-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/drm/drm_mm.h:49:0, from include/drm/drmP.h:73, from drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:26: drivers/gpu/drm/amd/amdgpu/amdgpu_display.c: In function 'amdgpu_display_user_framebuffer_create': >> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:556:17: warning: format '%ld' >> expects argument of type 'long int', but argument 4 has type 'size_t {aka >> unsigned int}' [-Wformat=] DRM_DEBUG_KMS("Invalid GEM size: expecting >= %d but got %ld\n", ^ pitch * height, obj->size); ~~ include/drm/drm_print.h:362:22: note: in definition of macro 'DRM_DEBUG_KMS' drm_dbg(DRM_UT_KMS, fmt, ##__VA_ARGS__) ^~~ vim +556 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 521 522 struct drm_framebuffer * 523 amdgpu_display_user_framebuffer_create(struct drm_device *dev, 524 struct drm_file *file_priv, 525 const struct drm_mode_fb_cmd2 *mode_cmd) 526 { 527 struct drm_gem_object *obj; 528 struct amdgpu_framebuffer *amdgpu_fb; 529 int ret; 530 int height; 531 struct amdgpu_device *adev = dev->dev_private; 532 int cpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0); 533 int pitch = amdgpu_align_pitch(adev, mode_cmd->pitches[0], cpp, false); 534 535 if (mode_cmd->pitches[0] != pitch) { 536 DRM_DEBUG_KMS("Invalid pitch: expecting %d but got %d\n", 537pitch, mode_cmd->pitches[0]); 538 return ERR_PTR(-EINVAL); 539 } 540 541 obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]); 542 if (obj == NULL) { 543 dev_err(&dev->pdev->dev, "No GEM object associated to handle 0x%08X, " 544 "can't create framebuffer\n", mode_cmd->handles[0]); 545 return ERR_PTR(-ENOENT); 546 } 547 548 /* Handle is imported dma-buf, so cannot be migrated to VRAM for scanout */ 549 if (obj->import_attach) { 550 DRM_DEBUG_KMS("Cannot create framebuffer from imported dma_buf\n"); 551 return ERR_PTR(-EINVAL); 552 } 553 554 height = ALIGN(mode_cmd->height, 8); 555 if (obj->size < pitch * height) { > 556 DRM_DEBUG_KMS("Invalid GEM size: expecting >= %d but > got %ld\n", 557pitch * height, obj->size); 558 return ERR_PTR(-EINVAL); 559 } 560 561 amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL); 562 if (amdgpu_fb == NULL) { 563 drm_gem_object_put_unlocked(obj); 564 return ERR_PTR(-ENOMEM); 565 } 566 567 ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj); 568 if (ret) { 569 kfree(amdgpu_fb); 570 drm_gem_object_put_unlocked(obj); 571 return ERR_PTR(ret); 572 } 573 574 return &amdgpu_fb->base; 575 } 576 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 3/3] drm/amd: validate user GEM object size
Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.20-rc7 next-20181221] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/drm-amd-fix-race-in-page-flip-job/20181222-072937 config: x86_64-randconfig-s5-12221153 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): In file included from include/linux/cdev.h:8:0, from include/drm/drmP.h:36, from drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:26: drivers/gpu/drm/amd/amdgpu/amdgpu_display.c: In function 'amdgpu_display_user_framebuffer_create': drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:556:28: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t {aka long unsigned int}' [-Wformat=] dev_err(&dev->pdev->dev, "Invalid GEM size: expecting %d but got %d\n", ^ include/linux/device.h:1370:22: note: in definition of macro 'dev_fmt' #define dev_fmt(fmt) fmt ^~~ >> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:556:3: note: in expansion of >> macro 'dev_err' dev_err(&dev->pdev->dev, "Invalid GEM size: expecting %d but got %d\n", ^~~ vim +/dev_err +556 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 521 522 struct drm_framebuffer * 523 amdgpu_display_user_framebuffer_create(struct drm_device *dev, 524 struct drm_file *file_priv, 525 const struct drm_mode_fb_cmd2 *mode_cmd) 526 { 527 struct drm_gem_object *obj; 528 struct amdgpu_framebuffer *amdgpu_fb; 529 int ret; 530 int height; 531 struct amdgpu_device *adev = dev->dev_private; 532 int cpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0); 533 int pitch = amdgpu_align_pitch(adev, mode_cmd->width, cpp, false); 534 535 if (mode_cmd->pitches[0] != pitch) { 536 dev_err(&dev->pdev->dev, "Invalid pitch: expecting %d but got %d\n", 537 pitch, mode_cmd->pitches[0]); 538 return ERR_PTR(-EINVAL); 539 } 540 541 obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]); 542 if (obj == NULL) { 543 dev_err(&dev->pdev->dev, "No GEM object associated to handle 0x%08X, " 544 "can't create framebuffer\n", mode_cmd->handles[0]); 545 return ERR_PTR(-ENOENT); 546 } 547 548 /* Handle is imported dma-buf, so cannot be migrated to VRAM for scanout */ 549 if (obj->import_attach) { 550 DRM_DEBUG_KMS("Cannot create framebuffer from imported dma_buf\n"); 551 return ERR_PTR(-EINVAL); 552 } 553 554 height = ALIGN(mode_cmd->height, 8); 555 if (obj->size < pitch * height) { > 556 dev_err(&dev->pdev->dev, "Invalid GEM size: expecting > %d but got %d\n", 557 pitch * height, obj->size); 558 return ERR_PTR(-EINVAL); 559 } 560 561 amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL); 562 if (amdgpu_fb == NULL) { 563 drm_gem_object_put_unlocked(obj); 564 return ERR_PTR(-ENOMEM); 565 } 566 567 ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj); 568 if (ret) { 569 kfree(amdgpu_fb); 570 drm_gem_object_put_unlocked(obj); 571 return ERR_PTR(ret); 572 } 573 574 return &amdgpu_fb->base; 575 } 576 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 3/3] drm/amd: validate user GEM object size
Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.20-rc7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Yu-Zhao/drm-amd-fix-race-in-page-flip-job/20181222-072937 config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 8.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.1.0 make.cross ARCH=ia64 All warnings (new ones prefixed by >>): In file included from include/linux/cdev.h:8, from include/drm/drmP.h:36, from drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:26: drivers/gpu/drm/amd/amdgpu/amdgpu_display.c: In function 'amdgpu_display_user_framebuffer_create': >> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:556:28: warning: format '%d' >> expects argument of type 'int', but argument 4 has type 'size_t' {aka 'long >> unsigned int'} [-Wformat=] dev_err(&dev->pdev->dev, "Invalid GEM size: expecting %d but got %d\n", ^ include/linux/device.h:1370:22: note: in definition of macro 'dev_fmt' #define dev_fmt(fmt) fmt ^~~ drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:556:3: note: in expansion of macro 'dev_err' dev_err(&dev->pdev->dev, "Invalid GEM size: expecting %d but got %d\n", ^~~ vim +556 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 521 522 struct drm_framebuffer * 523 amdgpu_display_user_framebuffer_create(struct drm_device *dev, 524 struct drm_file *file_priv, 525 const struct drm_mode_fb_cmd2 *mode_cmd) 526 { 527 struct drm_gem_object *obj; 528 struct amdgpu_framebuffer *amdgpu_fb; 529 int ret; 530 int height; 531 struct amdgpu_device *adev = dev->dev_private; 532 int cpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0); 533 int pitch = amdgpu_align_pitch(adev, mode_cmd->width, cpp, false); 534 535 if (mode_cmd->pitches[0] != pitch) { 536 dev_err(&dev->pdev->dev, "Invalid pitch: expecting %d but got %d\n", 537 pitch, mode_cmd->pitches[0]); 538 return ERR_PTR(-EINVAL); 539 } 540 541 obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]); 542 if (obj == NULL) { 543 dev_err(&dev->pdev->dev, "No GEM object associated to handle 0x%08X, " 544 "can't create framebuffer\n", mode_cmd->handles[0]); 545 return ERR_PTR(-ENOENT); 546 } 547 548 /* Handle is imported dma-buf, so cannot be migrated to VRAM for scanout */ 549 if (obj->import_attach) { 550 DRM_DEBUG_KMS("Cannot create framebuffer from imported dma_buf\n"); 551 return ERR_PTR(-EINVAL); 552 } 553 554 height = ALIGN(mode_cmd->height, 8); 555 if (obj->size < pitch * height) { > 556 dev_err(&dev->pdev->dev, "Invalid GEM size: expecting > %d but got %d\n", 557 pitch * height, obj->size); 558 return ERR_PTR(-EINVAL); 559 } 560 561 amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL); 562 if (amdgpu_fb == NULL) { 563 drm_gem_object_put_unlocked(obj); 564 return ERR_PTR(-ENOMEM); 565 } 566 567 ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj); 568 if (ret) { 569 kfree(amdgpu_fb); 570 drm_gem_object_put_unlocked(obj); 571 return ERR_PTR(ret); 572 } 573 574 return &amdgpu_fb->base; 575 } 576 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 2/2] gpu/radeon: use HMM mirror for userptr buffer object.
Hi Jérôme, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.19-rc3 next-20180910] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/jglisse-redhat-com/Getting-rid-of-GUP-and-use-HMM-for-user-ptr-features/20180911-020741 config: x86_64-randconfig-x000-201836 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/gpu/drm/radeon/radeon_mn.c:43:20: error: field 'mirror' has incomplete type struct hmm_mirror mirror; ^~ drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_destroy': drivers/gpu/drm/radeon/radeon_mn.c:90:2: error: implicit declaration of function 'hmm_mirror_unregister'; did you mean 'drm_dp_aux_unregister'? [-Werror=implicit-function-declaration] hmm_mirror_unregister(&rmn->mirror); ^ drm_dp_aux_unregister In file included from include/linux/firmware.h:6:0, from drivers/gpu/drm/radeon/radeon_mn.c:31: drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mirror_release': include/linux/kernel.h:997:32: error: dereferencing pointer to incomplete type 'struct hmm_mirror' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~ include/linux/compiler.h:335:18: note: in definition of macro '__compiletime_assert' int __cond = !(condition);\ ^ include/linux/compiler.h:358:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~ include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~ include/linux/kernel.h:997:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~ include/linux/kernel.h:997:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~ drivers/gpu/drm/radeon/radeon_mn.c:103:26: note: in expansion of macro 'container_of' struct radeon_mn *rmn = container_of(mirror, struct radeon_mn, mirror); ^~~~ drivers/gpu/drm/radeon/radeon_mn.c: At top level: drivers/gpu/drm/radeon/radeon_mn.c:119:24: warning: 'struct hmm_update' declared inside parameter list will not be visible outside of this definition or declaration const struct hmm_update *update) ^~ drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_sync_cpu_device_pagetables': drivers/gpu/drm/radeon/radeon_mn.c:128:14: error: dereferencing pointer to incomplete type 'const struct hmm_update' end = update->end - 1; ^~ drivers/gpu/drm/radeon/radeon_mn.c: At top level: drivers/gpu/drm/radeon/radeon_mn.c:183:21: error: variable 'radeon_mirror_ops' has initializer but incomplete type static const struct hmm_mirror_ops radeon_mirror_ops = { ^~ drivers/gpu/drm/radeon/radeon_mn.c:184:3: error: 'const struct hmm_mirror_ops' has no member named 'sync_cpu_device_pagetables' .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^~ drivers/gpu/drm/radeon/radeon_mn.c:184:32: warning: excess elements in struct initializer .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^ drivers/gpu/drm/radeon/radeon_mn.c:184:32: note: (near initialization for 'radeon_mirror_ops') drivers/gpu/drm/radeon/radeon_mn.c:185:3: error: 'const struct hmm_mirror_ops' has no member named 'release' .release = &radeon_mirror_release, ^~~ drivers/gpu/drm/radeon/radeon_mn.c:185:13: warning: excess elements in struct initializer .release = &radeon_mirror_release, ^ drivers/gpu/drm/radeon/radeon_mn.c:185:13: note: (near initialization for 'radeon_mirror_ops') drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_get': drivers/gpu/drm/radeon/radeon_mn.c:224:6: error: implicit declaration of function 'hmm_mirror_register'; did you mean 'drm_dp_aux_register'? [-Werror=implicit-function-declaration] r = hmm_mirror_register(&new->mirror, mm); ^~~ drm_dp_aux_register drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_bo_map': >> drivers/gpu/drm/radeon/radeon_mn.c:373:43: error: 'HMM_PFN_FLAG_MAX' >> undeclared (first use in this function); di
Re: [PATCH 1/2] gpu/radeon: use HMM mirror instead of mmu_notifier
Hi Jérôme, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.19-rc3 next-20180910] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/jglisse-redhat-com/Getting-rid-of-GUP-and-use-HMM-for-user-ptr-features/20180911-020741 config: i386-randconfig-s0-09101230 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/gpu//drm/radeon/radeon_mn.c:43:20: error: field 'mirror' has incomplete type struct hmm_mirror mirror; ^~ drivers/gpu//drm/radeon/radeon_mn.c: In function 'radeon_mn_destroy': >> drivers/gpu//drm/radeon/radeon_mn.c:90:2: error: implicit declaration of >> function 'hmm_mirror_unregister' [-Werror=implicit-function-declaration] hmm_mirror_unregister(&rmn->mirror); ^ In file included from include/linux/firmware.h:6:0, from drivers/gpu//drm/radeon/radeon_mn.c:31: drivers/gpu//drm/radeon/radeon_mn.c: In function 'radeon_mirror_release': include/linux/kernel.h:997:32: error: dereferencing pointer to incomplete type 'struct hmm_mirror' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~ include/linux/compiler.h:335:18: note: in definition of macro '__compiletime_assert' int __cond = !(condition);\ ^ include/linux/compiler.h:358:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~ include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~ include/linux/kernel.h:997:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~ include/linux/kernel.h:997:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~ drivers/gpu//drm/radeon/radeon_mn.c:103:26: note: in expansion of macro 'container_of' struct radeon_mn *rmn = container_of(mirror, struct radeon_mn, mirror); ^~~~ drivers/gpu//drm/radeon/radeon_mn.c: At top level: drivers/gpu//drm/radeon/radeon_mn.c:119:24: warning: 'struct hmm_update' declared inside parameter list will not be visible outside of this definition or declaration const struct hmm_update *update) ^~ drivers/gpu//drm/radeon/radeon_mn.c: In function 'radeon_sync_cpu_device_pagetables': drivers/gpu//drm/radeon/radeon_mn.c:128:14: error: dereferencing pointer to incomplete type 'const struct hmm_update' end = update->end - 1; ^~ drivers/gpu//drm/radeon/radeon_mn.c: At top level: drivers/gpu//drm/radeon/radeon_mn.c:183:21: error: variable 'radeon_mirror_ops' has initializer but incomplete type static const struct hmm_mirror_ops radeon_mirror_ops = { ^~ >> drivers/gpu//drm/radeon/radeon_mn.c:184:2: error: unknown field >> 'sync_cpu_device_pagetables' specified in initializer .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^ drivers/gpu//drm/radeon/radeon_mn.c:184:32: warning: excess elements in struct initializer .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^ drivers/gpu//drm/radeon/radeon_mn.c:184:32: note: (near initialization for 'radeon_mirror_ops') >> drivers/gpu//drm/radeon/radeon_mn.c:185:2: error: unknown field 'release' >> specified in initializer .release = &radeon_mirror_release, ^ drivers/gpu//drm/radeon/radeon_mn.c:185:13: warning: excess elements in struct initializer .release = &radeon_mirror_release, ^ drivers/gpu//drm/radeon/radeon_mn.c:185:13: note: (near initialization for 'radeon_mirror_ops') drivers/gpu//drm/radeon/radeon_mn.c: In function 'radeon_mn_get': >> drivers/gpu//drm/radeon/radeon_mn.c:224:6: error: implicit declaration of >> function 'hmm_mirror_register' [-Werror=implicit-function-declaration] r = hmm_mirror_register(&new->mirror, mm); ^~~ drivers/gpu//drm/radeon/radeon_mn.c: At top level: drivers/gpu//drm/radeon/radeon_mn.c:183:36: error: storage size of 'radeon_mirror_ops' isn't known static const struct hmm_mirror_ops radeon_mirror_ops = { ^ cc1: some warnings being treated as errors vim +/hmm_mirror_unr
Re: [PATCH 2/2] gpu/radeon: use HMM mirror for userptr buffer object.
Hi Jérôme, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.19-rc3 next-20180910] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/jglisse-redhat-com/Getting-rid-of-GUP-and-use-HMM-for-user-ptr-features/20180911-020741 config: x86_64-randconfig-x017-201836 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/gpu/drm/radeon/radeon_mn.c:43:20: error: field 'mirror' has incomplete type struct hmm_mirror mirror; ^~ drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_destroy': drivers/gpu/drm/radeon/radeon_mn.c:90:2: error: implicit declaration of function 'hmm_mirror_unregister'; did you mean 'drm_dp_aux_unregister'? [-Werror=implicit-function-declaration] hmm_mirror_unregister(&rmn->mirror); ^ drm_dp_aux_unregister In file included from include/linux/firmware.h:6:0, from drivers/gpu/drm/radeon/radeon_mn.c:31: drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mirror_release': include/linux/kernel.h:997:32: error: dereferencing pointer to incomplete type 'struct hmm_mirror' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~ include/linux/compiler.h:335:18: note: in definition of macro '__compiletime_assert' int __cond = !(condition);\ ^ include/linux/compiler.h:358:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~ include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~ include/linux/kernel.h:997:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~ include/linux/kernel.h:997:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~ drivers/gpu/drm/radeon/radeon_mn.c:103:26: note: in expansion of macro 'container_of' struct radeon_mn *rmn = container_of(mirror, struct radeon_mn, mirror); ^~~~ drivers/gpu/drm/radeon/radeon_mn.c: At top level: drivers/gpu/drm/radeon/radeon_mn.c:119:24: warning: 'struct hmm_update' declared inside parameter list will not be visible outside of this definition or declaration const struct hmm_update *update) ^~ drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_sync_cpu_device_pagetables': drivers/gpu/drm/radeon/radeon_mn.c:128:14: error: dereferencing pointer to incomplete type 'const struct hmm_update' end = update->end - 1; ^~ drivers/gpu/drm/radeon/radeon_mn.c: At top level: drivers/gpu/drm/radeon/radeon_mn.c:183:21: error: variable 'radeon_mirror_ops' has initializer but incomplete type static const struct hmm_mirror_ops radeon_mirror_ops = { ^~ drivers/gpu/drm/radeon/radeon_mn.c:184:3: error: 'const struct hmm_mirror_ops' has no member named 'sync_cpu_device_pagetables' .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^~ drivers/gpu/drm/radeon/radeon_mn.c:184:32: warning: excess elements in struct initializer .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^ drivers/gpu/drm/radeon/radeon_mn.c:184:32: note: (near initialization for 'radeon_mirror_ops') drivers/gpu/drm/radeon/radeon_mn.c:185:3: error: 'const struct hmm_mirror_ops' has no member named 'release' .release = &radeon_mirror_release, ^~~ drivers/gpu/drm/radeon/radeon_mn.c:185:13: warning: excess elements in struct initializer .release = &radeon_mirror_release, ^ drivers/gpu/drm/radeon/radeon_mn.c:185:13: note: (near initialization for 'radeon_mirror_ops') drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_get': drivers/gpu/drm/radeon/radeon_mn.c:224:6: error: implicit declaration of function 'hmm_mirror_register'; did you mean 'drm_dp_aux_register'? [-Werror=implicit-function-declaration] r = hmm_mirror_register(&new->mirror, mm); ^~~ drm_dp_aux_register drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_bo_map': >> drivers/gpu/drm/radeon/radeon_mn.c:373:43: error: 'HMM_PFN_FLAG_MAX' >> undeclared (first use in this function); di
Re: [PATCH 1/2] gpu/radeon: use HMM mirror instead of mmu_notifier
Hi Jérôme, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.19-rc3 next-20180910] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/jglisse-redhat-com/Getting-rid-of-GUP-and-use-HMM-for-user-ptr-features/20180911-020741 config: x86_64-randconfig-x017-201836 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): >> drivers/gpu/drm/radeon/radeon_mn.c:43:20: error: field 'mirror' has >> incomplete type struct hmm_mirror mirror; ^~ drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_destroy': >> drivers/gpu/drm/radeon/radeon_mn.c:90:2: error: implicit declaration of >> function 'hmm_mirror_unregister'; did you mean 'drm_dp_aux_unregister'? >> [-Werror=implicit-function-declaration] hmm_mirror_unregister(&rmn->mirror); ^ drm_dp_aux_unregister In file included from include/linux/firmware.h:6:0, from drivers/gpu/drm/radeon/radeon_mn.c:31: drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mirror_release': >> include/linux/kernel.h:997:32: error: dereferencing pointer to incomplete >> type 'struct hmm_mirror' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~ include/linux/compiler.h:335:18: note: in definition of macro '__compiletime_assert' int __cond = !(condition);\ ^ include/linux/compiler.h:358:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~ include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~ include/linux/kernel.h:997:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~~ include/linux/kernel.h:997:20: note: in expansion of macro '__same_type' BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \ ^~~ >> drivers/gpu/drm/radeon/radeon_mn.c:103:26: note: in expansion of macro >> 'container_of' struct radeon_mn *rmn = container_of(mirror, struct radeon_mn, mirror); ^~~~ drivers/gpu/drm/radeon/radeon_mn.c: At top level: >> drivers/gpu/drm/radeon/radeon_mn.c:119:24: warning: 'struct hmm_update' >> declared inside parameter list will not be visible outside of this >> definition or declaration const struct hmm_update *update) ^~ drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_sync_cpu_device_pagetables': >> drivers/gpu/drm/radeon/radeon_mn.c:128:14: error: dereferencing pointer to >> incomplete type 'const struct hmm_update' end = update->end - 1; ^~ drivers/gpu/drm/radeon/radeon_mn.c: At top level: >> drivers/gpu/drm/radeon/radeon_mn.c:183:21: error: variable >> 'radeon_mirror_ops' has initializer but incomplete type static const struct hmm_mirror_ops radeon_mirror_ops = { ^~ >> drivers/gpu/drm/radeon/radeon_mn.c:184:3: error: 'const struct >> hmm_mirror_ops' has no member named 'sync_cpu_device_pagetables' .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^~ >> drivers/gpu/drm/radeon/radeon_mn.c:184:32: warning: excess elements in >> struct initializer .sync_cpu_device_pagetables = &radeon_sync_cpu_device_pagetables, ^ drivers/gpu/drm/radeon/radeon_mn.c:184:32: note: (near initialization for 'radeon_mirror_ops') >> drivers/gpu/drm/radeon/radeon_mn.c:185:3: error: 'const struct >> hmm_mirror_ops' has no member named 'release' .release = &radeon_mirror_release, ^~~ drivers/gpu/drm/radeon/radeon_mn.c:185:13: warning: excess elements in struct initializer .release = &radeon_mirror_release, ^ drivers/gpu/drm/radeon/radeon_mn.c:185:13: note: (near initialization for 'radeon_mirror_ops') drivers/gpu/drm/radeon/radeon_mn.c: In function 'radeon_mn_get': >> drivers/gpu/drm/radeon/radeon_mn.c:224:6: error: implicit declaration of >> function 'hmm_mirror_register'; did you mean 'drm_dp_aux_register'? >> [-Werror=implicit-function-declaration] r = hmm_mirror_register(&new->mirror, mm); ^~~ drm_dp_aux_register drivers/gpu/drm/radeon/radeon_mn.c: At top level: >> drivers/gpu/drm/radeon/radeon_mn.c:183:36: error: storage size of >> 'radeon_mirror
Re: [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers()
Hi Michał, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.19-rc2 next-20180831] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/remove_conflicting_framebuffers-cleanup/20180903-094322 reproduce: make htmldocs :: branch date: 5 hours ago :: commit date: 5 hours ago All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/linux/srcu.h:175: warning: Function parameter or member 'p' not described in 'srcu_dereference_notrace' include/linux/srcu.h:175: warning: Function parameter or member 'sp' not described in 'srcu_dereference_notrace' include/linux/gfp.h:1: warning: no structured comments found include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:977: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described
Re: [Intel-gfx] [PATCH 2/4] drm/dp_mst: Pass entire connector to drm_dp_mst_topology_mgr_init()
Hi Lyude, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.19-rc1 next-20180828] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Lyude-Paul/drm-dp_mst-Add-DP-MST-debugfs-nodes-for-all-drivers/20180828-083742 reproduce: make htmldocs All warnings (new ones prefixed by >>): include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' include/linux/mod_devicetable.h:763: warning: Function parameter or member 'driver_data' not described in 'typec_device_id' kernel/sched/fair.c:3371: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'i' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'v' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:96: warning: Excess function parameter 'v' description in 'arch_atomic_inc' arch/x86/include/asm/atomic.h:109: warning: Excess function parameter 'v' description in 'arch_atomic_dec' arch/x86/include/asm/atomic.h:124: warning: Excess function parameter 'v' description in 'ar
[PATCH] drm/amd/pp: fix semicolon.cocci warnings
From: kbuild test robot drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c:1209:17-18: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Fixes: ea870e44415a ("drm/amd/pp: Export notify_smu_enable_pwe to display") CC: Rex Zhu Signed-off-by: kbuild test robot --- amd_powerplay.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c +++ b/drivers/gpu/drm/amd/amdgpu/../powerplay/amd_powerplay.c @@ -1206,7 +1206,7 @@ static int pp_notify_smu_enable_pwe(void struct pp_hwmgr *hwmgr = handle; if (!hwmgr || !hwmgr->pm_en) - return -EINVAL;; + return -EINVAL; if (hwmgr->hwmgr_func->smus_notify_pwe == NULL) { pr_info("%s was not implemented.\n", __func__); ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 1/3] drm/connector: Add generic underscan properties
Hi Boris, I love your patch! Yet something to improve: [auto build test ERROR on anholt/for-next] [also build test ERROR on v4.17-rc4 next-20180507] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Boris-Brezillon/drm-connector-Provide-generic-support-for-underscan/20180508-022336 base: https://github.com/anholt/linux for-next config: x86_64-randconfig-x010-201818 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): drivers/gpu//drm/drm_connector.c: In function 'drm_connector_attach_underscan_properties': >> drivers/gpu//drm/drm_connector.c:1188:50: warning: passing argument 3 of >> 'drm_property_add_enum' makes integer from pointer without a cast >> [-Wint-conversion] ret = drm_property_add_enum(prop, entry->type, entry->name); ^ In file included from include/drm/drm_crtc.h:42:0, from include/drm/drmP.h:69, from drivers/gpu//drm/drm_connector.c:23: include/drm/drm_property.h:263:5: note: expected 'uint64_t {aka long long unsigned int}' but argument is of type 'const char * const' int drm_property_add_enum(struct drm_property *property, int index, ^ >> drivers/gpu//drm/drm_connector.c:1188:9: error: too few arguments to >> function 'drm_property_add_enum' ret = drm_property_add_enum(prop, entry->type, entry->name); ^ In file included from include/drm/drm_crtc.h:42:0, from include/drm/drmP.h:69, from drivers/gpu//drm/drm_connector.c:23: include/drm/drm_property.h:263:5: note: declared here int drm_property_add_enum(struct drm_property *property, int index, ^ vim +/drm_property_add_enum +1188 drivers/gpu//drm/drm_connector.c 1141 1142 /** 1143 * drm_connector_attach_underscan_properties - attach atomic underscan 1144 * properties 1145 * @connector: connector to attach underscan mode properties on. 1146 * @mode_mask: bitmask of %DRM_UNDERSCAN_XX modes encoding the supported 1147 * underscan modes. 1148 * @max_hborder: maximum size of the horizontal border expressed in pixels. 1149 * Should be > 0. 1150 * @max_vborder: maximum size of the vertical border expressed in pixels. 1151 * Should be > 0. 1152 * 1153 * This is used to add support for underscan to atomic drivers. 1154 * The underscan config will be set to &drm_connector_state.underscan 1155 * and can be used from &drm_connector_helper_funcs->atomic_check for 1156 * validation. 1157 * 1158 * Returns: 1159 * Zero on success, negative errno on failure. 1160 */ 1161 int drm_connector_attach_underscan_properties(struct drm_connector *connector, 1162u32 mode_mask, u64 max_hborder, 1163u64 max_vborder) 1164 { 1165 unsigned int i, nmodes = ARRAY_SIZE(drm_underscan_mode_enum_list); 1166 struct drm_device *dev = connector->dev; 1167 struct drm_property *prop; 1168 1169 if (!max_hborder || !max_vborder) 1170 return -EINVAL; 1171 1172 if (!hweight32(mode_mask) || (mode_mask & ~GENMASK(nmodes - 1, 0))) 1173 return -EINVAL; 1174 1175 prop = drm_property_create(dev, DRM_MODE_PROP_ENUM, "underscan", 1176 hweight32(mode_mask)); 1177 if (!prop) 1178 return -ENOMEM; 1179 1180 for (i = 0; i < ARRAY_SIZE(drm_underscan_mode_enum_list); i++) { 1181 const struct drm_prop_enum_list *entry; 1182 int ret; 1183 1184 if (!(BIT(i) & mode_mask)) 1185 continue; 1186 1187 entry = &drm_underscan_mode_enum_list[i]; > 1188 ret = drm_property_add_enum(prop, entry->type, > entry->name); 1189 if (ret) 1190 goto err_free_mode_prop; 1191 } 1192 1193 connector->underscan_mode_property = prop; 1194 1195 prop = drm_property_create_range(dev, 0, "underscan hborder", 0, 1196 max_hborder); 1197 if (!prop) 1198 goto err_free_mode_prop; 1199 1200 connector->underscan_hborder_property = prop; 1201 1202 prop = drm_property_create_range(dev, 0, "underscan vborder", 0, 1203
Re: [PATCH 1/5] dma-buf: use parameter structure for dma_buf_attach
Hi Christian, I love your patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.17-rc2 next-20180424] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/dma-buf-use-parameter-structure-for-dma_buf_attach/20180413-080639 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: openrisc-allyesconfig (attached as .config) compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental) reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=openrisc All errors (new ones prefixed by >>): drivers/staging//media/tegra-vde/tegra-vde.c: In function 'tegra_vde_attach_dmabuf': >> drivers/staging//media/tegra-vde/tegra-vde.c:534:13: error: 'dmabuf' >> undeclared (first use in this function) .dmabuf = dmabuf ^~ drivers/staging//media/tegra-vde/tegra-vde.c:534:13: note: each undeclared identifier is reported only once for each function it appears in vim +/dmabuf +534 drivers/staging//media/tegra-vde/tegra-vde.c 521 522 static int tegra_vde_attach_dmabuf(struct device *dev, 523 int fd, 524 unsigned long offset, 525 unsigned int min_size, 526 struct dma_buf_attachment **a, 527 dma_addr_t *addr, 528 struct sg_table **s, 529 size_t *size, 530 enum dma_data_direction dma_dir) 531 { 532 struct dma_buf_attach_info attach_info = { 533 .dev = dev, > 534 .dmabuf = dmabuf 535 }; 536 struct dma_buf_attachment *attachment; 537 struct dma_buf *dmabuf; 538 struct sg_table *sgt; 539 int err; 540 541 dmabuf = dma_buf_get(fd); 542 if (IS_ERR(dmabuf)) { 543 dev_err(dev, "Invalid dmabuf FD\n"); 544 return PTR_ERR(dmabuf); 545 } 546 547 if ((u64)offset + min_size > dmabuf->size) { 548 dev_err(dev, "Too small dmabuf size %zu @0x%lX, " 549 "should be at least %d\n", 550 dmabuf->size, offset, min_size); 551 return -EINVAL; 552 } 553 554 attachment = dma_buf_attach(&attach_info); 555 if (IS_ERR(attachment)) { 556 dev_err(dev, "Failed to attach dmabuf\n"); 557 err = PTR_ERR(attachment); 558 goto err_put; 559 } 560 561 sgt = dma_buf_map_attachment(attachment, dma_dir); 562 if (IS_ERR(sgt)) { 563 dev_err(dev, "Failed to get dmabufs sg_table\n"); 564 err = PTR_ERR(sgt); 565 goto err_detach; 566 } 567 568 if (sgt->nents != 1) { 569 dev_err(dev, "Sparse DMA region is unsupported\n"); 570 err = -EINVAL; 571 goto err_unmap; 572 } 573 574 *addr = sg_dma_address(sgt->sgl) + offset; 575 *a = attachment; 576 *s = sgt; 577 578 if (size) 579 *size = dmabuf->size - offset; 580 581 return 0; 582 583 err_unmap: 584 dma_buf_unmap_attachment(attachment, sgt, dma_dir); 585 err_detach: 586 dma_buf_detach(dmabuf, attachment); 587 err_put: 588 dma_buf_put(dmabuf); 589 590 return err; 591 } 592 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 1/5] dma-buf: use parameter structure for dma_buf_attach
Hi Christian, I love your patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.17-rc2 next-20180424] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/dma-buf-use-parameter-structure-for-dma_buf_attach/20180413-080639 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: powerpc64-allmodconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc64 All errors (new ones prefixed by >>): drivers/staging/media/tegra-vde/tegra-vde.c: In function 'tegra_vde_attach_dmabuf': >> drivers/staging/media/tegra-vde/tegra-vde.c:534:13: error: 'dmabuf' >> undeclared (first use in this function); did you mean 'dma_buf'? .dmabuf = dmabuf ^~ dma_buf drivers/staging/media/tegra-vde/tegra-vde.c:534:13: note: each undeclared identifier is reported only once for each function it appears in vim +534 drivers/staging/media/tegra-vde/tegra-vde.c 521 522 static int tegra_vde_attach_dmabuf(struct device *dev, 523 int fd, 524 unsigned long offset, 525 unsigned int min_size, 526 struct dma_buf_attachment **a, 527 dma_addr_t *addr, 528 struct sg_table **s, 529 size_t *size, 530 enum dma_data_direction dma_dir) 531 { 532 struct dma_buf_attach_info attach_info = { 533 .dev = dev, > 534 .dmabuf = dmabuf 535 }; 536 struct dma_buf_attachment *attachment; 537 struct dma_buf *dmabuf; 538 struct sg_table *sgt; 539 int err; 540 541 dmabuf = dma_buf_get(fd); 542 if (IS_ERR(dmabuf)) { 543 dev_err(dev, "Invalid dmabuf FD\n"); 544 return PTR_ERR(dmabuf); 545 } 546 547 if ((u64)offset + min_size > dmabuf->size) { 548 dev_err(dev, "Too small dmabuf size %zu @0x%lX, " 549 "should be at least %d\n", 550 dmabuf->size, offset, min_size); 551 return -EINVAL; 552 } 553 554 attachment = dma_buf_attach(&attach_info); 555 if (IS_ERR(attachment)) { 556 dev_err(dev, "Failed to attach dmabuf\n"); 557 err = PTR_ERR(attachment); 558 goto err_put; 559 } 560 561 sgt = dma_buf_map_attachment(attachment, dma_dir); 562 if (IS_ERR(sgt)) { 563 dev_err(dev, "Failed to get dmabufs sg_table\n"); 564 err = PTR_ERR(sgt); 565 goto err_detach; 566 } 567 568 if (sgt->nents != 1) { 569 dev_err(dev, "Sparse DMA region is unsupported\n"); 570 err = -EINVAL; 571 goto err_unmap; 572 } 573 574 *addr = sg_dma_address(sgt->sgl) + offset; 575 *a = attachment; 576 *s = sgt; 577 578 if (size) 579 *size = dmabuf->size - offset; 580 581 return 0; 582 583 err_unmap: 584 dma_buf_unmap_attachment(attachment, sgt, dma_dir); 585 err_detach: 586 dma_buf_detach(dmabuf, attachment); 587 err_put: 588 dma_buf_put(dmabuf); 589 590 return err; 591 } 592 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] dma-buf: use parameter structure for dma_buf_attach
Hi Christian, I love your patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.16-rc7 next-20180327] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/dma-buf-use-parameter-structure-for-dma_buf_attach/20180326-044631 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: openrisc-allmodconfig (attached as .config) compiler: or1k-linux-gcc (GCC) 6.0.0 20160327 (experimental) reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=openrisc All errors (new ones prefixed by >>): drivers/staging/media/tegra-vde/tegra-vde.c: In function 'tegra_vde_attach_dmabuf': >> drivers/staging/media/tegra-vde/tegra-vde.c:534:13: error: 'dmabuf' >> undeclared (first use in this function) .dmabuf = dmabuf ^~ drivers/staging/media/tegra-vde/tegra-vde.c:534:13: note: each undeclared identifier is reported only once for each function it appears in vim +/dmabuf +534 drivers/staging/media/tegra-vde/tegra-vde.c 521 522 static int tegra_vde_attach_dmabuf(struct device *dev, 523 int fd, 524 unsigned long offset, 525 unsigned int min_size, 526 struct dma_buf_attachment **a, 527 dma_addr_t *addr, 528 struct sg_table **s, 529 size_t *size, 530 enum dma_data_direction dma_dir) 531 { 532 struct dma_buf_attach_info attach_info = { 533 .dev = dev, > 534 .dmabuf = dmabuf 535 }; 536 struct dma_buf_attachment *attachment; 537 struct dma_buf *dmabuf; 538 struct sg_table *sgt; 539 int err; 540 541 dmabuf = dma_buf_get(fd); 542 if (IS_ERR(dmabuf)) { 543 dev_err(dev, "Invalid dmabuf FD\n"); 544 return PTR_ERR(dmabuf); 545 } 546 547 if ((u64)offset + min_size > dmabuf->size) { 548 dev_err(dev, "Too small dmabuf size %zu @0x%lX, " 549 "should be at least %d\n", 550 dmabuf->size, offset, min_size); 551 return -EINVAL; 552 } 553 554 attachment = dma_buf_attach(&attach_info); 555 if (IS_ERR(attachment)) { 556 dev_err(dev, "Failed to attach dmabuf\n"); 557 err = PTR_ERR(attachment); 558 goto err_put; 559 } 560 561 sgt = dma_buf_map_attachment(attachment, dma_dir); 562 if (IS_ERR(sgt)) { 563 dev_err(dev, "Failed to get dmabufs sg_table\n"); 564 err = PTR_ERR(sgt); 565 goto err_detach; 566 } 567 568 if (sgt->nents != 1) { 569 dev_err(dev, "Sparse DMA region is unsupported\n"); 570 err = -EINVAL; 571 goto err_unmap; 572 } 573 574 *addr = sg_dma_address(sgt->sgl) + offset; 575 *a = attachment; 576 *s = sgt; 577 578 if (size) 579 *size = dmabuf->size - offset; 580 581 return 0; 582 583 err_unmap: 584 dma_buf_unmap_attachment(attachment, sgt, dma_dir); 585 err_detach: 586 dma_buf_detach(dmabuf, attachment); 587 err_put: 588 dma_buf_put(dmabuf); 589 590 return err; 591 } 592 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] dma-buf: use parameter structure for dma_buf_attach
Hi Christian, I love your patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.16-rc6 next-20180323] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/dma-buf-use-parameter-structure-for-dma_buf_attach/20180326-044631 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All errors (new ones prefixed by >>): drivers/staging/media/tegra-vde/tegra-vde.c: In function 'tegra_vde_attach_dmabuf': >> drivers/staging/media/tegra-vde/tegra-vde.c:534:13: error: 'dmabuf' >> undeclared (first use in this function); did you mean 'dma_buf'? .dmabuf = dmabuf ^~ dma_buf drivers/staging/media/tegra-vde/tegra-vde.c:534:13: note: each undeclared identifier is reported only once for each function it appears in vim +534 drivers/staging/media/tegra-vde/tegra-vde.c 521 522 static int tegra_vde_attach_dmabuf(struct device *dev, 523 int fd, 524 unsigned long offset, 525 unsigned int min_size, 526 struct dma_buf_attachment **a, 527 dma_addr_t *addr, 528 struct sg_table **s, 529 size_t *size, 530 enum dma_data_direction dma_dir) 531 { 532 struct dma_buf_attach_info attach_info = { 533 .dev = dev, > 534 .dmabuf = dmabuf 535 }; 536 struct dma_buf_attachment *attachment; 537 struct dma_buf *dmabuf; 538 struct sg_table *sgt; 539 int err; 540 541 dmabuf = dma_buf_get(fd); 542 if (IS_ERR(dmabuf)) { 543 dev_err(dev, "Invalid dmabuf FD\n"); 544 return PTR_ERR(dmabuf); 545 } 546 547 if ((u64)offset + min_size > dmabuf->size) { 548 dev_err(dev, "Too small dmabuf size %zu @0x%lX, " 549 "should be at least %d\n", 550 dmabuf->size, offset, min_size); 551 return -EINVAL; 552 } 553 554 attachment = dma_buf_attach(&attach_info); 555 if (IS_ERR(attachment)) { 556 dev_err(dev, "Failed to attach dmabuf\n"); 557 err = PTR_ERR(attachment); 558 goto err_put; 559 } 560 561 sgt = dma_buf_map_attachment(attachment, dma_dir); 562 if (IS_ERR(sgt)) { 563 dev_err(dev, "Failed to get dmabufs sg_table\n"); 564 err = PTR_ERR(sgt); 565 goto err_detach; 566 } 567 568 if (sgt->nents != 1) { 569 dev_err(dev, "Sparse DMA region is unsupported\n"); 570 err = -EINVAL; 571 goto err_unmap; 572 } 573 574 *addr = sg_dma_address(sgt->sgl) + offset; 575 *a = attachment; 576 *s = sgt; 577 578 if (size) 579 *size = dmabuf->size - offset; 580 581 return 0; 582 583 err_unmap: 584 dma_buf_unmap_attachment(attachment, sgt, dma_dir); 585 err_detach: 586 dma_buf_detach(dmabuf, attachment); 587 err_put: 588 dma_buf_put(dmabuf); 589 590 return err; 591 } 592 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] locking/ww_mutex: add ww_mutex_is_owned_by function v4
Hi Christian, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc2 next-20180220] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/locking-ww_mutex-add-ww_mutex_is_owned_by-function-v4/20180221-021317 config: microblaze-mmu_defconfig (attached as .config) compiler: microblaze-linux-gcc (GCC) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=microblaze All error/warnings (new ones prefixed by >>): In file included from kernel/locking/mutex.c:21:0: include/linux/ww_mutex.h: In function 'ww_mutex_is_owned_by': include/linux/ww_mutex.h:380:0: error: unterminated argument list invoking macro "likely" #endif include/linux/ww_mutex.h:377:3: error: 'likely' undeclared (first use in this function) likely(READ_ONCE(lock->ctx) == NULL; ^~ include/linux/ww_mutex.h:377:3: note: each undeclared identifier is reported only once for each function it appears in In file included from include/linux/thread_info.h:13:0, from include/asm-generic/preempt.h:5, from ./arch/microblaze/include/generated/asm/preempt.h:1, from include/linux/preempt.h:81, from include/linux/rcupdate.h:40, from include/linux/rculist.h:11, from include/linux/sched/signal.h:5, from kernel/locking/mutex.c:22: include/linux/restart_block.h:11:1: error: expected ';' before 'struct' struct timespec; ^~ include/linux/restart_block.h:12:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] struct compat_timespec; ^~ In file included from include/linux/thread_info.h:38:0, from include/asm-generic/preempt.h:5, from ./arch/microblaze/include/generated/asm/preempt.h:1, from include/linux/preempt.h:81, from include/linux/rcupdate.h:40, from include/linux/rculist.h:11, from include/linux/sched/signal.h:5, from kernel/locking/mutex.c:22: >> arch/microblaze/include/asm/thread_info.h:90:35: error: invalid storage >> class for function 'current_thread_info' static inline struct thread_info *current_thread_info(void) ^~~ In file included from include/asm-generic/preempt.h:5:0, from ./arch/microblaze/include/generated/asm/preempt.h:1, from include/linux/preempt.h:81, from include/linux/rcupdate.h:40, from include/linux/rculist.h:11, from include/linux/sched/signal.h:5, from kernel/locking/mutex.c:22: include/linux/thread_info.h:57:20: error: invalid storage class for function 'set_ti_thread_flag' static inline void set_ti_thread_flag(struct thread_info *ti, int flag) ^~ include/linux/thread_info.h:62:20: error: invalid storage class for function 'clear_ti_thread_flag' static inline void clear_ti_thread_flag(struct thread_info *ti, int flag) ^~~~ include/linux/thread_info.h:67:19: error: invalid storage class for function 'test_and_set_ti_thread_flag' static inline int test_and_set_ti_thread_flag(struct thread_info *ti, int flag) ^~~ include/linux/thread_info.h:72:19: error: invalid storage class for function 'test_and_clear_ti_thread_flag' static inline int test_and_clear_ti_thread_flag(struct thread_info *ti, int flag) ^ include/linux/thread_info.h:77:19: error: invalid storage class for function 'test_ti_thread_flag' static inline int test_ti_thread_flag(struct thread_info *ti, int flag) ^~~ include/linux/thread_info.h:96:19: error: invalid storage class for function 'arch_within_stack_frames' static inline int arch_within_stack_frames(const void * const stack, ^~~~ include/linux/thread_info.h:115:20: error: invalid storage class for function 'check_object_size' static inline void check_object_size(const void *ptr, unsigned long n, ^ include/linux/thread_info.h:125:20: error: invalid storage class for function 'copy_overflow' static inline void copy_overflow(int size, unsigned long count) ^ include/linux/thread_info.h:131:1: error: invalid stor
Re: [PATCH] locking/ww_mutex: add ww_mutex_is_owned_by function v4
Hi Christian, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.16-rc2 next-20180220] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/locking-ww_mutex-add-ww_mutex_is_owned_by-function-v4/20180221-021317 config: i386-tinyconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from kernel/locking/mutex.c:21:0: include/linux/ww_mutex.h: In function 'ww_mutex_is_owned_by': >> include/linux/ww_mutex.h:380:0: error: unterminated argument list invoking >> macro "likely" #endif >> include/linux/ww_mutex.h:377:3: error: 'likely' undeclared (first use in >> this function) likely(READ_ONCE(lock->ctx) == NULL; ^~ include/linux/ww_mutex.h:377:3: note: each undeclared identifier is reported only once for each function it appears in In file included from include/linux/thread_info.h:13:0, from arch/x86/include/asm/preempt.h:7, from include/linux/preempt.h:81, from include/linux/rcupdate.h:40, from include/linux/rculist.h:11, from include/linux/sched/signal.h:5, from kernel/locking/mutex.c:22: >> include/linux/restart_block.h:11:1: error: expected ';' before 'struct' struct timespec; ^~ >> include/linux/restart_block.h:12:1: warning: ISO C90 forbids mixed >> declarations and code [-Wdeclaration-after-statement] struct compat_timespec; ^~ In file included from include/linux/thread_info.h:38:0, from arch/x86/include/asm/preempt.h:7, from include/linux/preempt.h:81, from include/linux/rcupdate.h:40, from include/linux/rculist.h:11, from include/linux/sched/signal.h:5, from kernel/locking/mutex.c:22: >> arch/x86/include/asm/thread_info.h:170:19: error: invalid storage class for >> function 'arch_within_stack_frames' static inline int arch_within_stack_frames(const void * const stack, ^~~~ In file included from arch/x86/include/asm/preempt.h:7:0, from include/linux/preempt.h:81, from include/linux/rcupdate.h:40, from include/linux/rculist.h:11, from include/linux/sched/signal.h:5, from kernel/locking/mutex.c:22: >> include/linux/thread_info.h:57:20: error: invalid storage class for function >> 'set_ti_thread_flag' static inline void set_ti_thread_flag(struct thread_info *ti, int flag) ^~ >> include/linux/thread_info.h:62:20: error: invalid storage class for function >> 'clear_ti_thread_flag' static inline void clear_ti_thread_flag(struct thread_info *ti, int flag) ^~~~ >> include/linux/thread_info.h:67:19: error: invalid storage class for function >> 'test_and_set_ti_thread_flag' static inline int test_and_set_ti_thread_flag(struct thread_info *ti, int flag) ^~~ >> include/linux/thread_info.h:72:19: error: invalid storage class for function >> 'test_and_clear_ti_thread_flag' static inline int test_and_clear_ti_thread_flag(struct thread_info *ti, int flag) ^ >> include/linux/thread_info.h:77:19: error: invalid storage class for function >> 'test_ti_thread_flag' static inline int test_ti_thread_flag(struct thread_info *ti, int flag) ^~~ >> include/linux/thread_info.h:115:20: error: invalid storage class for >> function 'check_object_size' static inline void check_object_size(const void *ptr, unsigned long n, ^ >> include/linux/thread_info.h:125:20: error: invalid storage class for >> function 'copy_overflow' static inline void copy_overflow(int size, unsigned long count) ^ >> include/linux/thread_info.h:131:1: error: invalid storage class for function >> 'check_copy_size' check_copy_size(const void *addr, size_t bytes, bool is_source) ^~~ In file included from include/asm-generic/percpu.h:7:0, from arch/x86/include/asm/percpu.h:543, from arch/x86/include/asm/current.h:6, from include/linux/mutex.h:14, from kernel/locking/mutex.c:20: >> arch/x86/include/asm/preempt.h:9:22: error: section attribute cannot be >> specified for local variables DECLARE_PER_CPU(int, __preempt_count); ^ inc
Re: [PATCH 1/3] drm/prime: forward begin_cpu_access callback to drivers
Hi Christian, I love your patch! Perhaps something to improve: [auto build test WARNING on drm/drm-next] [also build test WARNING on v4.15-rc3 next-20171215] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Samuel-Li/drm-prime-forward-begin_cpu_access-callback-to-drivers/20171216-125056 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: i386-randconfig-a0-201750 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/drm_drv.c:36:0: >> include/drm/drm_drv.h:494:14: warning: 'enum dma_data_direction' declared >> inside parameter list enum dma_data_direction direction); ^ >> include/drm/drm_drv.h:494:14: warning: its scope is only this definition or >> declaration, which is probably not what you want vim +494 include/drm/drm_drv.h 59 60 /** 61 * struct drm_driver - DRM driver structure 62 * 63 * This structure represent the common code for a family of cards. There will 64 * one drm_device for each card present in this family. It contains lots of 65 * vfunc entries, and a pile of those probably should be moved to more 66 * appropriate places like &drm_mode_config_funcs or into a new operations 67 * structure for GEM drivers. 68 */ 69 struct drm_driver { 70 /** 71 * @load: 72 * 73 * Backward-compatible driver callback to complete 74 * initialization steps after the driver is registered. For 75 * this reason, may suffer from race conditions and its use is 76 * deprecated for new drivers. It is therefore only supported 77 * for existing drivers not yet converted to the new scheme. 78 * See drm_dev_init() and drm_dev_register() for proper and 79 * race-free way to set up a &struct drm_device. 80 * 81 * This is deprecated, do not use! 82 * 83 * Returns: 84 * 85 * Zero on success, non-zero value on failure. 86 */ 87 int (*load) (struct drm_device *, unsigned long flags); 88 89 /** 90 * @open: 91 * 92 * Driver callback when a new &struct drm_file is opened. Useful for 93 * setting up driver-private data structures like buffer allocators, 94 * execution contexts or similar things. Such driver-private resources 95 * must be released again in @postclose. 96 * 97 * Since the display/modeset side of DRM can only be owned by exactly 98 * one &struct drm_file (see &drm_file.is_master and &drm_device.master) 99 * there should never be a need to set up any modeset related resources 100 * in this callback. Doing so would be a driver design bug. 101 * 102 * Returns: 103 * 104 * 0 on success, a negative error code on failure, which will be 105 * promoted to userspace as the result of the open() system call. 106 */ 107 int (*open) (struct drm_device *, struct drm_file *); 108 109 /** 110 * @postclose: 111 * 112 * One of the driver callbacks when a new &struct drm_file is closed. 113 * Useful for tearing down driver-private data structures allocated in 114 * @open like buffer allocators, execution contexts or similar things. 115 * 116 * Since the display/modeset side of DRM can only be owned by exactly 117 * one &struct drm_file (see &drm_file.is_master and &drm_device.master) 118 * there should never be a need to tear down any modeset related 119 * resources in this callback. Doing so would be a driver design bug. 120 */ 121 void (*postclose) (struct drm_device *, struct drm_file *); 122 123 /** 124 * @lastclose: 125 * 126 * Called when the last &struct drm_file has been closed and there's 127 * currently no userspace client for the &struct drm_device. 128 * 129 * Modern drivers should only use this to force-restore the fbdev 130 * framebuffer using drm_fb_helper_restore_fbdev_mode_unlocked(). 131 * Anything else would indicate there's something seriously wrong. 132 * Modern drivers can also use this to execute delayed power switching 133 * state changes, e.g. in conjunction with the :ref:`vga_
Re: [PATCH 1/3] drm/prime: forward begin_cpu_access callback to drivers
Hi Christian, I love your patch! Perhaps something to improve: [auto build test WARNING on drm/drm-next] [also build test WARNING on v4.15-rc3 next-20171215] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Samuel-Li/drm-prime-forward-begin_cpu_access-callback-to-drivers/20171216-125056 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: i386-randconfig-x016-201750 (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from drivers/gpu/drm/drm_drv.c:36:0: >> include/drm/drm_drv.h:494:14: warning: 'enum dma_data_direction' declared >> inside parameter list will not be visible outside of this definition or >> declaration enum dma_data_direction direction); ^~ vim +494 include/drm/drm_drv.h 59 60 /** 61 * struct drm_driver - DRM driver structure 62 * 63 * This structure represent the common code for a family of cards. There will 64 * one drm_device for each card present in this family. It contains lots of 65 * vfunc entries, and a pile of those probably should be moved to more 66 * appropriate places like &drm_mode_config_funcs or into a new operations 67 * structure for GEM drivers. 68 */ 69 struct drm_driver { 70 /** 71 * @load: 72 * 73 * Backward-compatible driver callback to complete 74 * initialization steps after the driver is registered. For 75 * this reason, may suffer from race conditions and its use is 76 * deprecated for new drivers. It is therefore only supported 77 * for existing drivers not yet converted to the new scheme. 78 * See drm_dev_init() and drm_dev_register() for proper and 79 * race-free way to set up a &struct drm_device. 80 * 81 * This is deprecated, do not use! 82 * 83 * Returns: 84 * 85 * Zero on success, non-zero value on failure. 86 */ 87 int (*load) (struct drm_device *, unsigned long flags); 88 89 /** 90 * @open: 91 * 92 * Driver callback when a new &struct drm_file is opened. Useful for 93 * setting up driver-private data structures like buffer allocators, 94 * execution contexts or similar things. Such driver-private resources 95 * must be released again in @postclose. 96 * 97 * Since the display/modeset side of DRM can only be owned by exactly 98 * one &struct drm_file (see &drm_file.is_master and &drm_device.master) 99 * there should never be a need to set up any modeset related resources 100 * in this callback. Doing so would be a driver design bug. 101 * 102 * Returns: 103 * 104 * 0 on success, a negative error code on failure, which will be 105 * promoted to userspace as the result of the open() system call. 106 */ 107 int (*open) (struct drm_device *, struct drm_file *); 108 109 /** 110 * @postclose: 111 * 112 * One of the driver callbacks when a new &struct drm_file is closed. 113 * Useful for tearing down driver-private data structures allocated in 114 * @open like buffer allocators, execution contexts or similar things. 115 * 116 * Since the display/modeset side of DRM can only be owned by exactly 117 * one &struct drm_file (see &drm_file.is_master and &drm_device.master) 118 * there should never be a need to tear down any modeset related 119 * resources in this callback. Doing so would be a driver design bug. 120 */ 121 void (*postclose) (struct drm_device *, struct drm_file *); 122 123 /** 124 * @lastclose: 125 * 126 * Called when the last &struct drm_file has been closed and there's 127 * currently no userspace client for the &struct drm_device. 128 * 129 * Modern drivers should only use this to force-restore the fbdev 130 * framebuffer using drm_fb_helper_restore_fbdev_mode_unlocked(). 131 * Anything else would indicate there's something seriously wrong. 132 * Modern drivers can also use this to execute delayed power switching 133 * state changes, e.g. in conjunction with the :ref:`vga_switcheroo` 134 * infrastr
Re: [PATCH] drm/ttm: swap consecutive allocated pooled pages v4
Hi Christian, I love your patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.15-rc2 next-20171206] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/drm-ttm-swap-consecutive-allocated-pooled-pages-v4/20171206-191635 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: i386-randconfig-x014-201749 (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/gpu//drm/ttm/ttm_page_alloc.c: In function 'ttm_get_pages': >> drivers/gpu//drm/ttm/ttm_page_alloc.c:924:2: error: 'first' undeclared >> (first use in this function) first = count; ^ drivers/gpu//drm/ttm/ttm_page_alloc.c:924:2: note: each undeclared identifier is reported only once for each function it appears in vim +/first +924 drivers/gpu//drm/ttm/ttm_page_alloc.c 919 920 INIT_LIST_HEAD(&plist); 921 r = ttm_page_pool_get_pages(pool, &plist, flags, cstate, 922 npages - count, 0); 923 > 924 first = count; 925 list_for_each_entry(p, &plist, lru) { 926 struct page *tmp = p; 927 928 /* Swap the pages if we detect consecutive order */ 929 if (count > first && pages[count - 1] == tmp - 1) 930 swap(tmp, pages[count - 1]); 931 pages[count++] = tmp; 932 } 933 934 if (r) { 935 /* If there is any pages in the list put them back to 936 * the pool. 937 */ 938 pr_debug("Failed to allocate extra pages for large request\n"); 939 ttm_put_pages(pages, count, flags, cstate); 940 return r; 941 } 942 943 return 0; 944 } 945 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 1/4] drm/ttm: add page order in page pool
Hi Roger, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on next-20171122] [cannot apply to v4.14] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roger-He/drm-ttm-add-page-order-in-page-pool/20171124-032341 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: tile-allmodconfig (attached as .config) compiler: tilegx-linux-gcc (GCC) 4.6.2 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=tile All errors (new ones prefixed by >>): drivers/gpu//drm/ttm/ttm_page_alloc.c: In function 'ttm_page_alloc_init': >> drivers/gpu//drm/ttm/ttm_page_alloc.c:979:18: error: call to >> '__compiletime_assert_979' declared with attribute error: BUILD_BUG failed drivers/gpu//drm/ttm/ttm_page_alloc.c:983:20: error: call to '__compiletime_assert_983' declared with attribute error: BUILD_BUG failed vim +/__compiletime_assert_979 +979 drivers/gpu//drm/ttm/ttm_page_alloc.c 956 957 int ttm_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages) 958 { 959 int ret; 960 961 WARN_ON(_manager); 962 963 pr_info("Initializing pool allocator\n"); 964 965 _manager = kzalloc(sizeof(*_manager), GFP_KERNEL); 966 967 ttm_page_pool_init_locked(&_manager->wc_pool, GFP_HIGHUSER, "wc", 0); 968 969 ttm_page_pool_init_locked(&_manager->uc_pool, GFP_HIGHUSER, "uc", 0); 970 971 ttm_page_pool_init_locked(&_manager->wc_pool_dma32, 972GFP_USER | GFP_DMA32, "wc dma", 0); 973 974 ttm_page_pool_init_locked(&_manager->uc_pool_dma32, 975GFP_USER | GFP_DMA32, "uc dma", 0); 976 977 ttm_page_pool_init_locked(&_manager->wc_pool_huge, 978GFP_TRANSHUGE & ~(__GFP_MOVABLE | __GFP_COMP), > 979"wc huge", HPAGE_PMD_ORDER); 980 981 ttm_page_pool_init_locked(&_manager->uc_pool_huge, 982GFP_TRANSHUGE & ~(__GFP_MOVABLE | __GFP_COMP) 983, "uc huge", HPAGE_PMD_ORDER); 984 985 _manager->options.max_size = max_pages; 986 _manager->options.small = SMALL_ALLOCATION; 987 _manager->options.alloc_size = NUM_PAGES_TO_ALLOC; 988 989 ret = kobject_init_and_add(&_manager->kobj, &ttm_pool_kobj_type, 990 &glob->kobj, "pool"); 991 if (unlikely(ret != 0)) { 992 kobject_put(&_manager->kobj); 993 _manager = NULL; 994 return ret; 995 } 996 997 ttm_pool_mm_shrink_init(_manager); 998 999 return 0; 1000 } 1001 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 1/5] drm/ttm: add page order in page pool
Hi Roger, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm/drm-next] [also build test WARNING on next-20171122] [cannot apply to v4.14] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roger-He/drm-ttm-add-page-order-in-page-pool/20171124-035121 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: i386-randconfig-x008-201747 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): >> drivers/gpu/drm/ttm/ttm_page_alloc.c:963:0: warning: "HPAGE_PMD_ORDER" >> redefined #define HPAGE_PMD_ORDER 9 In file included from include/linux/mm.h:451:0, from include/linux/highmem.h:7, from drivers/gpu/drm/ttm/ttm_page_alloc.c:38: include/linux/huge_mm.h:78:0: note: this is the location of the previous definition #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from drivers/gpu/drm/ttm/ttm_page_alloc.c:36: include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'strcpy' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:421:2: note: in expansion of macro 'if' if (p_size == (size_t)-1 && q_size == (size_t)-1) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'kmemdup' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:411:2: note: in expansion of macro 'if' if (p_size < size) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'kmemdup' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:409:2: note: in expansion of macro 'if' if (__builtin_constant_p(size) && p_size < size) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memchr_inv' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:400:2: note: in expansion of macro 'if' if (p_size < size) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memchr_inv' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:398:2: note: in expansion of macro 'if' if (__builtin_constant_p(size) && p_size < size) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memchr' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:389:2: note: in expansion of macro 'if' if (p_size < size) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memchr' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) ) ^~ include/linux/string.h:387:2: note: in expansion of macro 'if' if (__builtin_constant_p(size) && p_size < size) ^~ include/linux/compiler.h:162:4: warning: '__f' is static but declared in inline function 'memcmp' which is not static __f = { \ ^ include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if' #define if(cond, ...) __trace_if( (cond , ## __VA_
Re: [PATCH 1/4] drm/ttm: add page order in page pool
Hi Roger, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on next-20171122] [cannot apply to v4.14] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roger-He/drm-ttm-add-page-order-in-page-pool/20171124-032341 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: x86_64-randconfig-x007-201747 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from drivers/gpu/drm/ttm/ttm_page_alloc.c:36: drivers/gpu/drm/ttm/ttm_page_alloc.c: In function 'ttm_page_alloc_init': >> include/linux/compiler.h:576:38: error: call to '__compiletime_assert_979' >> declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:556:4: note: in definition of macro '__compiletime_assert' prefix ## suffix();\ ^~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~ include/linux/build_bug.h:80:21: note: in expansion of macro 'BUILD_BUG_ON_MSG' #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") ^~~~ include/linux/huge_mm.h:248:28: note: in expansion of macro 'BUILD_BUG' #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; }) ^ include/linux/huge_mm.h:78:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~ >> drivers/gpu/drm/ttm/ttm_page_alloc.c:979:18: note: in expansion of macro >> 'HPAGE_PMD_ORDER' "wc huge", HPAGE_PMD_ORDER); ^~~ include/linux/compiler.h:576:38: error: call to '__compiletime_assert_983' declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:556:4: note: in definition of macro '__compiletime_assert' prefix ## suffix();\ ^~ include/linux/compiler.h:576:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~ include/linux/build_bug.h:46:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~ include/linux/build_bug.h:80:21: note: in expansion of macro 'BUILD_BUG_ON_MSG' #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") ^~~~ include/linux/huge_mm.h:248:28: note: in expansion of macro 'BUILD_BUG' #define HPAGE_PMD_SHIFT ({ BUILD_BUG(); 0; }) ^ include/linux/huge_mm.h:78:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~ drivers/gpu/drm/ttm/ttm_page_alloc.c:983:20: note: in expansion of macro 'HPAGE_PMD_ORDER' , "uc huge", HPAGE_PMD_ORDER); ^~~ -- In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from drivers/gpu//drm/ttm/ttm_page_alloc.c:36: drivers/gpu//drm/ttm/ttm_page_alloc.c: In function 'ttm_page_alloc_init': >> include/linux/compiler.h:576:38: error: call to '__compiletime_assert_979' >> declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:556:4: note: in definition of macro '__compiletime_assert' prefix ## suffix();\ ^~~~
Re: [PATCH v4] drm/amd/powerplay: Remove unnecessary cast on void pointer
Hi Harsha, [auto build test ERROR on v4.14-rc3] [cannot apply to drm/drm-next next-20171018] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Harsha-Sharma/drm-amd-powerplay-Remove-unnecessary-cast-on-void-pointer/20171017-011426 config: x86_64-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c: In function 'smu7_get_pp_table_entry_callback_func_v1': >> drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c:2954:47: error: >> initialization from incompatible pointer type >> [-Werror=incompatible-pointer-types] struct smu7_power_state *smu7_power_state = &(power_state->hardware); ^ cc1: some warnings being treated as errors vim +2954 drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c 2948 2949 static int smu7_get_pp_table_entry_callback_func_v1(struct pp_hwmgr *hwmgr, 2950 void *state, struct pp_power_state *power_state, 2951 void *pp_table, uint32_t classification_flag) 2952 { 2953 struct smu7_hwmgr *data = hwmgr->backend; > 2954 struct smu7_power_state *smu7_power_state = > &(power_state->hardware); 2955 struct smu7_performance_level *performance_level; 2956 ATOM_Tonga_State *state_entry = state; 2957 ATOM_Tonga_POWERPLAYTABLE *powerplay_table = pp_table; 2958 PPTable_Generic_SubTable_Header *sclk_dep_table = 2959 (PPTable_Generic_SubTable_Header *) 2960 (((unsigned long)powerplay_table) + 2961 le16_to_cpu(powerplay_table->usSclkDependencyTableOffset)); 2962 2963 ATOM_Tonga_MCLK_Dependency_Table *mclk_dep_table = 2964 (ATOM_Tonga_MCLK_Dependency_Table *) 2965 (((unsigned long)powerplay_table) + 2966 le16_to_cpu(powerplay_table->usMclkDependencyTableOffset)); 2967 2968 /* The following fields are not initialized here: id orderedList allStatesList */ 2969 power_state->classification.ui_label = 2970 (le16_to_cpu(state_entry->usClassification) & 2971 ATOM_PPLIB_CLASSIFICATION_UI_MASK) >> 2972 ATOM_PPLIB_CLASSIFICATION_UI_SHIFT; 2973 power_state->classification.flags = classification_flag; 2974 /* NOTE: There is a classification2 flag in BIOS that is not being used right now */ 2975 2976 power_state->classification.temporary_state = false; 2977 power_state->classification.to_be_deleted = false; 2978 2979 power_state->validation.disallowOnDC = 2980 (0 != (le32_to_cpu(state_entry->ulCapsAndSettings) & 2981 ATOM_Tonga_DISALLOW_ON_DC)); 2982 2983 power_state->pcie.lanes = 0; 2984 2985 power_state->display.disableFrameModulation = false; 2986 power_state->display.limitRefreshrate = false; 2987 power_state->display.enableVariBright = 2988 (0 != (le32_to_cpu(state_entry->ulCapsAndSettings) & 2989 ATOM_Tonga_ENABLE_VARIBRIGHT)); 2990 2991 power_state->validation.supportedPowerLevels = 0; 2992 power_state->uvd_clocks.VCLK = 0; 2993 power_state->uvd_clocks.DCLK = 0; 2994 power_state->temperatures.min = 0; 2995 power_state->temperatures.max = 0; 2996 2997 performance_level = &(smu7_power_state->performance_levels 2998 [smu7_power_state->performance_level_count++]); 2999 3000 PP_ASSERT_WITH_CODE( 3001 (smu7_power_state->performance_level_count < smum_get_mac_definition(hwmgr->smumgr, SMU_MAX_LEVELS_GRAPHICS)), 3002 "Performance levels exceeds SMC limit!", 3003 return -EINVAL); 3004 3005 PP_ASSERT_WITH_CODE( 3006 (smu7_power_state->performance_level_count <= 3007 hwmgr->platform_descriptor.hardwareActivityPerformanceLevels), 3008 "Performance levels exceeds Driver limit!", 3009 return -EINVAL); 3010 3011 /* Performance levels are arranged from low to high. */ 3012 performance_level->memory_clock = mclk_dep_table->entries 3013 [state_entry->ucMemoryClockIndexLow].ulMclk; 3014
Re: [PATCH v3] drm/amd/powerplay: Remove unnecessary cast on void pointer
Hi Harsha, [auto build test WARNING on v4.14-rc3] [cannot apply to drm/drm-next next-20171013] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Harsha-Sharma/drm-amd-powerplay-Remove-unnecessary-cast-on-void-pointer/20171017-001535 config: x86_64-randconfig-a0-10170343 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c: In function 'smu7_get_pp_table_entry_callback_func_v1': >> drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c:2954: warning: >> initialization from incompatible pointer type vim +2954 drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c 2948 2949 static int smu7_get_pp_table_entry_callback_func_v1(struct pp_hwmgr *hwmgr, 2950 void *state, struct pp_power_state *power_state, 2951 void *pp_table, uint32_t classification_flag) 2952 { 2953 struct smu7_hwmgr *data = hwmgr->backend; > 2954 struct smu7_power_state *smu7_power_state = > &(power_state->hardware); 2955 struct smu7_performance_level *performance_level; 2956 ATOM_Tonga_State *state_entry = state; 2957 ATOM_Tonga_POWERPLAYTABLE *powerplay_table = pp_table; 2958 PPTable_Generic_SubTable_Header *sclk_dep_table = 2959 (PPTable_Generic_SubTable_Header *) 2960 (((unsigned long)powerplay_table) + 2961 le16_to_cpu(powerplay_table->usSclkDependencyTableOffset)); 2962 2963 ATOM_Tonga_MCLK_Dependency_Table *mclk_dep_table = 2964 (ATOM_Tonga_MCLK_Dependency_Table *) 2965 (((unsigned long)powerplay_table) + 2966 le16_to_cpu(powerplay_table->usMclkDependencyTableOffset)); 2967 2968 /* The following fields are not initialized here: id orderedList allStatesList */ 2969 power_state->classification.ui_label = 2970 (le16_to_cpu(state_entry->usClassification) & 2971 ATOM_PPLIB_CLASSIFICATION_UI_MASK) >> 2972 ATOM_PPLIB_CLASSIFICATION_UI_SHIFT; 2973 power_state->classification.flags = classification_flag; 2974 /* NOTE: There is a classification2 flag in BIOS that is not being used right now */ 2975 2976 power_state->classification.temporary_state = false; 2977 power_state->classification.to_be_deleted = false; 2978 2979 power_state->validation.disallowOnDC = 2980 (0 != (le32_to_cpu(state_entry->ulCapsAndSettings) & 2981 ATOM_Tonga_DISALLOW_ON_DC)); 2982 2983 power_state->pcie.lanes = 0; 2984 2985 power_state->display.disableFrameModulation = false; 2986 power_state->display.limitRefreshrate = false; 2987 power_state->display.enableVariBright = 2988 (0 != (le32_to_cpu(state_entry->ulCapsAndSettings) & 2989 ATOM_Tonga_ENABLE_VARIBRIGHT)); 2990 2991 power_state->validation.supportedPowerLevels = 0; 2992 power_state->uvd_clocks.VCLK = 0; 2993 power_state->uvd_clocks.DCLK = 0; 2994 power_state->temperatures.min = 0; 2995 power_state->temperatures.max = 0; 2996 2997 performance_level = &(smu7_power_state->performance_levels 2998 [smu7_power_state->performance_level_count++]); 2999 3000 PP_ASSERT_WITH_CODE( 3001 (smu7_power_state->performance_level_count < smum_get_mac_definition(hwmgr->smumgr, SMU_MAX_LEVELS_GRAPHICS)), 3002 "Performance levels exceeds SMC limit!", 3003 return -EINVAL); 3004 3005 PP_ASSERT_WITH_CODE( 3006 (smu7_power_state->performance_level_count <= 3007 hwmgr->platform_descriptor.hardwareActivityPerformanceLevels), 3008 "Performance levels exceeds Driver limit!", 3009 return -EINVAL); 3010 3011 /* Performance levels are arranged from low to high. */ 3012 performance_level->memory_clock = mclk_dep_table->entries 3013 [state_entry->ucMemoryClockIndexLow].ulMclk; 3014 if (sclk_dep_table->ucRevId == 0) 3015 performance_level->engine_clock = ((ATOM_Tonga_SCLK_Dependency_Table *)sclk_dep_table)->entries 3016 [state_entry->
Re: [PATCH v3] drm/amd/powerplay: Remove unnecessary cast on void pointer
Hi Harsha, [auto build test ERROR on v4.14-rc3] [cannot apply to drm/drm-next next-20171013] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Harsha-Sharma/drm-amd-powerplay-Remove-unnecessary-cast-on-void-pointer/20171017-001535 config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All error/warnings (new ones prefixed by >>): drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppatomfwctrl.c: In function 'pp_atomfwctrl_get_voltage_info_table': >> drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppatomfwctrl.c:69:12: warning: >> return discards 'const' qualifier from pointer target type >> [-Wdiscarded-qualifiers] return table_address; ^ drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppatomfwctrl.c: In function 'pp_atomfwctrl_get_gpio_lookup_table': drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppatomfwctrl.c:176:9: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] return table_address; ^ -- drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c: In function 'smu7_get_pp_table_entry_callback_func_v1': >> drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c:2954:47: error: >> initialization from incompatible pointer type >> [-Werror=incompatible-pointer-types] struct smu7_power_state *smu7_power_state = &(power_state->hardware); ^ cc1: some warnings being treated as errors vim +2954 drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/smu7_hwmgr.c 2948 2949 static int smu7_get_pp_table_entry_callback_func_v1(struct pp_hwmgr *hwmgr, 2950 void *state, struct pp_power_state *power_state, 2951 void *pp_table, uint32_t classification_flag) 2952 { 2953 struct smu7_hwmgr *data = hwmgr->backend; > 2954 struct smu7_power_state *smu7_power_state = > &(power_state->hardware); 2955 struct smu7_performance_level *performance_level; 2956 ATOM_Tonga_State *state_entry = state; 2957 ATOM_Tonga_POWERPLAYTABLE *powerplay_table = pp_table; 2958 PPTable_Generic_SubTable_Header *sclk_dep_table = 2959 (PPTable_Generic_SubTable_Header *) 2960 (((unsigned long)powerplay_table) + 2961 le16_to_cpu(powerplay_table->usSclkDependencyTableOffset)); 2962 2963 ATOM_Tonga_MCLK_Dependency_Table *mclk_dep_table = 2964 (ATOM_Tonga_MCLK_Dependency_Table *) 2965 (((unsigned long)powerplay_table) + 2966 le16_to_cpu(powerplay_table->usMclkDependencyTableOffset)); 2967 2968 /* The following fields are not initialized here: id orderedList allStatesList */ 2969 power_state->classification.ui_label = 2970 (le16_to_cpu(state_entry->usClassification) & 2971 ATOM_PPLIB_CLASSIFICATION_UI_MASK) >> 2972 ATOM_PPLIB_CLASSIFICATION_UI_SHIFT; 2973 power_state->classification.flags = classification_flag; 2974 /* NOTE: There is a classification2 flag in BIOS that is not being used right now */ 2975 2976 power_state->classification.temporary_state = false; 2977 power_state->classification.to_be_deleted = false; 2978 2979 power_state->validation.disallowOnDC = 2980 (0 != (le32_to_cpu(state_entry->ulCapsAndSettings) & 2981 ATOM_Tonga_DISALLOW_ON_DC)); 2982 2983 power_state->pcie.lanes = 0; 2984 2985 power_state->display.disableFrameModulation = false; 2986 power_state->display.limitRefreshrate = false; 2987 power_state->display.enableVariBright = 2988 (0 != (le32_to_cpu(state_entry->ulCapsAndSettings) & 2989 ATOM_Tonga_ENABLE_VARIBRIGHT)); 2990 2991 power_state->validation.supportedPowerLevels = 0; 2992 power_state->uvd_clocks.VCLK = 0; 2993 power_state->uvd_clocks.DCLK = 0; 2994 power_state->temperatures.min = 0; 2995 power_state->temperatures.max = 0; 2996 2997 performance_level = &(smu7_power_state->performance_levels 2998 [smu7_power_state->performance_level_count++]); 2999 3000 PP_ASSERT_WITH_CODE( 3001
[PATCH] drm/amd/powerplay: fix semicolon.cocci warnings
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/vega10_hwmgr.c:2273:61-62: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Fixes: bdb8cd10b99d ("drm/amd/powerplay: enable ACG feature on vega10.") CC: Rex Zhu Signed-off-by: Fengguang Wu --- vega10_hwmgr.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/vega10_hwmgr.c +++ b/drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/vega10_hwmgr.c @@ -2270,7 +2270,7 @@ static int vega10_acg_enable(struct pp_h smum_send_msg_to_smc(hwmgr->smumgr, PPSMC_MSG_InitializeAcg); smum_send_msg_to_smc(hwmgr->smumgr, PPSMC_MSG_RunAcgBtc); - vega10_read_arg_from_smc(hwmgr->smumgr, &agc_btc_response);; + vega10_read_arg_from_smc(hwmgr->smumgr, &agc_btc_response); if (1 == agc_btc_response) { if (1 == data->acg_loop_state) ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH v8 2/6] PCI: add resizeable BAR infrastructure v5
Hi Christian, [auto build test WARNING on pci/next] [also build test WARNING on v4.12 next-20170710] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/PCI-add-a-define-for-the-PCI-resource-type-mask-v2/20170711-104904 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next reproduce: make htmldocs All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) arch/x86/include/asm/uaccess_32.h:1: warning: no structured comments found include/linux/init.h:1: warning: no structured comments found include/linux/mod_devicetable.h:687: warning: Excess struct/union/enum/typedef member 'ver_major' description in 'fsl_mc_device_id' include/linux/mod_devicetable.h:687: warning: Excess struct/union/enum/typedef member 'ver_minor' description in 'fsl_mc_device_id' kernel/sched/core.c:2080: warning: No description found for parameter 'rf' kernel/sched/core.c:2080: warning: Excess function parameter 'cookie' description in 'try_to_wake_up_local' include/linux/wait.h:555: warning: No description found for parameter 'wq' include/linux/wait.h:555: warning: Excess function parameter 'wq_head' description in 'wait_event_interruptible_hrtimeout' include/linux/wait.h:759: warning: No description found for parameter 'wq_head' include/linux/wait.h:759: warning: Excess function parameter 'wq' description in 'wait_event_killable' include/linux/kthread.h:26: warning: Excess function parameter '...' description in 'kthread_create' kernel/sys.c:1: warning: no structured comments found Error: Cannot open file kernel/rcu/srcu.c Error: Cannot open file kernel/rcu/srcu.c WARNING: kernel-doc 'scripts/kernel-doc -rst -enable-lineno -export kernel/rcu/srcu.c' failed with return code 2 include/linux/device.h:968: warning: No description found for parameter 'dma_ops' drivers/dma-buf/seqno-fence.c:1: warning: no structured comments found include/linux/iio/iio.h:603: warning: No description found for parameter 'trig_readonly' include/linux/iio/trigger.h:151: warning: No description found for parameter 'indio_dev' include/linux/iio/trigger.h:151: warning: No description found for parameter 'trig' include/linux/device.h:969: warning: No description found for parameter 'dma_ops' drivers/ata/libata-eh.c:1449: warning: No description found for parameter 'link' drivers/ata/libata-eh.c:1449: warning: Excess function parameter 'ap' description in 'ata_eh_done' drivers/ata/libata-eh.c:1590: warning: No description found for parameter 'qc' drivers/ata/libata-eh.c:1590: warning: Excess function parameter 'dev' description in 'ata_eh_request_sense' >> drivers/pci/pci.c:2970: warning: No description found for parameter 'pdev' >> drivers/pci/pci.c:2970: warning: Excess function parameter 'dev' description >> in 'pci_rbar_find_pos' drivers/pci/pci.c:3004: warning: No description found for parameter 'pdev' >> drivers/pci/pci.c:3004: warning: Excess function parameter 'dev' description >> in 'pci_rbar_get_possible_sizes' drivers/pci/pci.c:3026: warning: No description found for parameter 'pdev' >> drivers/pci/pci.c:3026: warning: Excess function parameter 'dev' description >> in 'pci_rbar_get_current_size' drivers/pci/pci.c:3049: warning: No description found for parameter 'pdev' >> drivers/pci/pci.c:3049: warning: Excess function parameter 'dev' description >> in 'pci_rbar_set_size' arch/s390/include/asm/cmb.h:1: warning: no structured comments found drivers/scsi/scsi_lib.c:1116: warning: No description found for parameter 'rq' drivers/scsi/constants.c:1: warning: no structured comments found include/linux/usb/gadget.h:230: warning: No description found for parameter 'claimed' include/linux/usb/gadget.h:230: warning: No description found for parameter 'enabled' include/linux/usb/gadget.h:412: warning: No description found for parameter 'quirk_altset_not_supp' include/linux/usb/gadget.h:412: warning: No description found for parameter 'quirk_stall_not_supp' include/linux/usb/gadget.h:412: warning: No description found for parameter 'quirk_zlp_not_supp' fs/inode.c:1666: warning: No description found for parameter 'rcu' include/linux/jbd2.h:443: warning: No description found for parameter 'i_transaction' include/linux/jbd2.h:443: warning: No description found for parameter 'i_next_transaction' include/linux/jbd2.h:443: warning: No description found for parameter 'i_list' include/linux/jbd2.h:443: warning: No description found for parameter 'i_vfs_inode' include/linux/jbd2.h:443: warning: No description found for parameter 'i_flags' include/linux/jbd2.h:497: warning: No description found for parameter 'h_rsv_handle' include/linux/jbd2.h:497: warning: No description found for pa
Re: [PATCH v8 4/6] x86/PCI: Enable a 64bit BAR on AMD Family 15h (Models 30h-3fh) Processors v4
Hi Christian, [auto build test WARNING on pci/next] [also build test WARNING on next-20170710] [cannot apply to v4.12] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/PCI-add-a-define-for-the-PCI-resource-type-mask-v2/20170711-104904 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): arch/x86/pci/fixup.c: In function 'pci_amd_enable_64bit_bar': >> arch/x86/pci/fixup.c:674:15: warning: large integer implicitly truncated to >> unsigned type [-Woverflow] res->start = 0x1ull; ^~ arch/x86/pci/fixup.c:675:13: warning: large integer implicitly truncated to unsigned type [-Woverflow] res->end = 0xfdull - 1; ^~~ >> arch/x86/pci/fixup.c:686:22: warning: right shift count >= width of type >> [-Wshift-count-overflow] high = ((res->start >> 40) & AMD_141b_MMIO_HIGH_MMIOBASE_MASK) | ^~ arch/x86/pci/fixup.c:687:21: warning: right shift count >= width of type [-Wshift-count-overflow] res->end + 1) >> 40) << AMD_141b_MMIO_HIGH_MMIOLIMIT_SHIFT) ^~ vim +674 arch/x86/pci/fixup.c 634 635 /* 636 * The PCI Firmware Spec, rev 3.2 notes that ACPI should optionally allow 637 * configuring host bridge windows using the _PRS and _SRS methods. 638 * 639 * But this is rarely implemented, so we manually enable a large 64bit BAR for 640 * PCIe device on AMD Family 15h (Models 30h-3fh) Processors here. 641 */ 642 static void pci_amd_enable_64bit_bar(struct pci_dev *dev) 643 { 644 struct resource *res, *conflict; 645 u32 base, limit, high; 646 unsigned i; 647 648 for (i = 0; i < 8; ++i) { 649 pci_read_config_dword(dev, AMD_141b_MMIO_BASE(i), &base); 650 pci_read_config_dword(dev, AMD_141b_MMIO_HIGH(i), &high); 651 652 /* Is this slot free? */ 653 if (!(base & (AMD_141b_MMIO_BASE_RE_MASK | 654AMD_141b_MMIO_BASE_WE_MASK))) 655 break; 656 657 base >>= 8; 658 base |= high << 24; 659 660 /* Abort if a slot already configures a 64bit BAR. */ 661 if (base > 0x1) 662 return; 663 } 664 if (i == 8) 665 return; 666 667 res = kzalloc(sizeof(*res), GFP_KERNEL); 668 if (!res) 669 return; 670 671 res->name = "PCI Bus :00"; 672 res->flags = IORESOURCE_PREFETCH | IORESOURCE_MEM | 673 IORESOURCE_MEM_64 | IORESOURCE_WINDOW; > 674 res->start = 0x1ull; 675 res->end = 0xfdull - 1; 676 677 /* Just grab the free area behind system memory for this */ 678 while ((conflict = request_resource_conflict(&iomem_resource, res))) 679 res->start = conflict->end + 1; 680 681 dev_info(&dev->dev, "adding root bus resource %pR\n", res); 682 683 base = ((res->start >> 8) & AMD_141b_MMIO_BASE_MMIOBASE_MASK) | 684 AMD_141b_MMIO_BASE_RE_MASK | AMD_141b_MMIO_BASE_WE_MASK; 685 limit = ((res->end + 1) >> 8) & AMD_141b_MMIO_LIMIT_MMIOLIMIT_MASK; > 686 high = ((res->start >> 40) & AMD_141b_MMIO_HIGH_MMIOBASE_MASK) | --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[RFC PATCH linux-next] drm/amdgpu/gfx9: gfx_v9_0_enable_gfx_static_mg_power_gating() can be static
Signed-off-by: Fengguang Wu --- gfx_v9_0.c |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index a1e1b7aa..f2ae6f3 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c @@ -1992,8 +1992,8 @@ static void gfx_v9_0_enable_gfx_pipeline_powergating(struct amdgpu_device *adev, data = RREG32(SOC15_REG_OFFSET(GC, 0, mmDB_RENDER_CONTROL)); } -void gfx_v9_0_enable_gfx_static_mg_power_gating(struct amdgpu_device *adev, - bool enable) +static void gfx_v9_0_enable_gfx_static_mg_power_gating(struct amdgpu_device *adev, + bool enable) { uint32_t data, default_data; @@ -2006,7 +2006,7 @@ void gfx_v9_0_enable_gfx_static_mg_power_gating(struct amdgpu_device *adev, WREG32(SOC15_REG_OFFSET(GC, 0, mmRLC_PG_CNTL), data); } -void gfx_v9_0_enable_gfx_dynamic_mg_power_gating(struct amdgpu_device *adev, +static void gfx_v9_0_enable_gfx_dynamic_mg_power_gating(struct amdgpu_device *adev, bool enable) { uint32_t data, default_data; ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[linux-next:master 2278/9292] drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:1995:6: sparse: symbol 'gfx_v9_0_enable_gfx_static_mg_power_gating' was not declared. Should it be static?
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 09c17284731e42dbe4c6d334603e9c05ba1219ae commit: 18924c719e1d2b194f93ef757584b814421f22a5 [2278/9292] drm/amdgpu/gfx9: allow updating gfx mgpg state reproduce: # apt-get install sparse git checkout 18924c719e1d2b194f93ef757584b814421f22a5 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:400:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:402:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:404:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:406:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:408:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:410:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:420:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:422:57: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:427:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:429:53: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:439:36: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:440:41: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:452:17: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:454:17: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:466:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:466:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:466:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:473:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:473:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:473:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:480:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:480:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:480:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:487:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:487:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:487:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:495:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:495:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:495:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:495:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:495:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:495:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:501:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:501:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:501:25: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:510:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:510:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:510:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:510:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:510:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:510:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:515:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:515:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:515:33: sparse: cast to restricted __le32 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:581:25: sparse: incorrect type in assignment (different base types) drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:581:25:expected unsigned int volatile [unsigned] [usertype] drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:581:25:got restricted __le32 [usertype] drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:582:25: sparse: incorrect type in assignment (different base types) drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:582:25:expected unsigned int volatile [unsigned] [usertype] drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:582:25:got restricted __le32 [usertype] drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:584:25: sparse: incorrect type in assignment (different base types) drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:584:25:expected unsigned int volatile [unsigned] [usertype] driv
Re: [PATCH 1/4] drm/vc4: Allow vblank_disable_immediate on non-fw-kms.
Hi Mario, [auto build test ERROR on drm/drm-next] [also build test ERROR on v4.12-rc6 next-20170621] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mario-Kleiner/drm-vc4-Allow-vblank_disable_immediate-on-non-fw-kms/20170622-013723 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: x86_64-allyesconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/gpu//drm/vc4/vc4_kms.c: In function 'vc4_kms_load': >> drivers/gpu//drm/vc4/vc4_kms.c:220:10: error: 'struct vc4_dev' has no member >> named 'firmware_kms' if (!vc4->firmware_kms) ^~ vim +220 drivers/gpu//drm/vc4/vc4_kms.c 214 struct vc4_dev *vc4 = to_vc4_dev(dev); 215 int ret; 216 217 sema_init(&vc4->async_modeset, 1); 218 219 /* Set support for vblank irq fast disable, before drm_vblank_init() */ > 220 if (!vc4->firmware_kms) 221 dev->vblank_disable_immediate = true; 222 223 ret = drm_vblank_init(dev, dev->mode_config.num_crtc); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 11/11] drm: remove unused and redundant callbacks
Hi Peter, [auto build test ERROR on drm/drm-next] [also build test ERROR on next-20170621] [cannot apply to v4.12-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Peter-Rosin/improve-the-fb_setcmap-helper/20170621-205441 base: git://people.freedesktop.org/~airlied/linux.git drm-next config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): >> drivers/gpu//drm/armada/armada_fbdev.c:121:2: error: unknown field >> 'gamma_set' specified in initializer .gamma_set = armada_drm_crtc_gamma_set, ^ >> drivers/gpu//drm/armada/armada_fbdev.c:121:15: error: initialization from >> incompatible pointer type [-Werror=incompatible-pointer-types] .gamma_set = armada_drm_crtc_gamma_set, ^ drivers/gpu//drm/armada/armada_fbdev.c:121:15: note: (near initialization for 'armada_fb_helper_funcs.fb_probe') >> drivers/gpu//drm/armada/armada_fbdev.c:122:2: error: unknown field >> 'gamma_get' specified in initializer .gamma_get = armada_drm_crtc_gamma_get, ^ drivers/gpu//drm/armada/armada_fbdev.c:122:15: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .gamma_get = armada_drm_crtc_gamma_get, ^ drivers/gpu//drm/armada/armada_fbdev.c:122:15: note: (near initialization for 'armada_fb_helper_funcs.initial_config') cc1: some warnings being treated as errors vim +/gamma_set +121 drivers/gpu//drm/armada/armada_fbdev.c 96f60e37 Russell King 2012-08-15 115 ret = 1; 96f60e37 Russell King 2012-08-15 116 } 96f60e37 Russell King 2012-08-15 117 return ret; 96f60e37 Russell King 2012-08-15 118 } 96f60e37 Russell King 2012-08-15 119 3a493879 Thierry Reding 2014-06-27 120 static const struct drm_fb_helper_funcs armada_fb_helper_funcs = { 96f60e37 Russell King 2012-08-15 @121 .gamma_set = armada_drm_crtc_gamma_set, 96f60e37 Russell King 2012-08-15 @122 .gamma_get = armada_drm_crtc_gamma_get, 96f60e37 Russell King 2012-08-15 123 .fb_probe = armada_fb_probe, 96f60e37 Russell King 2012-08-15 124 }; 96f60e37 Russell King 2012-08-15 125 :: The code at line 121 was first introduced by commit :: 96f60e37dc66091bde8d5de136ff6fda09f2d799 DRM: Armada: Add Armada DRM driver :: TO: Russell King :: CC: Russell King --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 1/4] PCI: add resizeable BAR infrastructure v3
Hi Christian, [auto build test WARNING on pci/next] [also build test WARNING on v4.11-rc2 next-20170310] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/PCI-add-resizeable-BAR-infrastructure-v3/20170314-163334 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next reproduce: make htmldocs All warnings (new ones prefixed by >>): lib/crc32.c:148: warning: No description found for parameter 'tab)[256]' lib/crc32.c:148: warning: Excess function parameter 'tab' description in 'crc32_le_generic' lib/crc32.c:293: warning: No description found for parameter 'tab)[256]' lib/crc32.c:293: warning: Excess function parameter 'tab' description in 'crc32_be_generic' lib/crc32.c:1: warning: no structured comments found >> drivers/pci/pci.c:2951: warning: No description found for parameter 'pdev' >> drivers/pci/pci.c:2951: warning: Excess function parameter 'dev' description >> in 'pci_rbar_get_possible_sizes' drivers/pci/pci.c:2989: warning: No description found for parameter 'pdev' >> drivers/pci/pci.c:2989: warning: Excess function parameter 'dev' description >> in 'pci_rbar_get_current_size' drivers/pci/pci.c:3027: warning: No description found for parameter 'pdev' >> drivers/pci/pci.c:3027: warning: Excess function parameter 'dev' description >> in 'pci_rbar_set_size' vim +/pdev +2951 drivers/pci/pci.c 2945 * @bar: BAR to query 2946 * 2947 * Get the possible sizes of a resizeable BAR as bitmask defined in the spec 2948 * (bit 0=1MB, bit 19=512GB). Returns 0 if BAR isn't resizeable. 2949 */ 2950 u32 pci_rbar_get_possible_sizes(struct pci_dev *pdev, int bar) > 2951 { 2952 unsigned pos, nbars; 2953 u32 ctrl, cap; 2954 unsigned i; 2955 2956 pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_REBAR); 2957 if (!pos) 2958 return 0; 2959 2960 pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl); 2961 nbars = (ctrl & PCI_REBAR_CTRL_NBAR_MASK) >> PCI_REBAR_CTRL_NBAR_SHIFT; 2962 2963 for (i = 0; i < nbars; ++i, pos += 8) { 2964 int bar_idx; 2965 2966 pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl); 2967 bar_idx = (ctrl & PCI_REBAR_CTRL_BAR_IDX_MASK) >> 2968 PCI_REBAR_CTRL_BAR_IDX_SHIFT; 2969 if (bar_idx != bar) 2970 continue; 2971 2972 pci_read_config_dword(pdev, pos + PCI_REBAR_CAP, &cap); 2973 return (cap & PCI_REBAR_CTRL_SIZES_MASK) >> 2974 PCI_REBAR_CTRL_SIZES_SHIFT; 2975 } 2976 2977 return 0; 2978 } 2979 2980 /** 2981 * pci_rbar_get_current_size - get the current size of a BAR 2982 * @dev: PCI device 2983 * @bar: BAR to set size to 2984 * 2985 * Read the size of a BAR from the resizeable BAR config. 2986 * Returns size if found or negativ error code. 2987 */ 2988 int pci_rbar_get_current_size(struct pci_dev *pdev, int bar) > 2989 { 2990 unsigned pos, nbars; 2991 u32 ctrl; 2992 unsigned i; 2993 2994 pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_REBAR); 2995 if (!pos) 2996 return -ENOTSUPP; 2997 2998 pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl); 2999 nbars = (ctrl & PCI_REBAR_CTRL_NBAR_MASK) >> PCI_REBAR_CTRL_NBAR_SHIFT; 3000 3001 for (i = 0; i < nbars; ++i, pos += 8) { 3002 int bar_idx; 3003 3004 pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl); 3005 bar_idx = (ctrl & PCI_REBAR_CTRL_BAR_IDX_MASK) >> 3006 PCI_REBAR_CTRL_BAR_IDX_SHIFT; 3007 if (bar_idx != bar) 3008 continue; 3009 3010 return (ctrl & PCI_REBAR_CTRL_BAR_SIZE_MASK) >> 3011 PCI_REBAR_CTRL_BAR_SIZE_SHIFT; 3012 } 3013 3014 return -ENOENT; 3015 } 3016 3017 /** 3018 * pci_rbar_set_size - set a new size for a BAR 3019 * @dev: PCI device 3020 * @bar: BAR to set size to 3021 * @size: new size as defined in the spec (log2(size in bytes) - 20) 3022 * 3023 * Set the new size of a BAR as defined in the spec (0=1MB, 19=512GB). 3024 * Returns true if resizing was successful, false otherwise. 3025 */ 3026 int pci_rbar_set_size(struct pci_dev *pdev, int bar, int size) > 3027 { 3028 unsigned pos, nbars; 3029 u32 ctrl; 3030 unsigned i; --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/k
Re: [PATCH 3/4] x86/PCI: Enable a 64bit BAR on AMD Family 15h (Models 30h-3fh) Processors
Hi Christian, [auto build test WARNING on pci/next] [also build test WARNING on v4.11-rc2 next-20170310] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/PCI-add-resizeable-BAR-infrastructure-v3/20170314-163334 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: i386-randconfig-s0-201711 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): arch/x86/pci/fixup.c: In function 'pci_amd_enable_64bit_bar': >> arch/x86/pci/fixup.c:608:52: warning: large integer implicitly truncated to >> unsigned type [-Woverflow] r = allocate_resource(&iomem_resource, res, size, 0x1, ^~~ arch/x86/pci/fixup.c:609:10: warning: large integer implicitly truncated to unsigned type [-Woverflow] 0xfd, size, NULL, NULL); ^~~~ >> arch/x86/pci/fixup.c:617:22: warning: right shift count >= width of type >> [-Wshift-count-overflow] high = ((res->start >> 40) & 0xff) | ^~ arch/x86/pci/fixup.c:618:21: warning: right shift count >= width of type [-Wshift-count-overflow] res->end + 1) >> 40) & 0xff) << 16); ^~ vim +608 arch/x86/pci/fixup.c 602 return; 603 604 res = kzalloc(sizeof(*res), GFP_KERNEL); 605 res->flags = IORESOURCE_MEM | IORESOURCE_PREFETCH | IORESOURCE_MEM_64 | 606 IORESOURCE_WINDOW; 607 res->name = dev->bus->name; > 608 r = allocate_resource(&iomem_resource, res, size, 0x1, 6090xfd, size, NULL, NULL); 610 if (r) { 611 kfree(res); 612 return; 613 } 614 615 base = ((res->start >> 8) & 0xff00) | 0x3; 616 limit = ((res->end + 1) >> 8) & 0xff00; > 617 high = ((res->start >> 40) & 0xff) | 618 res->end + 1) >> 40) & 0xff) << 16); 619 620 pci_write_config_dword(dev, 0x180 + i * 0x4, high); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH 2/4] PCI: add functionality for resizing resources v2
Hi Christian, [auto build test WARNING on pci/next] [also build test WARNING on v4.11-rc2 next-20170310] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christian-K-nig/PCI-add-resizeable-BAR-infrastructure-v3/20170314-163334 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: i386-randconfig-x077-201711 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/pci/setup-res.c: In function 'pci_resize_resource': >> drivers/pci/setup-res.c:422:2: warning: ignoring return value of >> 'pci_reenable_device', declared with attribute warn_unused_result >> [-Wunused-result] pci_reenable_device(dev->bus->self); ^~~ drivers/pci/setup-res.c:432:2: warning: ignoring return value of 'pci_reenable_device', declared with attribute warn_unused_result [-Wunused-result] pci_reenable_device(dev->bus->self); ^~~ vim +/pci_reenable_device +422 drivers/pci/setup-res.c 406 res->end = resource_size(res) - 1; 407 res->start = 0; 408 if (resno < PCI_BRIDGE_RESOURCES) 409 pci_update_resource(dev, resno); 410 } 411 412 ret = pci_rbar_set_size(dev, resno, size); 413 if (ret) 414 goto error_reassign; 415 416 res->end = res->start + bytes - 1; 417 418 ret = pci_reassign_bridge_resources(dev->bus->self, res->flags); 419 if (ret) 420 goto error_resize; 421 > 422 pci_reenable_device(dev->bus->self); 423 return 0; 424 425 error_resize: 426 pci_rbar_set_size(dev, resno, old); 427 res->end = res->start + (1ULL << (old + 20)) - 1; 428 429 error_reassign: 430 pci_assign_unassigned_bus_resources(dev->bus); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx