Skip to content

Commit 257add9

Browse files
committed
drm/vc4: drv: Skip BO Backend Initialization on BCM2711
On the BCM2711, we currently call the vc4_bo_cache_init() and vc4_gem_init() functions. These functions initialize the BO and GEM backends. However, this code was initially created to accomodate the requirements of the GPU on the older SoCs, while the BCM2711 has a separate driver for it. So let's just skip these calls when we're on a newer hardware. Reviewed-by: Melissa Wen <mwen@igalia.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20220610115149.964394-9-maxime@cerno.tech
1 parent 2095848 commit 257add9

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

drivers/gpu/drm/vc4/vc4_drv.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -285,19 +285,23 @@ static int vc4_drm_bind(struct device *dev)
285285
platform_set_drvdata(pdev, drm);
286286
INIT_LIST_HEAD(&vc4->debugfs_list);
287287

288-
mutex_init(&vc4->bin_bo_lock);
288+
if (!is_vc5) {
289+
mutex_init(&vc4->bin_bo_lock);
289290

290-
ret = vc4_bo_cache_init(drm);
291-
if (ret)
292-
return ret;
291+
ret = vc4_bo_cache_init(drm);
292+
if (ret)
293+
return ret;
294+
}
293295

294296
ret = drmm_mode_config_init(drm);
295297
if (ret)
296298
return ret;
297299

298-
ret = vc4_gem_init(drm);
299-
if (ret)
300-
return ret;
300+
if (!is_vc5) {
301+
ret = vc4_gem_init(drm);
302+
if (ret)
303+
return ret;
304+
}
301305

302306
node = of_find_compatible_node(NULL, NULL, "raspberrypi,bcm2835-firmware");
303307
if (node) {

0 commit comments

Comments
 (0)