rdev->uvd.fw_header_present = true;
- family_id = le32_to_cpu(hdr->ucode_version) & 0xff;
- version_major = (le32_to_cpu(hdr->ucode_version) >> 24) & 0xff;
- version_minor = (le32_to_cpu(hdr->ucode_version) >> 8) & 0xff;
+ family_id = (__force u32)(hdr->ucode_version) & 0xff;
+ version_major = (le32_to_cpu((__force __le32)(hdr->ucode_version))
+ >> 24) & 0xff;
+ version_minor = (le32_to_cpu((__force __le32)(hdr->ucode_version))
+ >> 8) & 0xff;
DRM_INFO("Found UVD firmware Version: %u.%u Family ID: %u\n",
version_major, version_minor, family_id);
return r;
/* stitch together an UVD create msg */
- writel(cpu_to_le32(0x00000de4), &msg[0]);
+ writel((__force u32)cpu_to_le32(0x00000de4), &msg[0]);
writel(0x0, (void __iomem *)&msg[1]);
- writel(cpu_to_le32(handle), &msg[2]);
+ writel((__force u32)cpu_to_le32(handle), &msg[2]);
writel(0x0, &msg[3]);
writel(0x0, &msg[4]);
writel(0x0, &msg[5]);
writel(0x0, &msg[6]);
- writel(cpu_to_le32(0x00000780), &msg[7]);
- writel(cpu_to_le32(0x00000440), &msg[8]);
+ writel((__force u32)cpu_to_le32(0x00000780), &msg[7]);
+ writel((__force u32)cpu_to_le32(0x00000440), &msg[8]);
writel(0x0, &msg[9]);
- writel(cpu_to_le32(0x01b37000), &msg[10]);
+ writel((__force u32)cpu_to_le32(0x01b37000), &msg[10]);
for (i = 11; i < 1024; ++i)
writel(0x0, &msg[i]);
return r;
/* stitch together an UVD destroy msg */
- writel(cpu_to_le32(0x00000de4), &msg[0]);
- writel(cpu_to_le32(0x00000002), &msg[1]);
- writel(cpu_to_le32(handle), &msg[2]);
+ writel((__force u32)cpu_to_le32(0x00000de4), &msg[0]);
+ writel((__force u32)cpu_to_le32(0x00000002), &msg[1]);
+ writel((__force u32)cpu_to_le32(handle), &msg[2]);
writel(0x0, &msg[3]);
for (i = 4; i < 1024; ++i)
writel(0x0, &msg[i]);