Commit ef350898 authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm/nouveau: 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 nouveau 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: default avatarThomas Zimmermann <tzimmermann@suse.de>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Danilo Krummrich <dakr@redhat.com>
Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
Acked-by: default avatarDanilo Krummrich <dakr@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-69-tzimmermann@suse.de
parent 4269f5c8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ config DRM_NOUVEAU
	depends on DRM && PCI && MMU
	select IOMMU_API
	select FW_LOADER
	select DRM_CLIENT_SELECTION
	select DRM_DISPLAY_DP_HELPER
	select DRM_DISPLAY_HDMI_HELPER
	select DRM_DISPLAY_HELPER
+8 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include <linux/dynamic_debug.h>

#include <drm/drm_aperture.h>
#include <drm/drm_client_setup.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_ttm.h>
#include <drm/drm_gem_ttm_helper.h>
@@ -836,6 +837,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev,
{
	struct nvkm_device *device;
	struct nouveau_drm *drm;
	const struct drm_format_info *format;
	int ret;

	if (vga_switcheroo_client_probe_defer(pdev))
@@ -873,9 +875,11 @@ static int nouveau_drm_probe(struct pci_dev *pdev,
		goto fail_pci;

	if (drm->client.device.info.ram_size <= 32 * 1024 * 1024)
		drm_fbdev_ttm_setup(drm->dev, 8);
		format = drm_format_info(DRM_FORMAT_C8);
	else
		drm_fbdev_ttm_setup(drm->dev, 32);
		format = NULL;

	drm_client_setup(drm->dev, format);

	quirk_broken_nv_runpm(pdev);
	return 0;
@@ -1317,6 +1321,8 @@ driver_stub = {
	.dumb_create = nouveau_display_dumb_create,
	.dumb_map_offset = drm_gem_ttm_dumb_map_offset,

	DRM_FBDEV_TTM_DRIVER_OPS,

	.name = DRIVER_NAME,
	.desc = DRIVER_DESC,
#ifdef GIT_REVISION