mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-23 15:20:35 -05:00
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: Thomas Zimmermann <tzimmermann@suse.de> Cc: Karol Herbst <kherbst@redhat.com> Cc: Lyude Paul <lyude@redhat.com> Cc: Danilo Krummrich <dakr@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Acked-by: Danilo Krummrich <dakr@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-69-tzimmermann@suse.de
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user