Ver código fonte

pipe-loader: Fallback to kmsro driver when no matching driver name found

If we can't find a driver matching by name, then use the kmsro driver.
This removes the need for needing a driver descriptor for every possible
KMS driver.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Anholt <eric@anholt.net>
tags/19.0-branchpoint
Rob Herring 6 anos atrás
pai
commit
511e7b6f61

+ 8
- 5
src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c Ver arquivo

@@ -106,11 +106,6 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
.create_screen = pipe_freedreno_create_screen,
.configuration = pipe_default_configuration_query,
},
{
.driver_name = "pl111",
.create_screen = pipe_kmsro_create_screen,
.configuration = pipe_default_configuration_query,
},
{
.driver_name = "virtio_gpu",
.create_screen = pipe_virgl_create_screen,
@@ -142,6 +137,13 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
.configuration = pipe_default_configuration_query,
},
};

static const struct drm_driver_descriptor default_driver_descriptor = {
.driver_name = "kmsro",
.create_screen = pipe_kmsro_create_screen,
.configuration = pipe_default_configuration_query,
};

#endif

static const struct drm_driver_descriptor *
@@ -152,6 +154,7 @@ get_driver_descriptor(const char *driver_name, struct util_dl_library **plib)
if (strcmp(driver_descriptors[i].driver_name, driver_name) == 0)
return &driver_descriptors[i];
}
return &default_driver_descriptor;
#else
*plib = pipe_loader_find_module(driver_name, PIPE_SEARCH_DIR);
if (!*plib)

Carregando…
Cancelar
Salvar