Commit 3a3ca726 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-next-2021-05-12' of git://anongit.freedesktop.org/drm/drm-misc into drm-next



drm-misc-next for 5.14:

UAPI Changes:

 * drm: Disable connector force-probing for non-master clients
 * drm: Enforce consistency between IN_FORMATS property and cap + related
   driver cleanups
 * drm/amdgpu: Track devices, process info and fence info via
   /proc/<pid>/fdinfo
 * drm/ioctl: Mark AGP-related ioctls as legacy
 * drm/ttm: Provide tt_shrink file to trigger shrinker via debugfs;

Cross-subsystem Changes:

 * fbdev/efifb: Special handling of non-PCI devices
 * fbdev/imxfb: Fix error message

Core Changes:

 * drm: Add connector helper to attach HDR-metadata property and convert
   drivers
 * drm: Add connector helper to compare HDR-metadata and convert drivers
 * drm: Add conenctor helper to attach colorspace property
 * drm: Signal colorimetry in HDMI infoframe
 * drm: Support pitch for destination buffers; Add blitter function
   with generic format conversion
 * drm: Remove struct drm_device.pdev and update legacy drivers
 * drm: Remove obsolete DRM_KMS_FB_HELPER config option in core and drivers
 * drm: Remove obsolete drm_pci_alloc/drm_pci_free

 * drm/aperture: Add helpers for aperture ownership and convert drivers, replaces rsp fbdev helpers

 * drm/agp: Mark DRM AGP code as legacy and convert legacy drivers

 * drm/atomic-helpers: Cleanups

 * drm/dp: Handle downstream port counts of 0 correctly; AUX channel fixes; Use
   drm_err_*/drm_dbg_*(); Cleanups

 * drm/dp_dual_mode: Use drm_err_*/drm_dbg_*()

 * drm/dp_mst: Use drm_err_*/drm_dbg_*(); Use Extended Base Receiver Capability DPCD space

 * drm/gem-ttm-helper: Provide helper for dumb_map_offset and convert drivers

 * drm/panel: Use sysfs_emit; panel-simple: Use runtime PM, Power up panel
              when reading EDID, Cache EDID, Cleanups;
              Lms397KF04: DT bindings

 * drm/pci: Mark AGP helpers as legacy

 * drm/print: Handle NULL for DRM devices gracefully

 * drm/scheduler: Change scheduled fence track

 * drm/ttm: Don't count SG BOs against pages_limit; Warn about freeing pinned
            BOs; Fix error handling if no BO can be swapped out; Move special
            handling of non-GEM drivers into vmwgfx; Move page_alignment into
            the BO; Set drm-misc as TTM tree in MAINTAINERS; Cleanup
	    ttm_agp_backend; Add ttm_sys_manager for system domain; Cleanups

Driver Changes:

 * drm: Don't set allow_fb_modifiers explictly in drivers

 * drm/amdgpu: Pin/unpin fixes wrt to TTM; Use bo->base.size instead of
   mem->num_pages

 * drm/ast: Use managed pcim_iomap(); Fix EDID retrieval with DP501

 * drm/bridge: MHDP8546: HDCP support + DT bindings, Register DP AUX channel
   with userspace; Sil8620: Fix module dependencies; dw-hdmi: Add option to
   not load CEC driver; Fix stopping in drm_bridge_chain_pre_enable();
   Ti-sn65dsi86: Fix refclk handling, Break GPIO and MIPI-to-eDP into
   subdrivers, Use pm_runtime autosuspend, cleanups; It66121: Add
   driver + DT bindings; Adv7511: Support I2S IEC958 encoding; Anx7625: fix
   power-on delay; Nwi-dsi: Modesetting fixes; Cleanups

 * drm/bochs: Support screen blanking

 * drm/gma500: Cleanups

 * drm/gud: Cleanups

 * drm/i915: Use correct max source link rate for MST

 * drm/kmb: Cleanups

 * drm/meson: Disable dw-hdmi CEC driver

 * drm/nouveau: Pin/unpin fixes wrt to TTM; Use bo->base.size instead of
   mem->num_pages; Register AUX adapters after their connectors

 * drm/qxl: Fix shadow BO unpin

 * drm/radeon: Duplicate some DRM AGP code to uncouple from legacy drivers

 * drm/simpledrm: Add a generic DRM driver for simple-framebuffer devices

 * drm/tiny: Fix log spam if probe function gets deferred

 * drm/vc4: Add support for HDR-metadata property; Cleanups

 * drm/virtio: Create dumb BOs as guest blobs;

 * drm/vkms: Use managed drmm_universal_plane_alloc(); Add XRGB plane
   composition; Add overlay support

 * drm/vmwgfx: Enable console with DRM_FBDEV_EMULATION; Fix CPU updates
   of coherent multisample surfaces; Remove reservation semaphore; Add
   initial SVGA3 support; Support amd64; Use 1-based IDR; Use min_t();
   Cleanups

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/YJvkD523evviED01@linux-uq9g.fritz.box
parents d07f6ca9 66079522
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ properties:

  reg:
    minItems: 1
    maxItems: 2
    maxItems: 3
    items:
      - description:
          Register block of mhdptx apb registers up to PHY mapped area (AUX_CONFIG_P).
