Commit 73dc923e authored by Daniel Vetter's avatar Daniel Vetter
Browse files

Merge tag 'du-next-20210105' of git://linuxtv.org/pinchartl/media into drm-next



- Add default modes for connectors in unknown state
- R-Car DU conversion to DRM-managed API
- R-Car DU miscellaneous fixes
- Miscellaneous bridge and bridge bindings fixes
- Assorted misc driver cleanups
- Constify drm_driver for PCI devices

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/X/P8IOrVXkTpLeCm@pendragon.ideasonboard.com
parents ca765c73 3fc5a284
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -83,9 +83,9 @@ properties:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      phandle to the companion LVDS encoder. This property is mandatory
      for the first LVDS encoder on D3 and E3 SoCs, and shall point to
      the second encoder to be used as a companion in dual-link mode. It
      shall not be set for any other LVDS encoder.
      for the first LVDS encoder on R-Car D3 and E3, and RZ/G2E SoCs, and shall
      point to the second encoder to be used as a companion in dual-link mode.
      It shall not be set for any other LVDS encoder.

required:
  - compatible
+11 −5
Original line number Diff line number Diff line
@@ -30,11 +30,17 @@ properties:
      This device has four video ports. Their connections are modeled using the
      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.

      The device can operate in single-link mode or dual-link mode. In
      single-link mode, all pixels are received on port@0, and port@1 shall not
      contain any endpoint. In dual-link mode, even-numbered pixels are
      received on port@0 and odd-numbered pixels on port@1, and both port@0 and
      port@1 shall contain endpoints.
      The device can operate in single or dual input and output modes.

      When operating in single input mode, all pixels are received on port@0,
      and port@1 shall not contain any endpoint. In dual input mode,
      even-numbered pixels are received on port@0 and odd-numbered pixels on
      port@1, and both port@0 and port@1 shall contain endpoints.

      When operating in single output mode all pixels are output from the first
      CMOS/TTL port and port@3 shall not contain any endpoint. In dual output
      mode pixels are output from both CMOS/TTL ports and both port@2 and
      port@3 shall contain endpoints.

    properties:
      '#address-cells':
+2 −7
Original line number Diff line number Diff line
@@ -162,15 +162,10 @@ static const struct drm_plane_helper_funcs arc_pgu_plane_helper_funcs = {
	.atomic_update = arc_pgu_plane_atomic_update,
};

static void arc_pgu_plane_destroy(struct drm_plane *plane)
{
	drm_plane_cleanup(plane);
}

static const struct drm_plane_funcs arc_pgu_plane_funcs = {
	.update_plane		= drm_atomic_helper_update_plane,
	.disable_plane		= drm_atomic_helper_disable_plane,
	.destroy		= arc_pgu_plane_destroy,
	.destroy		= drm_plane_cleanup,
	.reset			= drm_atomic_helper_plane_reset,
	.atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state,
	.atomic_destroy_state	= drm_atomic_helper_plane_destroy_state,
@@ -213,7 +208,7 @@ int arc_pgu_setup_crtc(struct drm_device *drm)
	ret = drm_crtc_init_with_planes(drm, &arcpgu->crtc, primary, NULL,
					&arc_pgu_crtc_funcs, NULL);
	if (ret) {
		arc_pgu_plane_destroy(primary);
		drm_plane_cleanup(primary);
		return ret;
	}

+1 −1
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ static void arcpgu_debugfs_init(struct drm_minor *minor)
}
#endif

static struct drm_driver arcpgu_drm_driver = {
static const struct drm_driver arcpgu_drm_driver = {
	.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
	.name = "arcpgu",
	.desc = "ARC PGU Controller",
+2 −4
Original line number Diff line number Diff line
@@ -1292,7 +1292,6 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)

err_unregister_cec:
	i2c_unregister_device(adv7511->i2c_cec);
	if (adv7511->cec_clk)
	clk_disable_unprepare(adv7511->cec_clk);
err_i2c_unregister_packet:
	i2c_unregister_device(adv7511->i2c_packet);
@@ -1311,7 +1310,6 @@ static int adv7511_remove(struct i2c_client *i2c)
	if (adv7511->type == ADV7533 || adv7511->type == ADV7535)
		adv7533_detach_dsi(adv7511);
	i2c_unregister_device(adv7511->i2c_cec);
	if (adv7511->cec_clk)
	clk_disable_unprepare(adv7511->cec_clk);

	adv7511_uninit_regulators(adv7511);
Loading