1. 24 Mar, 2021 7 commits
  2. 23 Mar, 2021 12 commits
  3. 22 Mar, 2021 2 commits
  4. 19 Mar, 2021 2 commits
  5. 18 Mar, 2021 1 commit
  6. 16 Mar, 2021 8 commits
    • Christian König's avatar
      drm/vmwgfx: clean up vmw_move_notify v2 · 6cf9dc23
      Christian König authored
      Instead of swapping bo->mem just give old and new as parameters.
      
      Also drop unused parameters and code.
      
      v2: cleanup stale documentation as well.
      Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210315191432.153826-3-christian.koenig@amd.com
      6cf9dc23
    • Christian König's avatar
    • Christian König's avatar
      f1c68b6a
    • Noralf Trønnes's avatar
      drm: Add GUD USB Display driver · 40e1a70b
      Noralf Trønnes authored
      This adds a USB display driver with the intention that it can be
      used with future USB interfaced low end displays/adapters. The Linux
      gadget device driver will serve as the canonical device implementation.
      
      The following DRM properties are supported:
      - Plane rotation
      - Connector TV properties
      
      There is also support for backlight brightness exposed as a backlight
      device.
      
      Display modes can be made available to the host driver either as DRM
      display modes or through EDID. If both are present, EDID is just passed
      on to userspace.
      
      Performance is preferred over color depth, so if the device supports
      RGB565, DRM_CAP_DUMB_PREFERRED_DEPTH will return 16.
      
      If the device transfer buffer can't fit an uncompressed framebuffer
      update, the update is split up into parts that do fit.
      
      Optimal user experience is achieved by providing damage reports either by
      setting FB_DAMAGE_CLIPS on pageflips or calling DRM_IOCTL_MODE_DIRTYFB.
      
      LZ4 compression is used if the device supports it.
      
      The driver supports a one bit monochrome transfer format: R1. This is not
      implemented in the gadget driver. It is added in preparation for future
      monochrome e-ink displays.
      
      The driver is MIT licensed to smooth the path for any BSD port of the
      driver.
      
      v2:
      - Use devm_drm_dev_alloc() and drmm_mode_config_init()
      - drm_fbdev_generic_setup: Use preferred_bpp=0, 16 was a copy paste error
      - The drm_backlight_helper is dropped, copy in the code
      - Support protocol version backwards compatibility for device
      
      v3:
      - Use donated Openmoko USB pid
      - Use direct compression from framebuffer when pitch matches, not only on
        full frames, so split updates can benefit
      - Use __le16 in struct gud_drm_req_get_connector_status
      - Set edid property when the device only provides edid
      - Clear compression fields in struct gud_drm_req_set_buffer
      - Fix protocol version negotiation
      - Remove mode->vrefresh, it's calculated
      
      v4:
      - Drop the status req polling which was a workaround for something that
        turned out to be a dwc2 udc driver problem
      - Add a flag for the Linux gadget to require a status request on
        SET operations. Other devices will only get status req on STALL errors
      - Use protocol specific error codes (Peter)
      - Add a flag for devices that want to receive the entire framebuffer on
        each flush (Lubomir)
      - Retry a failed framebuffer flush
      - If mode has changed wait for worker and clear pending damage before
        queuing up new damage, fb width/height might have changed
      - Increase error counter on bulk transfer failures
      - Use DRM_MODE_CONNECTOR_USB
      - Handle R1 kmalloc error (Peter)
      - Don't try and replicate the USB get descriptor request standard for the
        display descriptor (Peter)
      - Make max_buffer_size optional (Peter), drop the pow2 requirement since
        it's not necessary anymore.
      - Don't pre-alloc a control request buffer, it was only 4k
      - Let gud.h describe the whole protocol explicitly and don't let DRM
        leak into it (Peter)
      - Drop display mode .hskew and .vscan from the protocol
      - Shorten names: s/GUD_DRM_/GUD_/ s/gud_drm_/gud_/ (Peter)
      - Fix gud_pipe_check() connector picking when switching connector
      - Drop gud_drm_driver_gem_create_object() cached is default now
      - Retrieve USB device from struct drm_device.dev instead of keeping a
        pointer
      - Honour fb->offsets[0]
      - Fix mode fetching when connector status is forced
      - Check EDID length reported by the device
      - Use drm_do_get_edid() so userspace can overrride EDID
      - Set epoch counter to signal connector status change
      - gud_drm_driver can be const now
      
      v5:
      - GUD_DRM_FORMAT_R1: Use non-human ascii values (Daniel)
      - Change name to: GUD USB Display (Thomas, Simon)
      - Change one __u32 -> __le32 in protocol header
      - Always log fb flush errors, unless the previous one failed
      - Run backlight update in a worker to avoid upsetting lockdep (Daniel)
      - Drop backlight_ops.get_brightness, there's no readback from the device
        so it doesn't really add anything.
      - Set dma mask, needed by dma-buf importers
      
      v6:
      - Use obj-y in Makefile (Peter)
      - Fix missing le32_to_cpu() when using GUD_DISPLAY_MAGIC (Peter)
      - Set initial brightness on backlight device
      
      v7:
      - LZ4_compress_default() can return zero, check for that
      - Fix memory leak in gud_pipe_check() error path (Peter)
      - Improve debug and error messages (Peter)
      - Don't pass length in protocol structs (Peter)
      - Pass USB interface to gud_usb_control_msg() et al. (Peter)
      - Improve gud_connector_fill_properties() (Peter)
      - Add GUD_PIXEL_FORMAT_RGB111 (Peter)
      - Remove GUD_REQ_SET_VERSION (Peter)
      - Fix DRM_IOCTL_MODE_OBJ_SETPROPERTY and the rotation property
      - Fix dma-buf import (Thomas)
      
      v8:
      - Forgot to filter RGB111 from reaching userspace
      - Handle a device that only returns unknown device properties (Peter)
      - s/GUD_PIXEL_FORMAT_RGB111/GUD_PIXEL_FORMAT_XRGB1111/ (Peter)
      - Fix R1 and XRGB1111 format conversion
      - Add FIXME about Big Endian being broken (Peter, Ilia)
      
      Cc: Lubomir Rintel <lkundrak@v3.sk>
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: default avatarPeter Stuge <peter@stuge.se>
      Tested-by: default avatarPeter Stuge <peter@stuge.se>
      Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210313112545.37527-4-noralf@tronnes.org
      40e1a70b
    • Noralf Trønnes's avatar
      drm/probe-helper: Check epoch counter in output_poll_execute() · dc659a4e
      Noralf Trønnes authored
      drm_helper_hpd_irq_event() checks the epoch counter to determine
      connector status change. This was introduced in
      commit 5186421c ("drm: Introduce epoch counter to drm_connector").
      Do the same for output_poll_execute() so it can detect other changes
      beside connection status value changes.
      
      v2:
      - Add Fixes tag (Daniel)
      
      Fixes: 5186421c ("drm: Introduce epoch counter to drm_connector")
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210313112545.37527-3-noralf@tronnes.org
      dc659a4e
    • Noralf Trønnes's avatar
      drm/uapi: Add USB connector type · 757e2671
      Noralf Trønnes authored
      Add a connector type for USB connected display panels.
      
      Some examples of what current userspace will name the connector:
      - Weston: "UNNAMED-%d"
      - Mutter: "Unknown20-%d"
      - X: "Unknown20-%d"
      
      v2:
      - Update drm_connector_enum_list
      - Add examples to commit message
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210313112545.37527-2-noralf@tronnes.org
      757e2671
    • Maxime Ripard's avatar
      Merge drm/drm-next into drm-misc-next · f8bade6c
      Maxime Ripard authored
      Noralf needs some patches in 5.12-rc3, and we've been delaying the 5.12
      merge due to the swap issue so it looks like a good time.
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      f8bade6c
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2021-03-03' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 51c3b916
      Dave Airlie authored
      drm-misc-next for 5.13:
      
      UAPI Changes:
      
      Cross-subsystem Changes:
      
      Core Changes:
        - %p4cc printk format modifier
        - atomic: introduce drm_crtc_commit_wait, rework atomic plane state
          helpers to take the drm_commit_state structure
        - dma-buf: heaps rework to return a struct dma_buf
        - simple-kms: Add plate state helpers
        - ttm: debugfs support, removal of sysfs
      
      Driver Changes:
        - Convert drivers to shadow plane helpers
        - arc: Move to drm/tiny
        - ast: cursor plane reworks
        - gma500: Remove TTM and medfield support
        - mxsfb: imx8mm support
        - panfrost: MMU IRQ handling rework
        - qxl: rework to better handle resources deallocation, locking
        - sun4i: Add alpha properties for UI and VI layers
        - vc4: RPi4 CEC support
        - vmwgfx: doc cleanup
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210303100600.dgnkadonzuvfnu22@gilmour
      51c3b916
  7. 14 Mar, 2021 8 commits