[radeon-alex:drm-next-4.20-wip 62/85] drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:109:25: sparse: cast to restricted __le32

kbuild test robot lkp at intel.com
Mon Aug 13 22:33:16 UTC 2018


tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-4.20-wip
head:   6a77c1ba182d156a8b0b4057e23e8a01d9f451a7
commit: d49f1308cd52389f3ba64b0cd98c7a50ed83932a [62/85] drm/amdgpu:add VCN booting with firmware loaded by PSP
reproduce:
        # apt-get install sparse
        git checkout d49f1308cd52389f3ba64b0cd98c7a50ed83932a
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:109:25: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:109:25: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c:109:25: sparse: cast to restricted __le32

vim +109 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c

    67	
    68	/**
    69	 * vcn_v1_0_sw_init - sw init for VCN block
    70	 *
    71	 * @handle: amdgpu_device pointer
    72	 *
    73	 * Load firmware and sw initialization
    74	 */
    75	static int vcn_v1_0_sw_init(void *handle)
    76	{
    77		struct amdgpu_ring *ring;
    78		int i, r;
    79		struct amdgpu_device *adev = (struct amdgpu_device *)handle;
    80	
    81		/* VCN DEC TRAP */
    82		r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, VCN_1_0__SRCID__UVD_SYSTEM_MESSAGE_INTERRUPT, &adev->vcn.irq);
    83		if (r)
    84			return r;
    85	
    86		/* VCN ENC TRAP */
    87		for (i = 0; i < adev->vcn.num_enc_rings; ++i) {
    88			r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, i + VCN_1_0__SRCID__UVD_ENC_GENERAL_PURPOSE,
    89						&adev->vcn.irq);
    90			if (r)
    91				return r;
    92		}
    93	
    94		/* VCN JPEG TRAP */
    95		r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, 126, &adev->vcn.irq);
    96		if (r)
    97			return r;
    98	
    99		r = amdgpu_vcn_sw_init(adev);
   100		if (r)
   101			return r;
   102	
   103		if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) {
   104			const struct common_firmware_header *hdr;
   105			hdr = (const struct common_firmware_header *)adev->vcn.fw->data;
   106			adev->firmware.ucode[AMDGPU_UCODE_ID_VCN].ucode_id = AMDGPU_UCODE_ID_VCN;
   107			adev->firmware.ucode[AMDGPU_UCODE_ID_VCN].fw = adev->vcn.fw;
   108			adev->firmware.fw_size +=
 > 109				ALIGN(le32_to_cpu(hdr->ucode_size_bytes), PAGE_SIZE);
   110			DRM_INFO("PSP loading VCN firmware\n");
   111		}
   112	
   113		r = amdgpu_vcn_resume(adev);
   114		if (r)
   115			return r;
   116	
   117		ring = &adev->vcn.ring_dec;
   118		sprintf(ring->name, "vcn_dec");
   119		r = amdgpu_ring_init(adev, ring, 512, &adev->vcn.irq, 0);
   120		if (r)
   121			return r;
   122	
   123		for (i = 0; i < adev->vcn.num_enc_rings; ++i) {
   124			ring = &adev->vcn.ring_enc[i];
   125			sprintf(ring->name, "vcn_enc%d", i);
   126			r = amdgpu_ring_init(adev, ring, 512, &adev->vcn.irq, 0);
   127			if (r)
   128				return r;
   129		}
   130	
   131		ring = &adev->vcn.ring_jpeg;
   132		sprintf(ring->name, "vcn_jpeg");
   133		r = amdgpu_ring_init(adev, ring, 512, &adev->vcn.irq, 0);
   134		if (r)
   135			return r;
   136	
   137		return r;
   138	}
   139	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


More information about the dri-devel mailing list