Commit 8da49a33 authored by Dave Airlie's avatar Dave Airlie
Browse files

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



drm-misc-next for v5.15-rc1:

UAPI Changes:
- Remove sysfs stats for dma-buf attachments, as it causes a performance regression.
  Previous merge is not in a rc kernel yet, so no userspace regression possible.

Cross-subsystem Changes:
- Sanitize user input in kyro's viewport ioctl.
- Use refcount_t in fb_info->count
- Assorted fixes to dma-buf.
- Extend x86 efifb handling to all archs.
- Fix neofb divide by 0.
- Document corpro,gm7123 bridge dt bindings.

Core Changes:
- Slightly rework drm master handling.
- Cleanup vgaarb handling.
- Assorted fixes.

Driver Changes:
- Add support for ws2401 panel.
- Assorted fixes to stm, ast, bochs.
- Demidlayer ingenic irq.

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

From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/2d0d2fe8-01fc-e216-c3fd-38db9e69944e@linux.intel.com
parents 588b3eee 474596fc
Loading
Loading
Loading
Loading
+0 −28
Original line number Diff line number Diff line
@@ -22,31 +22,3 @@ KernelVersion: v5.13
Contact:	Hridya Valsaraju <hridya@google.com>
Description:	This file is read-only and specifies the size of the DMA-BUF in
		bytes.

What:		/sys/kernel/dmabuf/buffers/<inode_number>/attachments
Date:		May 2021
KernelVersion:	v5.13
Contact:	Hridya Valsaraju <hridya@google.com>
Description:	This directory will contain subdirectories representing every
		attachment of the DMA-BUF.

What:		/sys/kernel/dmabuf/buffers/<inode_number>/attachments/<attachment_uid>
Date:		May 2021
KernelVersion:	v5.13
Contact:	Hridya Valsaraju <hridya@google.com>
Description:	This directory will contain information on the attached device
		and the number of current distinct device mappings.

What:		/sys/kernel/dmabuf/buffers/<inode_number>/attachments/<attachment_uid>/device
Date:		May 2021
KernelVersion:	v5.13
Contact:	Hridya Valsaraju <hridya@google.com>
Description:	This file is read-only and is a symlink to the attached device's
		sysfs entry.

What:		/sys/kernel/dmabuf/buffers/<inode_number>/attachments/<attachment_uid>/map_counter
Date:		May 2021
KernelVersion:	v5.13
Contact:	Hridya Valsaraju <hridya@google.com>
Description:	This file is read-only and contains a map_counter indicating the
		number of distinct device mappings of the attachment.
+3 −0
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ properties:
              - ti,ths8134a
              - ti,ths8134b
          - const: ti,ths8134
      - items:
          - const: corpro,gm7123
          - const: adi,adv7123
      - enum:
          - adi,adv7123
          - dumb-vga-dac
+99 −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,lms380kf01.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung LMS380KF01 display panel

description: The LMS380KF01 is a 480x800 DPI display panel from Samsung Mobile
  Displays (SMD) utilizing the WideChips WS2401 display controller. It can be
  used with internal or external backlight control.
  The panel must obey the rules for a SPI slave device as specified in
  spi/spi-controller.yaml

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

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

properties:
  compatible:
    const: samsung,lms380kf01

  reg: true

  interrupts:
    description: provides an optional ESD (electrostatic discharge)
      interrupt that signals abnormalities in the display hardware.
      This can also be raised for other reasons like erroneous
      configuration.
    maxItems: 1

  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-cpha: true

  spi-cpol: true

  spi-max-frequency:
    maximum: 1200000

  port: true

required:
  - compatible
  - reg
  - spi-cpha
  - spi-cpol
  - port

additionalProperties: false

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

    spi {
        compatible = "spi-gpio";
        sck-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
        miso-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
        mosi-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
        cs-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
        num-chipselects = <1>;
        #address-cells = <1>;
        #size-cells = <0>;

        panel@0 {
            compatible = "samsung,lms380kf01";
            spi-max-frequency = <1200000>;
            spi-cpha;
            spi-cpol;
            reg = <0>;
            vci-supply = <&lcd_3v0_reg>;
            vccio-supply = <&lcd_1v8_reg>;
            reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
            interrupt-parent = <&gpio>;
            interrupts = <5 IRQ_TYPE_EDGE_RISING>;

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

...
+7 −0
Original line number Diff line number Diff line
@@ -6067,6 +6067,13 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
F:	drivers/gpu/drm/vmwgfx/
F:	include/uapi/drm/vmwgfx_drm.h
DRM DRIVER FOR WIDECHIPS WS2401 PANELS
M:	Linus Walleij <linus.walleij@linaro.org>
S:	Maintained
T:	git git://anongit.freedesktop.org/drm/drm-misc
F:	Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml
F:	drivers/gpu/drm/panel/panel-widechips-ws2401.c
DRM DRIVERS
M:	David Airlie <airlied@linux.ie>
M:	Daniel Vetter <daniel@ffwll.ch>
+1 −4
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@

#ifdef CONFIG_EFI
void efi_init(void);
extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt);

int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md);
@@ -52,10 +53,6 @@ void efi_virtmap_unload(void);
struct screen_info *alloc_screen_info(void);
void free_screen_info(struct screen_info *si);

static inline void efifb_setup_from_dmi(struct screen_info *si, const char *opt)
{
}

/*
 * A reasonable upper bound for the uncompressed kernel size is 32 MBytes,
 * so we will reserve that amount of memory. We have no easy way to tell what
Loading