RE: [PATCH 2/3] drm/amdgpu: adjust drm_firmware_drivers_only() handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - AMD Internal Distribution Only]

Reviewed-by: Kent Russell <kent.russell@xxxxxxx>



> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Alex
> Deucher
> Sent: Thursday, March 13, 2025 9:02 PM
> To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>
> 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@xxxxxxx>
> ---
>  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





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux