[PATCH] drm/amdgpu: add rebar parameter
Mario Limonciello
mario.limonciello at amd.com
Tue Mar 25 01:51:24 UTC 2025
On 3/24/2025 14:57, Alex Deucher wrote:
> Ping?
>
> On Fri, Feb 28, 2025 at 3:39 PM Alex Deucher <alexander.deucher at amd.com> wrote:
>>
>> Add a new parameter to disable BAR resizing. Note that this
>> only disables the driver from attempting to resize the BAR,
>> The BIOS may have resized the BAR at boot.
>>
>> Some teams have found this useful in debugging P2P DMA
>> issues on systems where the available MMIO space did not allow
>> for all of the GPUs present to resize their BARs.
>>
>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello at amd.com>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 +
>> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++
>> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 11 +++++++++++
>> 3 files changed, 15 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> index 87062c1adcdf7..948f832f469ef 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
>> @@ -268,6 +268,7 @@ extern int amdgpu_umsch_mm_fwlog;
>>
>> extern int amdgpu_user_partt_mode;
>> extern int amdgpu_agp;
>> +extern int amdgpu_rebar;
>>
>> extern int amdgpu_wbrf;
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index 0a1a1f3ee5fc0..cc1a991ad4719 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -1662,6 +1662,9 @@ int amdgpu_device_resize_fb_bar(struct amdgpu_device *adev)
>> if (amdgpu_sriov_vf(adev))
>> return 0;
>>
>> + if (!amdgpu_rebar)
>> + return 0;
>> +
>> /* resizing on Dell G5 SE platforms causes problems with runtime pm */
>> if ((amdgpu_runtime_pm != 0) &&
>> adev->pdev->vendor == PCI_VENDOR_ID_ATI &&
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> index b161daa900198..333c78ac000e9 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
>> @@ -237,6 +237,7 @@ int amdgpu_agp = -1; /* auto */
>> int amdgpu_wbrf = -1;
>> int amdgpu_damage_clips = -1; /* auto */
>> int amdgpu_umsch_mm_fwlog;
>> +int amdgpu_rebar = -1; /* auto */
>>
>> DECLARE_DYNDBG_CLASSMAP(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, 0,
>> "DRM_UT_CORE",
>> @@ -1083,6 +1084,16 @@ MODULE_PARM_DESC(wbrf,
>> "Enable Wifi RFI interference mitigation (0 = disabled, 1 = enabled, -1 = auto(default)");
>> module_param_named(wbrf, amdgpu_wbrf, int, 0444);
>>
>> +/**
>> + * DOC: rebar (int)
>> + * Allow BAR resizing. Disable this to prevent the driver from attempting
>> + * to resize the BAR if the GPU supports it and there is available MMIO space.
>> + * Note that this just prevents the driver from resizing the BAR. The BIOS
>> + * may have already resized the BAR at boot time.
>> + */
>> +MODULE_PARM_DESC(rebar, "Resizable BAR (-1 = auto (default), 0 = disable, 1 = enable)");
>> +module_param_named(rebar, amdgpu_rebar, int, 0444);
>> +
>> /* These devices are not supported by amdgpu.
>> * They are supported by the mach64, r128, radeon drivers
>> */
>> --
>> 2.48.1
>>
>
More information about the amd-gfx
mailing list