Messages in this thread | | | Date | Thu, 12 May 2022 08:17:45 +0200 | Subject | Re: [PATCH] drm/amdgpu: Add 'modeset' module parameter | From | Christian König <> |
| |
Am 11.05.22 um 20:36 schrieb Alex Deucher: > On Wed, May 11, 2022 at 2:20 PM Lyude Paul <lyude@redhat.com> wrote: >> Many DRM drivers feature a 'modeset' argument, which can be used to >> enable/disable the entire driver (as opposed to passing nomodeset to the >> kernel, which would disable modesetting globally and make it difficult to >> load amdgpu afterwards). Apparently amdgpu is actually missing this >> however, so let's add it! > You can already do that by passing modprobe.blacklist=amdgpu on the > kernel command line. I don't think we need another option to do that.
Yeah, this already came up multiple times and so far we have always rejected it.
Stuffing that into drivers is not a good approach I think. If we want to prevent some device from exposing it's display functionalities we should rather push that into the drm layer.
Regards, Christian.
> > >> Keep in mind that this currently just lets one enable or disable amdgpu, I >> haven't bothered adding a headless mode like nouveau has - however I'm sure >> someone else can add this if needed. > You can do this as well by passing an IP block mask which disables the > display IP, or media IP, etc. > > Alex > >> Signed-off-by: Lyude Paul <lyude@redhat.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 ebd37fb19cdb..24e6fb4517cc 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c >> @@ -872,6 +872,15 @@ MODULE_PARM_DESC(smu_pptable_id, >> "specify pptable id to be used (-1 = auto(default) value, 0 = use pptable from vbios, > 0 = soft pptable id)"); >> module_param_named(smu_pptable_id, amdgpu_smu_pptable_id, int, 0444); >> >> +/** >> + * DOC: modeset (int) >> + * Used to enable/disable modesetting for amdgpu exclusively. >> + */ >> +bool amdgpu_enable_modeset = true; >> +MODULE_PARM_DESC(modeset, >> + "Enable or disable display driver (1 = on (default), 0 = off"); >> +module_param_named(modeset, amdgpu_enable_modeset, bool, 0444); >> + >> /* These devices are not supported by amdgpu. >> * They are supported by the mach64, r128, radeon drivers >> */ >> @@ -2003,6 +2012,11 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, >> bool is_fw_fb; >> resource_size_t base, size; >> >> + if (!amdgpu_enable_modeset) { >> + DRM_INFO("modeset=0 passed to amdgpu, driver will not be enabled\n"); >> + return -ENODEV; >> + } >> + >> /* 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.35.1 >>
| |