Skip to content

Commit 32acc28

Browse files
committed
drm/amdgpu: Run DRM default client setup
Call drm_client_setup() to run the kernel's default client setup for DRM. Set fbdev_probe in struct drm_driver, so that the client setup can start the common fbdev client. The amdgpu driver specifies a preferred color mode depending on the available video memory, with a default of 32. Adapt this for the new client interface. v5: - select DRM_CLIENT_SELECTION v2: - style changes Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: Xinhui Pan <Xinhui.Pan@amd.com> Tested-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-66-tzimmermann@suse.de
1 parent c7c1b9e commit 32acc28

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

drivers/gpu/drm/amd/amdgpu/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ config DRM_AMDGPU
55
depends on DRM && PCI && MMU
66
depends on !UML
77
select FW_LOADER
8+
select DRM_CLIENT_SELECTION
89
select DRM_DISPLAY_DP_HELPER
910
select DRM_DISPLAY_DSC_HELPER
1011
select DRM_DISPLAY_HDMI_HELPER

drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
*/
2424

2525
#include <drm/amdgpu_drm.h>
26+
#include <drm/drm_client_setup.h>
2627
#include <drm/drm_drv.h>
2728
#include <drm/drm_fbdev_ttm.h>
2829
#include <drm/drm_gem.h>
@@ -2347,11 +2348,15 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
23472348
*/
23482349
if (adev->mode_info.mode_config_initialized &&
23492350
!list_empty(&adev_to_drm(adev)->mode_config.connector_list)) {
2351+
const struct drm_format_info *format;
2352+
23502353
/* select 8 bpp console on low vram cards */
23512354
if (adev->gmc.real_vram_size <= (32*1024*1024))
2352-
drm_fbdev_ttm_setup(adev_to_drm(adev), 8);
2355+
format = drm_format_info(DRM_FORMAT_C8);
23532356
else
2354-
drm_fbdev_ttm_setup(adev_to_drm(adev), 32);
2357+
format = NULL;
2358+
2359+
drm_client_setup(adev_to_drm(adev), format);
23552360
}
23562361

23572362
ret = amdgpu_debugfs_init(adev);
@@ -2963,6 +2968,7 @@ static const struct drm_driver amdgpu_kms_driver = {
29632968
.num_ioctls = ARRAY_SIZE(amdgpu_ioctls_kms),
29642969
.dumb_create = amdgpu_mode_dumb_create,
29652970
.dumb_map_offset = amdgpu_mode_dumb_mmap,
2971+
DRM_FBDEV_TTM_DRIVER_OPS,
29662972
.fops = &amdgpu_driver_kms_fops,
29672973
.release = &amdgpu_driver_release_kms,
29682974
#ifdef CONFIG_PROC_FS
@@ -2989,6 +2995,7 @@ const struct drm_driver amdgpu_partition_driver = {
29892995
.num_ioctls = ARRAY_SIZE(amdgpu_ioctls_kms),
29902996
.dumb_create = amdgpu_mode_dumb_create,
29912997
.dumb_map_offset = amdgpu_mode_dumb_mmap,
2998+
DRM_FBDEV_TTM_DRIVER_OPS,
29922999
.fops = &amdgpu_driver_kms_fops,
29933000
.release = &amdgpu_driver_release_kms,
29943001

0 commit comments

Comments
 (0)