mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-23 00:18:14 +02:00
The current X server infrastructure sets modesetting driver as default driver
to handle PCI-hotplug of a GPU device. This prevents the respective DDX driver
(like AMDGPU DDX driver) to take control of the card.
This patch:
- Adds a few functions and fine-tunes the GPU hotplug infrastructure to allow
the DDX driver to be loaded, if it is configured in the X config file
options as "hotplug-driver".
- Scans and updates the PCI device list before adding the new GPU device
in platform, so that the association of the platform device and PCI device
is in place (dev->pdev).
- Adds documentation of this new option
An example usage in the config file would look like:
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "amdgpu"
HotplugDriver "amdgpu"
EndSection
V2:
Fixed typo in commit message (Martin)
Added R-B from Adam.
Added ACK from Alex and Martin.
V3:
Added an output class based approach for finding the DDX driver (Aaron)
Rebase
V4:
Addressed review comment from Aaron:
GPU hot-plug handling driver's name to be read from the DDX config file options.
In this way only the DDX drivers interested in handling GPU hot-plug will be
picked and loaded, for others modesetting driver will be used as usual.
V5:
Addressed review comments from Aaron:
- X config option to be listed in CamelCase.
- Indentation fix at one place.
- Code readability related optimization.
V6:
Addressed review comments from Aaron:
- Squash the doc in the same patch
- Doc formatting changes
Cc: Alex Deucher <alexander.deucher@amd.com>
Suggested-by: Aaron Plattner aplattner@nvidia.com (v3)
Acked-by: Martin Roukala martin.roukala@mupuf.org(v1)
Acked-by: Alex Deucher alexander.deucher@amd.com (v1)
Reviewed-by: Adam Jackson ajax@redhat.com(v1)
Signed-off-by: Shashank Sharma shashank.sharma@amd.com
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| compiler.h | ||
| dgaproc.h | ||
| extramodes | ||
| meson.build | ||
| modeline2c.awk | ||
| vesamodes | ||
| xaarop.h | ||
| xf86.h | ||
| xf86AutoConfig.c | ||
| xf86Bus.c | ||
| xf86Bus.h | ||
| xf86cmap.c | ||
| xf86cmap.h | ||
| xf86Config.c | ||
| xf86Config.h | ||
| xf86Configure.c | ||
| xf86Cursor.c | ||
| xf86DGA.c | ||
| xf86DPMS.c | ||
| xf86Events.c | ||
| xf86Extensions.c | ||
| xf86Extensions.h | ||
| xf86fbBus.c | ||
| xf86fbman.c | ||
| xf86fbman.h | ||
| xf86Globals.c | ||
| xf86Helper.c | ||
| xf86Init.c | ||
| xf86InPriv.h | ||
| xf86MatchDrivers.h | ||
| xf86Mode.c | ||
| xf86Module.h | ||
| xf86noBus.c | ||
| xf86Opt.h | ||
| xf86Option.c | ||
| xf86Optionstr.h | ||
| xf86pciBus.c | ||
| xf86pciBus.h | ||
| xf86PciInfo.h | ||
| xf86platformBus.c | ||
| xf86platformBus.h | ||
| xf86PM.c | ||
| xf86Priv.h | ||
| xf86Privstr.h | ||
| xf86RandR.c | ||
| xf86sbusBus.c | ||
| xf86sbusBus.h | ||
| xf86str.h | ||
| xf86VGAarbiter.c | ||
| xf86VGAarbiter.h | ||
| xf86VGAarbiterPriv.h | ||
| xf86VidMode.c | ||
| xf86Xinput.c | ||
| xf86Xinput.h | ||
| xf86xv.c | ||
| xf86xv.h | ||
| xf86xvmc.c | ||
| xf86xvmc.h | ||
| xf86xvpriv.h | ||
| xisb.c | ||
| xisb.h | ||
| xorgHelper.c | ||
| xorgVersion.h | ||