@@ -26,13 +26,16 @@ properties:
          included in the associated PHY.
      - description:
          Register block for DSS_EDP0_INTG_CFG_VP registers in case of TI J7 SoCs.
      - description:
          Register block of mhdptx sapb registers.

  reg-names:
    minItems: 1
    maxItems: 2
    maxItems: 3
    items:
      - const: mhdptx
      - const: j721e-intg
      - const: mhdptx-sapb

  clocks:
    maxItems: 1
@@ -99,14 +102,18 @@ allOf:
      properties:
        reg:
          minItems: 2
          maxItems: 3
        reg-names:
          minItems: 2
          maxItems: 3
    else:
      properties:
        reg:
          maxItems: 1
          minItems: 1
          maxItems: 2
        reg-names:
          maxItems: 1
          minItems: 1
          maxItems: 2

required:
  - compatible
+124 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/ite,it66121.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ITE it66121 HDMI bridge Device Tree Bindings

maintainers:
  - Phong LE <ple@baylibre.com>
  - Neil Armstrong <narmstrong@baylibre.com>

description: |
  The IT66121 is a high-performance and low-power single channel HDMI
  transmitter, fully compliant with HDMI 1.3a, HDCP 1.2 and backward compatible
  to DVI 1.0 specifications.

properties:
  compatible:
    const: ite,it66121

  reg:
    maxItems: 1

  reset-gpios:
    maxItems: 1
    description: GPIO connected to active low reset

  vrf12-supply:
    description: Regulator for 1.2V analog core power.

  vcn33-supply:
    description: Regulator for 3.3V digital core power.

  vcn18-supply:
    description: Regulator for 1.8V IO core power.

  interrupts:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: DPI input port.

        properties:
          endpoint:
            $ref: /schemas/graph.yaml#/$defs/endpoint-base
            unevaluatedProperties: false

            properties:
              bus-width:
                description:
                  Endpoint bus width.
                enum:
                  - 12  # 12 data lines connected and dual-edge mode
                  - 24  # 24 data lines connected and single-edge mode
                default: 24

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: HDMI Connector port.

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - reset-gpios
  - vrf12-supply
  - vcn33-supply
  - vcn18-supply
  - interrupts
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        it66121hdmitx: hdmitx@4c {
            compatible = "ite,it66121";
            pinctrl-names = "default";
            pinctrl-0 = <&ite_pins_default>;
            vcn33-supply = <&mt6358_vcn33_wifi_reg>;
            vcn18-supply = <&mt6358_vcn18_reg>;
            vrf12-supply = <&mt6358_vrf12_reg>;
            reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>;
            interrupt-parent = <&pio>;
            interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
            reg = <0x4c>;

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    it66121_in: endpoint {
                        bus-width = <12>;
                        remote-endpoint = <&display_out>;
                    };
                };

                port@1 {
                    reg = <1>;
                    hdmi_conn_out: endpoint {
                        remote-endpoint = <&hdmi_conn_in>;
                    };
                };
            };
        };
    };
+74 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/samsung,lms397kf04.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung LMS397KF04 display panel

description: The datasheet claims this is based around a display controller
  named DB7430 with a separate backlight controller.

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

allOf:
  - $ref: panel-common.yaml#

properties:
  compatible:
    const: samsung,lms397kf04

  reg: true

  reset-gpios: true

  vci-supply:
    description: regulator that supplies the VCI analog voltage
      usually around 3.0 V

  vccio-supply:
    description: regulator that supplies the VCCIO voltage usually
      around 1.8 V

  backlight: true

  spi-max-frequency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: inherited as a SPI client node, the datasheet specifies
      maximum 300 ns minimum cycle which gives around 3 MHz max frequency
    maximum: 3000000

  port: true

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    spi {
      #address-cells = <1>;
      #size-cells = <0>;
      panel@0 {
        compatible = "samsung,lms397kf04";
        spi-max-frequency = <3000000>;
        reg = <0>;
        vci-supply = <&lcd_3v0_reg>;
        vccio-supply = <&lcd_1v8_reg>;
        reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
        backlight = <&ktd259>;

        port {
          panel_in: endpoint {
            remote-endpoint = <&display_out>;
          };
        };
      };
    };

...
+12 −0
Original line number Diff line number Diff line
@@ -75,6 +75,18 @@ update it, its value is mostly useless. The DRM core prints it to the
kernel log at initialization time and passes it to userspace through the
DRM_IOCTL_VERSION ioctl.

Managing Ownership of the Framebuffer Aperture
----------------------------------------------

.. kernel-doc:: drivers/gpu/drm/drm_aperture.c
   :doc: overview

.. kernel-doc:: include/drm/drm_aperture.h
   :internal:

.. kernel-doc:: drivers/gpu/drm/drm_aperture.c
   :export:

Device Instance and Driver Handling
-----------------------------------

+2 −0
Original line number Diff line number Diff line
@@ -546,6 +546,8 @@ There's a bunch of issues with it:
  this (together with the drm_minor->drm_device move) would allow us to remove
  debugfs_init.

Previous RFC that hasn't landed yet: https://lore.kernel.org/dri-devel/20200513114130.28641-2-wambui.karugax@gmail.com/

Contact: Daniel Vetter

Level: Intermediate
Loading