|
@@ -157,7 +157,9 @@ static int tilcdc_load(struct drm_device *dev, unsigned long flags)
|
|
|
struct platform_device *pdev = dev->platformdev;
|
|
|
struct device_node *node = pdev->dev.of_node;
|
|
|
struct tilcdc_drm_private *priv;
|
|
|
+ struct tilcdc_module *mod;
|
|
|
struct resource *res;
|
|
|
+ u32 bpp = 0;
|
|
|
int ret;
|
|
|
|
|
|
priv = kzalloc(sizeof(*priv), GFP_KERNEL);
|
|
@@ -256,7 +258,15 @@ static int tilcdc_load(struct drm_device *dev, unsigned long flags)
|
|
|
|
|
|
platform_set_drvdata(pdev, dev);
|
|
|
|
|
|
- priv->fbdev = drm_fbdev_cma_init(dev, 16,
|
|
|
+
|
|
|
+ list_for_each_entry(mod, &module_list, list) {
|
|
|
+ DBG("%s: preferred_bpp: %d", mod->name, mod->preferred_bpp);
|
|
|
+ bpp = mod->preferred_bpp;
|
|
|
+ if (bpp > 0)
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ priv->fbdev = drm_fbdev_cma_init(dev, bpp,
|
|
|
dev->mode_config.num_crtc,
|
|
|
dev->mode_config.num_connector);
|
|
|
|