Backmerge tag 'v5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds...
authorDave Airlie <airlied@redhat.com>
Wed, 13 Jul 2022 00:54:56 +0000 (10:54 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 13 Jul 2022 00:54:56 +0000 (10:54 +1000)
Backmerge in rc6 so I can merge msm next easier.

Linux 5.19-rc6

Signed-off-by: Dave Airlie <airlied@redhat.com>
19 files changed:
1  2 
MAINTAINERS
drivers/dma-buf/udmabuf.c
drivers/gpu/drm/drm_panel_orientation_quirks.c
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c
drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c
drivers/gpu/drm/sun4i/sun4i_layer.c
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
drivers/gpu/drm/ttm/ttm_bo.c
drivers/gpu/drm/vc4/vc4_bo.c
drivers/gpu/drm/vc4/vc4_crtc.c
drivers/gpu/drm/vc4/vc4_drv.c
drivers/gpu/drm/vc4/vc4_drv.h
drivers/gpu/drm/vc4/vc4_hdmi.c
drivers/gpu/drm/vc4/vc4_hvs.c
drivers/gpu/drm/vc4/vc4_kms.c
drivers/gpu/drm/vc4/vc4_plane.c
drivers/video/fbdev/core/fbcon.c
drivers/video/fbdev/core/fbmem.c
drivers/video/fbdev/simplefb.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -230,25 -281,16 +290,26 @@@ static int vc4_drm_bind(struct device *
  
        dev->coherent_dma_mask = DMA_BIT_MASK(32);
  
-       /* If VC4 V3D is missing, don't advertise render nodes. */
-       node = of_find_matching_node_and_match(NULL, vc4_v3d_dt_match, NULL);
-       if (!node || !of_device_is_available(node))
-               vc4_drm_driver.driver_features &= ~DRIVER_RENDER;
-       of_node_put(node);
+       is_vc5 = of_device_is_compatible(dev->of_node, "brcm,bcm2711-vc5");
+       if (is_vc5)
+               driver = &vc5_drm_driver;
+       else
+               driver = &vc4_drm_driver;
  
-       vc4 = devm_drm_dev_alloc(dev, &vc4_drm_driver, struct vc4_dev, base);
 +      node = of_find_matching_node_and_match(NULL, vc4_dma_range_matches,
 +                                             NULL);
 +      if (node) {
 +              ret = of_dma_configure(dev, node, true);
 +              of_node_put(node);
 +
 +              if (ret)
 +                      return ret;
 +      }
 +
+       vc4 = devm_drm_dev_alloc(dev, driver, struct vc4_dev, base);
        if (IS_ERR(vc4))
                return PTR_ERR(vc4);
+       vc4->is_vc5 = is_vc5;
  
        drm = &vc4->base;
        platform_set_drvdata(pdev, drm);
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1520,13 -1500,12 +1530,16 @@@ struct drm_plane *vc4_plane_init(struc
        if (ret)
                return ERR_PTR(ret);
  
-       drm_plane_helper_add(plane, &vc4_plane_helper_funcs);
+       if (vc4->is_vc5)
+               drm_plane_helper_add(plane, &vc5_plane_helper_funcs);
+       else
+               drm_plane_helper_add(plane, &vc4_plane_helper_funcs);
  
        drm_plane_create_alpha_property(plane);
 +      drm_plane_create_blend_mode_property(plane,
 +                                           BIT(DRM_MODE_BLEND_PIXEL_NONE) |
 +                                           BIT(DRM_MODE_BLEND_PREMULTI) |
 +                                           BIT(DRM_MODE_BLEND_COVERAGE));
        drm_plane_create_rotation_property(plane, DRM_MODE_ROTATE_0,
                                           DRM_MODE_ROTATE_0 |
                                           DRM_MODE_ROTATE_180 |
Simple merge
Simple merge
Simple merge