[radeon-alex:amd-staging-drm-next 663/675] htmldocs: drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2745: warning: Function parameter or member 'pasid' not described in 'amdgpu_vm_make_compute'
kbuild test robot
lkp at intel.com
Thu Aug 30 00:23:42 UTC 2018
tree: git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head: 209dfdfaae8fa671821b778b77e8295e6d9a47d0
commit: 202571ff39473c6831c4300276127bdb8c34c6b7 [663/675] drm/amdgpu: Set pasid for compute vm
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)
mm/mempool.c:228: warning: Function parameter or member 'pool' not described in 'mempool_init'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev'
include/net/cfg80211.h:4279: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev'
include/net/mac80211.h:2282: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw'
include/net/mac80211.h:2282: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw'
include/net/mac80211.h:955: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info'
include/net/mac80211.h:955: 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'
kernel/sched/fair.c:3760: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg'
include/linux/device.h:93: warning: bad line: this bus.
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:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip'
include/linux/iio/hw-consumer.h:1: warning: no structured comments found
include/linux/device.h:94: warning: bad line: this bus.
include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry'
include/linux/regulator/driver.h:227: warning: Function parameter or member 'resume_early' not described in 'regulator_ops'
drivers/regulator/core.c:4465: warning: Excess function parameter 'state' description in 'regulator_suspend_late'
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/usb/dwc3/gadget.c:510: warning: Excess function parameter 'dwc' description in 'dwc3_gadget_start_config'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3055: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:488: warning: Function parameter or member 'level' not described in 'amdgpu_vm_bo_param'
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2745: warning: Function parameter or member 'pasid' not described in 'amdgpu_vm_make_compute'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3056: warning: Function parameter or member 'adev' not described in 'amdgpu_vm_get_task_info'
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3056: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver'
include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver'
include/drm/drm_panel.h:98: warning: Function parameter or member 'link' not described in 'drm_panel'
drivers/gpu/drm/i915/i915_vma.h:48: warning: cannot understand function prototype: 'struct i915_vma '
drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found
include/drm/tinydrm/tinydrm.h:34: warning: Function parameter or member 'fb_dirty' not described in 'tinydrm_device'
drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'crtc_state' not described in 'mipi_dbi_enable_flush'
drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'plane_state' not described in 'mipi_dbi_enable_flush'
include/linux/skbuff.h:852: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'head_frag' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member '__unused' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'pfmemalloc' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'encapsulation' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'csum_valid' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'csum_level' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff'
include/linux/skbuff.h:852: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff'
include/net/sock.h:234: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_portpair' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_cookie' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_listener' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common'
include/net/sock.h:234: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common'
include/net/sock.h:493: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock'
include/net/sock.h:493: warning: Function parameter or member 'sk_backlog.len' not described in 'sock'
include/net/sock.h:493: warning: Function parameter or member 'sk_backlog.head' not described in 'sock'
include/net/sock.h:493: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock'
include/net/sock.h:493: warning: Function parameter or member 'sk_wq_raw' not described in 'sock'
include/net/sock.h:493: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock'
include/net/sock.h:493: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock'
include/net/sock.h:493: warning: Function parameter or member 'sk_validate_xmit_skb' not described in 'sock'
net/core/datagram.c:835: warning: Function parameter or member 'events' not described in 'datagram_poll_mask'
include/linux/netdevice.h:1997: warning: Function parameter or member 'adj_list.upper' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'adj_list.lower' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'gso_partial_features' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'switchdev_ops' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'l3mdev_ops' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'xfrmdev_ops' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'tlsdev_ops' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'name_assign_type' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'ieee802154_ptr' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'mpls_ptr' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'xdp_prog' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'gro_flush_timeout' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'nf_hooks_ingress' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member '____cacheline_aligned_in_smp' not described in 'net_device'
include/linux/netdevice.h:1997: warning: Function parameter or member 'qdisc_hash' not described in 'net_device'
include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(advertising' not described in 'phylink_link_state'
include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(lp_advertising' not described in 'phylink_link_state'
sound/soc/soc-core.c:2787: warning: Excess function parameter 'legacy_dai_naming' description in 'snd_soc_register_dais'
include/linux/rcupdate.h:571: ERROR: Unexpected indentation.
include/linux/rcupdate.h:575: ERROR: Unexpected indentation.
include/linux/rcupdate.h:579: WARNING: Block quote ends without a blank line; unexpected unindent.
include/linux/rcupdate.h:581: WARNING: Block quote ends without a blank line; unexpected unindent.
include/linux/rcupdate.h:581: WARNING: Inline literal start-string without end-string.
lib/reed_solomon/reed_solomon.c:287: ERROR: Unknown target name: "gfp".
include/linux/wait.h:110: WARNING: Block quote ends without a blank line; unexpected unindent.
include/linux/wait.h:113: ERROR: Unexpected indentation.
include/linux/wait.h:115: WARNING: Block quote ends without a blank line; unexpected unindent.
kernel/time/hrtimer.c:1129: WARNING: Block quote ends without a blank line; unexpected unindent.
kernel/signal.c:327: WARNING: Inline literal start-string without end-string.
drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
drivers/ata/libata-core.c:5943: ERROR: Unknown target name: "hw".
drivers/message/fusion/mptbase.c:5054: WARNING: Definition list ends without a blank line; unexpected unindent.
drivers/tty/serial/serial_core.c:1892: WARNING: Definition list ends without a blank line; unexpected unindent.
include/linux/mtd/rawnand.h:1446: WARNING: Inline strong start-string without end-string.
include/linux/mtd/rawnand.h:1448: WARNING: Inline strong start-string without end-string.
include/linux/regulator/driver.h:279: ERROR: Unknown target name: "regulator_regmap_x_voltage".
Documentation/driver-api/soundwire/locking.rst:50: ERROR: Inconsistent literal block quoting.
Documentation/driver-api/soundwire/locking.rst:51: WARNING: Line block ends without a blank line.
Documentation/driver-api/soundwire/locking.rst:55: WARNING: Inline substitution_reference start-string without end-string.
Documentation/driver-api/soundwire/locking.rst:56: WARNING: Line block ends without a blank line.
Documentation/driver-api/soundwire/stream.rst:177: WARNING: Explicit markup ends without a blank line; unexpected unindent.
vim +2745 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
d38ceaf9 Alex Deucher 2015-04-20 2721
d38ceaf9 Alex Deucher 2015-04-20 2722 /**
b236fa1d Felix Kuehling 2018-03-15 2723 * amdgpu_vm_make_compute - Turn a GFX VM into a compute VM
b236fa1d Felix Kuehling 2018-03-15 2724 *
7fc48e59 Andrey Grodzovsky 2018-06-11 2725 * @adev: amdgpu_device pointer
7fc48e59 Andrey Grodzovsky 2018-06-11 2726 * @vm: requested vm
7fc48e59 Andrey Grodzovsky 2018-06-11 2727 *
b236fa1d Felix Kuehling 2018-03-15 2728 * This only works on GFX VMs that don't have any BOs added and no
b236fa1d Felix Kuehling 2018-03-15 2729 * page tables allocated yet.
b236fa1d Felix Kuehling 2018-03-15 2730 *
b236fa1d Felix Kuehling 2018-03-15 2731 * Changes the following VM parameters:
b236fa1d Felix Kuehling 2018-03-15 2732 * - use_cpu_for_update
b236fa1d Felix Kuehling 2018-03-15 2733 * - pte_supports_ats
b236fa1d Felix Kuehling 2018-03-15 2734 * - pasid (old PASID is released, because compute manages its own PASIDs)
b236fa1d Felix Kuehling 2018-03-15 2735 *
b236fa1d Felix Kuehling 2018-03-15 2736 * Reinitializes the page directory to reflect the changed ATS
b236fa1d Felix Kuehling 2018-03-15 2737 * setting. May leave behind an unused shadow BO for the page
b236fa1d Felix Kuehling 2018-03-15 2738 * directory when switching from SDMA updates to CPU updates.
b236fa1d Felix Kuehling 2018-03-15 2739 *
7fc48e59 Andrey Grodzovsky 2018-06-11 2740 * Returns:
7fc48e59 Andrey Grodzovsky 2018-06-11 2741 * 0 for success, -errno for errors.
b236fa1d Felix Kuehling 2018-03-15 2742 */
202571ff Oak Zeng 2018-08-27 2743 int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm, unsigned int pasid)
b236fa1d Felix Kuehling 2018-03-15 2744 {
b236fa1d Felix Kuehling 2018-03-15 @2745 bool pte_support_ats = (adev->asic_type == CHIP_RAVEN);
b236fa1d Felix Kuehling 2018-03-15 2746 int r;
b236fa1d Felix Kuehling 2018-03-15 2747
b236fa1d Felix Kuehling 2018-03-15 2748 r = amdgpu_bo_reserve(vm->root.base.bo, true);
b236fa1d Felix Kuehling 2018-03-15 2749 if (r)
b236fa1d Felix Kuehling 2018-03-15 2750 return r;
b236fa1d Felix Kuehling 2018-03-15 2751
b236fa1d Felix Kuehling 2018-03-15 2752 /* Sanity checks */
b236fa1d Felix Kuehling 2018-03-15 2753 if (!RB_EMPTY_ROOT(&vm->va.rb_root) || vm->root.entries) {
b236fa1d Felix Kuehling 2018-03-15 2754 r = -EINVAL;
202571ff Oak Zeng 2018-08-27 2755 goto unreserve_bo;
202571ff Oak Zeng 2018-08-27 2756 }
202571ff Oak Zeng 2018-08-27 2757
202571ff Oak Zeng 2018-08-27 2758 if (pasid) {
202571ff Oak Zeng 2018-08-27 2759 unsigned long flags;
202571ff Oak Zeng 2018-08-27 2760
202571ff Oak Zeng 2018-08-27 2761 spin_lock_irqsave(&adev->vm_manager.pasid_lock, flags);
202571ff Oak Zeng 2018-08-27 2762 r = idr_alloc(&adev->vm_manager.pasid_idr, vm, pasid, pasid + 1,
202571ff Oak Zeng 2018-08-27 2763 GFP_ATOMIC);
202571ff Oak Zeng 2018-08-27 2764 spin_unlock_irqrestore(&adev->vm_manager.pasid_lock, flags);
202571ff Oak Zeng 2018-08-27 2765
202571ff Oak Zeng 2018-08-27 2766 if (r == -ENOSPC)
202571ff Oak Zeng 2018-08-27 2767 goto unreserve_bo;
202571ff Oak Zeng 2018-08-27 2768 r = 0;
b236fa1d Felix Kuehling 2018-03-15 2769 }
b236fa1d Felix Kuehling 2018-03-15 2770
b236fa1d Felix Kuehling 2018-03-15 2771 /* Check if PD needs to be reinitialized and do it before
b236fa1d Felix Kuehling 2018-03-15 2772 * changing any other state, in case it fails.
b236fa1d Felix Kuehling 2018-03-15 2773 */
b236fa1d Felix Kuehling 2018-03-15 2774 if (pte_support_ats != vm->pte_support_ats) {
b236fa1d Felix Kuehling 2018-03-15 2775 r = amdgpu_vm_clear_bo(adev, vm, vm->root.base.bo,
b236fa1d Felix Kuehling 2018-03-15 2776 adev->vm_manager.root_level,
b236fa1d Felix Kuehling 2018-03-15 2777 pte_support_ats);
b236fa1d Felix Kuehling 2018-03-15 2778 if (r)
202571ff Oak Zeng 2018-08-27 2779 goto free_idr;
b236fa1d Felix Kuehling 2018-03-15 2780 }
b236fa1d Felix Kuehling 2018-03-15 2781
b236fa1d Felix Kuehling 2018-03-15 2782 /* Update VM state */
b236fa1d Felix Kuehling 2018-03-15 2783 vm->use_cpu_for_update = !!(adev->vm_manager.vm_update_mode &
b236fa1d Felix Kuehling 2018-03-15 2784 AMDGPU_VM_USE_CPU_FOR_COMPUTE);
b236fa1d Felix Kuehling 2018-03-15 2785 vm->pte_support_ats = pte_support_ats;
b236fa1d Felix Kuehling 2018-03-15 2786 DRM_DEBUG_DRIVER("VM update mode is %s\n",
b236fa1d Felix Kuehling 2018-03-15 2787 vm->use_cpu_for_update ? "CPU" : "SDMA");
c8c5e569 Andrey Grodzovsky 2018-06-12 2788 WARN_ONCE((vm->use_cpu_for_update & !amdgpu_gmc_vram_full_visible(&adev->gmc)),
b236fa1d Felix Kuehling 2018-03-15 2789 "CPU update of VM recommended only for large BAR system\n");
b236fa1d Felix Kuehling 2018-03-15 2790
b236fa1d Felix Kuehling 2018-03-15 2791 if (vm->pasid) {
b236fa1d Felix Kuehling 2018-03-15 2792 unsigned long flags;
b236fa1d Felix Kuehling 2018-03-15 2793
b236fa1d Felix Kuehling 2018-03-15 2794 spin_lock_irqsave(&adev->vm_manager.pasid_lock, flags);
b236fa1d Felix Kuehling 2018-03-15 2795 idr_remove(&adev->vm_manager.pasid_idr, vm->pasid);
b236fa1d Felix Kuehling 2018-03-15 2796 spin_unlock_irqrestore(&adev->vm_manager.pasid_lock, flags);
b236fa1d Felix Kuehling 2018-03-15 2797
202571ff Oak Zeng 2018-08-27 2798 /* Free the original amdgpu allocated pasid
202571ff Oak Zeng 2018-08-27 2799 * Will be replaced with kfd allocated pasid
202571ff Oak Zeng 2018-08-27 2800 */
202571ff Oak Zeng 2018-08-27 2801 amdgpu_pasid_free(vm->pasid);
b236fa1d Felix Kuehling 2018-03-15 2802 vm->pasid = 0;
b236fa1d Felix Kuehling 2018-03-15 2803 }
b236fa1d Felix Kuehling 2018-03-15 2804
202571ff Oak Zeng 2018-08-27 2805 if (pasid)
202571ff Oak Zeng 2018-08-27 2806 vm->pasid = pasid;
202571ff Oak Zeng 2018-08-27 2807
202571ff Oak Zeng 2018-08-27 2808 goto unreserve_bo;
202571ff Oak Zeng 2018-08-27 2809
202571ff Oak Zeng 2018-08-27 2810 free_idr:
202571ff Oak Zeng 2018-08-27 2811 if (pasid) {
202571ff Oak Zeng 2018-08-27 2812 unsigned long flags;
202571ff Oak Zeng 2018-08-27 2813
202571ff Oak Zeng 2018-08-27 2814 spin_lock_irqsave(&adev->vm_manager.pasid_lock, flags);
202571ff Oak Zeng 2018-08-27 2815 idr_remove(&adev->vm_manager.pasid_idr, pasid);
202571ff Oak Zeng 2018-08-27 2816 spin_unlock_irqrestore(&adev->vm_manager.pasid_lock, flags);
202571ff Oak Zeng 2018-08-27 2817 }
202571ff Oak Zeng 2018-08-27 2818 unreserve_bo:
b236fa1d Felix Kuehling 2018-03-15 2819 amdgpu_bo_unreserve(vm->root.base.bo);
b236fa1d Felix Kuehling 2018-03-15 2820 return r;
b236fa1d Felix Kuehling 2018-03-15 2821 }
b236fa1d Felix Kuehling 2018-03-15 2822
:::::: The code at line 2745 was first introduced by commit
:::::: b236fa1d339670cc997b68c31be57855bbabc126 drm/amdgpu: Add helper to turn an existing VM into a compute VM
:::::: TO: Felix Kuehling <Felix.Kuehling at amd.com>
:::::: CC: Oded Gabbay <oded.gabbay at gmail.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 6451 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180830/bb6ce362/attachment-0001.gz>
More information about the dri-devel
mailing list