On Tue, Jul 4, 2023, at 08:54, Christian König wrote:
Am 03.07.23 um 14:35 schrieb Arnd Bergmann:Not sure I understand the specific requirement. Do you mean the entire
From: Arnd Bergmann <arnd@xxxxxxxx>Well it doesn't make sense to compile that driver on systems with only
On 32-bit architectures comparing a resource against a value larger than
U32_MAX can cause a warning:
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c:1344:18: error: result of comparison of constant 4294967296 with expression of type 'resource_size_t' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
res->start > 0x100000000ull)
~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
The compiler is right that this cannot happen in this configuration, which
is ok, so just add a cast to shut up the warning.
32bit phys_addr_t in the first place.
amdgpu driver requires 64-bit BAR addressing, or just the bits that
resize the BARs?
It might be cleaner to just not build the whole driver on such systemsHow about this version? This also addresses the build failure, but
or at least leave out this function.
I don't know if this makes any sense:
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1325,6 +1325,9 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device *adev)
u16 cmd;
int r;
+ if (!IS_ENABLED(CONFIG_PHYS_ADDR_T_64BIT))
+ return 0;
+
/* Bypass for VF */
if (amdgpu_sriov_vf(adev))
return 0;
Arnd