tree: git://people.freedesktop.org/~agd5f/linux.git amd-19.30 head: 494cd065e68f6ba299e074e269b57773d7524e67 commit: 247814e2121b6f9d3b5f2ed04a7221b991fb441a [1374/2148] gpu: amdgpu: fix broken amdgpu_dma_buf.c references reproduce: make htmldocs If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) Documentation/sphinx/kerneldoc.py:93: RemovedInSphinx20Warning: app.verbose() is now deprecated. Use sphinx.util.logging instead. env.app.verbose('calling kernel-doc '%s'' % (" ".join(cmd))) Documentation/sphinx/kerneldoc.py:125: RemovedInSphinx20Warning: AutodocReporter is now deprecated. Use sphinx.util.docutils.switch_source_input() instead. self.state.memo.reporter = AutodocReporter(result, self.state.memo.reporter) include/linux/interrupt.h:268: warning: Function parameter or member 'is_managed' not described in 'irq_affinity_desc' block/blk-core.c:685: warning: Excess function parameter 'request_count' description in 'blk_attempt_plug_merge' block/blk-core.c:685: warning: Excess function parameter 'request_count' description in 'blk_attempt_plug_merge' include/linux/rcupdate_wait.h:1: warning: no structured comments found include/linux/rcutree.h:1: warning: no structured comments found kernel/rcu/tree.c:710: warning: Excess function parameter 'irq' description in 'rcu_nmi_exit' include/linux/gfp.h:1: warning: no structured comments found include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4687: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2393: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2393: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:1004: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:1004: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:590: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' 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:313: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:313: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:313: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:313: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:313: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:313: 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_dma_buf.c:204: warning: Function parameter or member 'target_dev' not described in 'amdgpu_dma_buf_map_attach' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:318: warning: Excess function parameter 'mm' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:318: warning: Excess function parameter 'start' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:318: warning: Excess function parameter 'end' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:205: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_read_lock' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:319: warning: Function parameter or member 'range' not described in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:319: warning: Excess function parameter 'mm' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:319: warning: Excess function parameter 'start' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:319: warning: Excess function parameter 'end' description in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:381: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_gfx' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:438: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:353: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor ' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1574: warning: Excess function parameter 'nodes' description in 'amdgpu_vm_bo_split_mapping' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:354: warning: cannot understand function prototype: 'struct amdgpu_vm_pt_cursor ' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:500: warning: Function parameter or member 'start' not described in 'amdgpu_vm_pt_first_dfs' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:552: warning: Function parameter or member 'adev' not described in 'for_each_amdgpu_vm_pt_dfs_safe' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:552: warning: Function parameter or member 'vm' not described in 'for_each_amdgpu_vm_pt_dfs_safe' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:552: warning: Function parameter or member 'start' not described in 'for_each_amdgpu_vm_pt_dfs_safe' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:552: warning: Function parameter or member 'cursor' not described in 'for_each_amdgpu_vm_pt_dfs_safe' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:552: warning: Function parameter or member 'entry' not described in 'for_each_amdgpu_vm_pt_dfs_safe' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:827: warning: Function parameter or member 'level' not described in 'amdgpu_vm_bo_param' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'params' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'bo' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'level' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'pe' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'addr' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'count' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'incr' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1298: warning: Function parameter or member 'flags' not described in 'amdgpu_vm_update_flags' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1575: warning: Function parameter or member 'mem' not described in 'amdgpu_vm_bo_split_mapping' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:1575: warning: Excess function parameter 'nodes' description in 'amdgpu_vm_bo_split_mapping' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:2855: warning: Function parameter or member 'pasid' not described in 'amdgpu_vm_make_compute' drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:375: warning: Excess function parameter 'entry' description in 'amdgpu_irq_dispatch' drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:376: warning: Function parameter or member 'ih' not described in 'amdgpu_irq_dispatch' drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:376: warning: Excess function parameter 'entry' description in 'amdgpu_irq_dispatch' drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c:1: warning: no structured comments found drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c:1: warning: no structured comments found drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c:1: warning: no structured comments found drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:153: warning: Incorrect use of kernel-doc format: Documentation Makefile include scripts source @atomic_obj drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:236: warning: Function parameter or member 'atomic_obj' not described in 'amdgpu_display_manager' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:236: warning: Function parameter or member 'backlight_link' not described in 'amdgpu_display_manager' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:236: warning: Function parameter or member 'backlight_caps' not described in 'amdgpu_display_manager' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:236: warning: Function parameter or member 'freesync_module' not described in 'amdgpu_display_manager' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:236: warning: Function parameter or member 'fw_dmcu' not described in 'amdgpu_display_manager' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h:236: warning: Function parameter or member 'dmcu_fw_version' not described in 'amdgpu_display_manager' drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:1: warning: no structured comments found include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' include/drm/drm_drv.h:618: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver' include/drm/drm_atomic_state_helper.h:1: warning: no structured comments found drivers/gpu/drm/scheduler/sched_main.c:367: warning: Function parameter or member 'bad' not described in 'drm_sched_stop' drivers/gpu/drm/scheduler/sched_main.c:431: warning: Function parameter or member 'full_recovery' not described in 'drm_sched_start' drivers/gpu/drm/i915/i915_vma.h:49: warning: cannot understand function prototype: 'struct i915_vma ' drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found drivers/gpu/drm/i915/intel_guc_fwif.h:536: warning: cannot understand function prototype: 'struct guc_log_buffer_state ' drivers/gpu/drm/i915/i915_trace.h:1: warning: no structured comments found include/linux/skbuff.h:876: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'skb_mstamp_ns' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member '__pkt_vlan_present_offset' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'vlan_present' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:876: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:238: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_listener' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' include/net/sock.h:513: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'sk_backlog.len' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'sk_backlog.head' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'sk_txtime_report_errors' not described in 'sock' include/net/sock.h:513: warning: Function parameter or member 'sk_validate_xmit_skb' not described in 'sock' include/linux/netdevice.h:2048: warning: Function parameter or member 'adj_list.upper' not described in 'net_device' vim +204 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 184 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 185 #if DRM_VERSION_CODE >= DRM_VERSION(4, 17, 0) || !defined(BUILD_AS_DKMS) baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 186 /** 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 187 * amdgpu_dma_buf_map_attach - &dma_buf_ops.attach implementation 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 188 * @dma_buf: Shared DMA buffer baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 189 * @attach: DMA-buf attachment baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 190 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 191 * Makes sure that the shared DMA buffer can be accessed by the target device. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 192 * For now, simply pins it to the GTT domain, where it should be accessible by baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 193 * all DMA devices. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 194 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 195 * Returns: 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 196 * 0 on success or a negative error code on failure. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 197 */ 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 198 static int amdgpu_dma_buf_map_attach(struct dma_buf *dma_buf, 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 199 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 200 struct device *target_dev, 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 201 #endif 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 202 struct dma_buf_attachment *attach) d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 203 { 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 @204 struct drm_gem_object *obj = dma_buf->priv; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 205 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); 2333bf9ad960eb7 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-03-21 206 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 207 long r; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 208 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 209 r = drm_gem_map_attach(dma_buf, 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 210 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 211 target_dev, 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 212 #endif 54037055a21bd95 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c tianci yin 2019-01-18 213 attach); 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 214 if (r) 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 215 return r; 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 216 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 217 r = amdgpu_bo_reserve(bo, false); 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 218 if (unlikely(r != 0)) 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 219 goto error_detach; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 220 9021d2edd259d99 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-19 221 2333bf9ad960eb7 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-03-21 222 if (attach->dev->driver != adev->dev->driver) { 8e94a46c1770884 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Mario Kleiner 2016-11-09 223 /* 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 224 * We only create shared fences for internal use, but importers 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 225 * of the dmabuf rely on exclusive fences for implicitly 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 226 * tracking write hazards. As any of the current fences may 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 227 * correspond to a write, we need to convert all existing 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 228 * fences on the reservation object into a single exclusive 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 229 * fence. 8e94a46c1770884 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Mario Kleiner 2016-11-09 230 */ 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 231 r = __reservation_object_make_exclusive(bo->tbo.resv); 2acede2cb051602 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Chris Wilson 2019-01-30 232 if (r) 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 233 goto error_unreserve; 8e94a46c1770884 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Mario Kleiner 2016-11-09 234 } 8e94a46c1770884 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Mario Kleiner 2016-11-09 235 d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 236 /* pin buffer into GTT */ 7b7c6c81b3a370b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Junwei Zhang 2018-06-25 237 r = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT); 9021d2edd259d99 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-19 238 if (r) 9021d2edd259d99 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-19 239 goto error_unreserve; 9021d2edd259d99 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-19 240 2333bf9ad960eb7 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-03-21 241 if (attach->dev->driver != adev->dev->driver) 8e94a46c1770884 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Mario Kleiner 2016-11-09 242 bo->prime_shared_count++; 8e94a46c1770884 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Mario Kleiner 2016-11-09 243 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 244 error_unreserve: d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 245 amdgpu_bo_unreserve(bo); 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 246 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 247 error_detach: 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 248 if (r) 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 249 drm_gem_map_detach(dma_buf, attach); 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 250 return r; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 251 } d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 252 baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 253 /** 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 254 * amdgpu_dma_buf_map_detach - &dma_buf_ops.detach implementation 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 255 * @dma_buf: Shared DMA buffer baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 256 * @attach: DMA-buf attachment baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 257 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 258 * This is called when a shared DMA buffer no longer needs to be accessible by 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 259 * another device. For now, simply unpins the buffer from GTT. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 260 */ 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 261 static void amdgpu_dma_buf_map_detach(struct dma_buf *dma_buf, 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 262 struct dma_buf_attachment *attach) d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 263 { 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 264 struct drm_gem_object *obj = dma_buf->priv; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 265 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); 2333bf9ad960eb7 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-03-21 266 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 267 int ret = 0; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 268 c81a1a74037f61c drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2017-04-28 269 ret = amdgpu_bo_reserve(bo, true); d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 270 if (unlikely(ret != 0)) 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 271 goto error; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 272 d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 273 amdgpu_bo_unpin(bo); 2333bf9ad960eb7 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-03-21 274 if (attach->dev->driver != adev->dev->driver && bo->prime_shared_count) 8e94a46c1770884 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Mario Kleiner 2016-11-09 275 bo->prime_shared_count--; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 276 amdgpu_bo_unreserve(bo); 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 277 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 278 error: 5a13761fa68306b drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-02-16 279 drm_gem_map_detach(dma_buf, attach); d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 280 } a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 281 #endif a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 282 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 283 #if DRM_VERSION_CODE < DRM_VERSION(4, 17, 0) && defined(BUILD_AS_DKMS) a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 284 int amdgpu_gem_prime_pin(struct drm_gem_object *obj) a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 285 { a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 286 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 287 long ret = 0; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 288 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 289 ret = amdgpu_bo_reserve(bo, false); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 290 if (unlikely(ret != 0)) a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 291 return ret; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 292 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 293 /* a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 294 * Wait for all shared fences to complete before we switch to future a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 295 * use of exclusive fence on this prime shared bo. a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 296 */ a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 297 ret = reservation_object_wait_timeout_rcu(bo->tbo.resv, true, false, a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 298 MAX_SCHEDULE_TIMEOUT); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 299 if (unlikely(ret < 0)) { a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 300 DRM_DEBUG_PRIME("Fence wait failed: %li\n", ret); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 301 amdgpu_bo_unreserve(bo); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 302 return ret; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 303 } a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 304 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 305 /* pin buffer into GTT */ a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 306 ret = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 307 if (likely(ret == 0)) a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 308 bo->prime_shared_count++; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 309 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 310 amdgpu_bo_unreserve(bo); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 311 return ret; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 312 } a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 313 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 314 void amdgpu_gem_prime_unpin(struct drm_gem_object *obj) a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 315 { a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 316 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 317 int ret = 0; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 318 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 319 ret = amdgpu_bo_reserve(bo, true); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 320 if (unlikely(ret != 0)) a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 321 return; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 322 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 323 amdgpu_bo_unpin(bo); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 324 if (bo->prime_shared_count) a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 325 bo->prime_shared_count--; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 326 amdgpu_bo_unreserve(bo); a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 327 } a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 328 #endif d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 329 baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 330 /** baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 331 * amdgpu_gem_prime_res_obj - &drm_driver.gem_prime_res_obj implementation 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 332 * @obj: GEM BO baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 333 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 334 * Returns: 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 335 * The BO's reservation object. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 336 */ d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 337 struct reservation_object *amdgpu_gem_prime_res_obj(struct drm_gem_object *obj) d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 338 { d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 339 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 340 d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 341 return bo->tbo.resv; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 342 } d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 343 a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 344 #if DRM_VERSION_CODE >= DRM_VERSION(4, 17, 0) || !defined(BUILD_AS_DKMS) baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 345 /** 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 346 * amdgpu_dma_buf_begin_cpu_access - &dma_buf_ops.begin_cpu_access implementation 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 347 * @dma_buf: Shared DMA buffer 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 348 * @direction: Direction of DMA transfer baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 349 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 350 * This is called before CPU access to the shared DMA buffer's memory. If it's baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 351 * a read access, the buffer is moved to the GTT domain if possible, for optimal baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 352 * CPU read performance. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 353 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 354 * Returns: 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 355 * 0 on success or a negative error code on failure. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 356 */ 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 357 static int amdgpu_dma_buf_begin_cpu_access(struct dma_buf *dma_buf, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 358 enum dma_data_direction direction) 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 359 { 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 360 struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 361 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 362 struct ttm_operation_ctx ctx = { true, false }; 1d2361e5a6c60d7 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2018-04-18 363 u32 domain = amdgpu_display_supported_domains(adev); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 364 int ret; 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 365 bool reads = (direction == DMA_BIDIRECTIONAL || 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 366 direction == DMA_FROM_DEVICE); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 367 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 368 if (!reads || !(domain & AMDGPU_GEM_DOMAIN_GTT)) 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 369 return 0; 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 370 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 371 /* move to gtt */ 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 372 ret = amdgpu_bo_reserve(bo, false); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 373 if (unlikely(ret != 0)) 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 374 return ret; 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 375 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 376 if (!bo->pin_count && (bo->allowed_domains & AMDGPU_GEM_DOMAIN_GTT)) { c704ab18e0a26a5 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2018-07-16 377 amdgpu_bo_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_GTT); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 378 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 379 } 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 380 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 381 amdgpu_bo_unreserve(bo); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 382 return ret; 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 383 } 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 384 1dde0ea95b78242 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Felix Kuehling 2018-11-20 385 const struct dma_buf_ops amdgpu_dmabuf_ops = { 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 386 .attach = amdgpu_dma_buf_map_attach, 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 387 .detach = amdgpu_dma_buf_map_detach, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 388 .map_dma_buf = drm_gem_map_dma_buf, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 389 .unmap_dma_buf = drm_gem_unmap_dma_buf, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 390 .release = drm_gem_dmabuf_release, 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 391 .begin_cpu_access = amdgpu_dma_buf_begin_cpu_access, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 392 .mmap = drm_gem_dmabuf_mmap, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 393 .vmap = drm_gem_dmabuf_vmap, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 394 .vunmap = drm_gem_dmabuf_vunmap, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 395 }; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 396 #endif 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 397 baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 398 /** baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 399 * amdgpu_gem_prime_export - &drm_driver.gem_prime_export implementation baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 400 * @dev: DRM device 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 401 * @gobj: GEM BO 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 402 * @flags: Flags such as DRM_CLOEXEC and DRM_RDWR. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 403 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 404 * The main work is done by the &drm_gem_prime_export helper, which in turn baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 405 * uses &amdgpu_gem_prime_res_obj. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 406 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 407 * Returns: 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 408 * Shared DMA buffer representing the GEM BO from the given device. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 409 */ d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 410 struct dma_buf *amdgpu_gem_prime_export(struct drm_device *dev, d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 411 struct drm_gem_object *gobj, d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 412 int flags) d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 413 { d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 414 struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); 4b277247b1df177 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2017-11-13 415 struct dma_buf *buf; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 416 e1eb899b45781b9 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2017-08-25 417 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || e1eb899b45781b9 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2017-08-25 418 bo->flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 419 return ERR_PTR(-EPERM); d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 420 4b277247b1df177 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2017-11-13 421 buf = drm_gem_prime_export(dev, gobj, flags); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 422 if (!IS_ERR(buf)) { 4b277247b1df177 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2017-11-13 423 buf->file->f_mapping = dev->anon_inode->i_mapping; ada38489ee77e6d drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-09-27 424 #if DRM_VERSION_CODE >= DRM_VERSION(4, 17, 0) 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 425 buf->ops = &amdgpu_dmabuf_ops; a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 426 #endif 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 427 } 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 428 4b277247b1df177 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Christian König 2017-11-13 429 return buf; d38ceaf99ed015f drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Alex Deucher 2015-04-20 430 } 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 431 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 432 /** 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 433 * amdgpu_gem_prime_import_sg_table - &drm_driver.gem_prime_import_sg_table 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 434 * implementation 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 435 * @dev: DRM device 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 436 * @attach: DMA-buf attachment 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 437 * @sg: Scatter/gather table 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 438 * 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 439 * Imports shared DMA buffer memory exported by another device. 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 440 * 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 441 * Returns: 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 442 * A new GEM BO of the given DRM device, representing the memory 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 443 * described by the given DMA-buf attachment and scatter/gather table. 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 444 */ 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 445 struct drm_gem_object * 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 446 amdgpu_gem_prime_import_sg_table(struct drm_device *dev, 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 447 struct dma_buf_attachment *attach, 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 448 struct sg_table *sg) 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 449 { 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 450 struct reservation_object *resv = attach->dmabuf->resv; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 451 struct amdgpu_device *adev = dev->dev_private; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 452 struct amdgpu_bo *bo; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 453 struct amdgpu_bo_param bp; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 454 int ret; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 455 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 456 memset(&bp, 0, sizeof(bp)); 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 457 bp.size = attach->dmabuf->size; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 458 bp.byte_align = PAGE_SIZE; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 459 bp.domain = AMDGPU_GEM_DOMAIN_CPU; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 460 bp.flags = 0; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 461 bp.type = ttm_bo_type_sg; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 462 bp.resv = resv; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 463 ww_mutex_lock(&resv->lock, NULL); 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 464 ret = amdgpu_bo_create(adev, &bp, &bo); 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 465 if (ret) 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 466 goto error; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 467 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 468 bo->tbo.sg = sg; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 469 bo->tbo.ttm->sg = sg; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 470 bo->allowed_domains = AMDGPU_GEM_DOMAIN_GTT; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 471 bo->preferred_domains = AMDGPU_GEM_DOMAIN_GTT; a182341f020385f drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c changzhu 2019-05-07 472 #if DRM_VERSION_CODE >= DRM_VERSION(4, 17, 0) || !defined(BUILD_AS_DKMS) 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 473 if (attach->dmabuf->ops != &amdgpu_dmabuf_ops) a182341f020385f drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c changzhu 2019-05-07 474 #endif 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 475 bo->prime_shared_count = 1; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 476 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 477 ww_mutex_unlock(&resv->lock); 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 478 return &bo->gem_base; 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 479 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 480 error: 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 481 ww_mutex_unlock(&resv->lock); 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 482 return ERR_PTR(ret); 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 483 } 6a745988552e2b5 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c Christian König 2019-05-06 484 ada38489ee77e6d drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-09-27 485 #if DRM_VERSION_CODE >= DRM_VERSION(4, 17, 0) baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 486 /** baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 487 * amdgpu_gem_prime_import - &drm_driver.gem_prime_import implementation baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 488 * @dev: DRM device baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 489 * @dma_buf: Shared DMA buffer baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 490 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 491 * The main work is done by the &drm_gem_prime_import helper, which in turn baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 492 * uses &amdgpu_gem_prime_import_sg_table. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 493 * baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 494 * Returns: 56ea09760076800 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Vijetha Malkai 2018-09-13 495 * GEM BO representing the shared DMA buffer for the given device. baca30fabdc9ba2 drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Michel Dänzer 2018-05-29 496 */ 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 497 struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev, 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 498 struct dma_buf *dma_buf) 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 499 { 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 500 struct drm_gem_object *obj; 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 501 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 502 if (dma_buf->ops == &amdgpu_dmabuf_ops) { 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 503 obj = dma_buf->priv; 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 504 if (obj->dev == dev) { 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 505 /* 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 506 * Importing dmabuf exported from out own gem increases 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 507 * refcount on gem itself instead of f_count of dmabuf. 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 508 */ 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 509 drm_gem_object_get(obj); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 510 return obj; 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 511 } 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 512 } 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 513 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 514 return drm_gem_prime_import(dev, dma_buf); 09052fc3769c98e drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Samuel Li 2017-12-08 515 } a6a944b476552be drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c Kevin Wang 2018-01-15 516 #endif :::::: The code at line 204 was first introduced by commit :::::: 5a13761fa68306bc21ff91d9ca4d56d14793c889 drm/amdgpu: implement amdgpu_gem_map_(attach/detach) :::::: TO: Christian König <christian.koenig@xxxxxxx> :::::: CC: Alex Deucher <alexander.deucher@xxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip