Hi James, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 6147c83fd749d19a0d3ccc2f64d12138ab010b47 commit: 52f9535ca4f4268aa7c27975da330cb8dd6a9bf7 [7732/8750] drm/amdgpu/vcn3.0: add dec software ring vm functions to support config: arc-randconfig-r021-20201126 (attached as .config) compiler: arceb-elf-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=52f9535ca4f4268aa7c27975da330cb8dd6a9bf7 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 52f9535ca4f4268aa7c27975da330cb8dd6a9bf7 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c: In function 'vcn_v3_0_start_sriov': drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1243:3: warning: variable 'direct_poll' set but not used [-Wunused-but-set-variable] 1243 | direct_poll = { {0} }; | ^~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c: At top level: >> drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1677:6: warning: no previous prototype for 'vcn_v3_0_dec_sw_ring_emit_fence' [-Wmissing-prototypes] 1677 | void vcn_v3_0_dec_sw_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1689:6: warning: no previous prototype for 'vcn_v3_0_dec_sw_ring_insert_end' [-Wmissing-prototypes] 1689 | void vcn_v3_0_dec_sw_ring_insert_end(struct amdgpu_ring *ring) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1694:6: warning: no previous prototype for 'vcn_v3_0_dec_sw_ring_emit_ib' [-Wmissing-prototypes] 1694 | void vcn_v3_0_dec_sw_ring_emit_ib(struct amdgpu_ring *ring, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1708:6: warning: no previous prototype for 'vcn_v3_0_dec_sw_ring_emit_reg_wait' [-Wmissing-prototypes] 1708 | void vcn_v3_0_dec_sw_ring_emit_reg_wait(struct amdgpu_ring *ring, uint32_t reg, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1717:6: warning: no previous prototype for 'vcn_v3_0_dec_sw_ring_emit_vm_flush' [-Wmissing-prototypes] 1717 | void vcn_v3_0_dec_sw_ring_emit_vm_flush(struct amdgpu_ring *ring, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1732:6: warning: no previous prototype for 'vcn_v3_0_dec_sw_ring_emit_wreg' [-Wmissing-prototypes] 1732 | void vcn_v3_0_dec_sw_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/vcn_v3_0_dec_sw_ring_emit_fence +1677 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c 1676 > 1677 void vcn_v3_0_dec_sw_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, 1678 u64 seq, uint32_t flags) 1679 { 1680 WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT); 1681 1682 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_FENCE); 1683 amdgpu_ring_write(ring, addr); 1684 amdgpu_ring_write(ring, upper_32_bits(addr)); 1685 amdgpu_ring_write(ring, seq); 1686 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_TRAP); 1687 } 1688 > 1689 void vcn_v3_0_dec_sw_ring_insert_end(struct amdgpu_ring *ring) 1690 { 1691 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_END); 1692 } 1693 > 1694 void vcn_v3_0_dec_sw_ring_emit_ib(struct amdgpu_ring *ring, 1695 struct amdgpu_job *job, 1696 struct amdgpu_ib *ib, 1697 uint32_t flags) 1698 { 1699 uint32_t vmid = AMDGPU_JOB_GET_VMID(job); 1700 1701 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_IB); 1702 amdgpu_ring_write(ring, vmid); 1703 amdgpu_ring_write(ring, lower_32_bits(ib->gpu_addr)); 1704 amdgpu_ring_write(ring, upper_32_bits(ib->gpu_addr)); 1705 amdgpu_ring_write(ring, ib->length_dw); 1706 } 1707 > 1708 void vcn_v3_0_dec_sw_ring_emit_reg_wait(struct amdgpu_ring *ring, uint32_t reg, 1709 uint32_t val, uint32_t mask) 1710 { 1711 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_REG_WAIT); 1712 amdgpu_ring_write(ring, reg << 2); 1713 amdgpu_ring_write(ring, mask); 1714 amdgpu_ring_write(ring, val); 1715 } 1716 > 1717 void vcn_v3_0_dec_sw_ring_emit_vm_flush(struct amdgpu_ring *ring, 1718 uint32_t vmid, uint64_t pd_addr) 1719 { 1720 struct amdgpu_vmhub *hub = &ring->adev->vmhub[ring->funcs->vmhub]; 1721 uint32_t data0, data1, mask; 1722 1723 pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr); 1724 1725 /* wait for register write */ 1726 data0 = hub->ctx0_ptb_addr_lo32 + vmid * hub->ctx_addr_distance; 1727 data1 = lower_32_bits(pd_addr); 1728 mask = 0xffffffff; 1729 vcn_v3_0_dec_sw_ring_emit_reg_wait(ring, data0, data1, mask); 1730 } 1731 > 1732 void vcn_v3_0_dec_sw_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) 1733 { 1734 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_REG_WRITE); 1735 amdgpu_ring_write(ring, reg << 2); 1736 amdgpu_ring_write(ring, val); 1737 } 1738 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip