[PATCH 2/3] drm/amdgpu: adjust drm_firmware_drivers_only() handling
Russell, Kent
Kent.Russell at amd.com
Fri Mar 14 14:43:39 UTC 2025
[AMD Official Use Only - AMD Internal Distribution Only]
Reviewed-by: Kent Russell <kent.russell at amd.com>
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Alex
> Deucher
> Sent: Thursday, March 13, 2025 9:02 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>
> Subject: [PATCH 2/3] drm/amdgpu: adjust drm_firmware_drivers_only() handling
>
> Move to probe so we can check the PCI device type and
> only apply the drm_firmware_drivers_only() check for
> PCI DISPLAY classes. Also add a module parameter to
> override the nomodeset kernel parameter as a workaround
> for platforms that have this hardcoded on their kernel
> command lines.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index dd86661153582..4e1a6a249bba5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -178,6 +178,7 @@ uint amdgpu_sdma_phase_quantum = 32;
> char *amdgpu_disable_cu;
> char *amdgpu_virtual_display;
> bool enforce_isolation;
> +int amdgpu_modeset = -1;
>
> /* Specifies the default granularity for SVM, used in buffer
> * migration and restoration of backing memory when handling
> @@ -1040,6 +1041,13 @@ module_param_named(user_partt_mode,
> amdgpu_user_partt_mode, uint, 0444);
> module_param(enforce_isolation, bool, 0444);
> MODULE_PARM_DESC(enforce_isolation, "enforce process isolation between
> graphics and compute . enforce_isolation = on");
>
> +/**
> + * DOC: modeset (int)
> + * Override nomodeset (1 = override, -1 = auto). The default is -1 (auto).
> + */
> +MODULE_PARM_DESC(modeset, "Override nomodeset (1 = enable, -1 = auto)");
> +module_param_named(modeset, amdgpu_modeset, int, 0444);
> +
> /**
> * DOC: seamless (int)
> * Seamless boot will keep the image on the screen during the boot process.
> @@ -2270,6 +2278,12 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
> int ret, retry = 0, i;
> bool supports_atomic = false;
>
> + if ((pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA ||
> + (pdev->class >> 8) == PCI_CLASS_DISPLAY_OTHER) {
> + if (drm_firmware_drivers_only() && amdgpu_modeset == -1)
> + return -EINVAL;
> + }
> +
> /* skip devices which are owned by radeon */
> for (i = 0; i < ARRAY_SIZE(amdgpu_unsupported_pciidlist); i++) {
> if (amdgpu_unsupported_pciidlist[i] == pdev->device)
> --
> 2.48.1
More information about the amd-gfx
mailing list