1. 27 10月, 2020 1 次提交
  2. 08 9月, 2020 2 次提交
  3. 07 7月, 2020 1 次提交
  4. 10 6月, 2020 1 次提交
    • M
      drm/vc4: plane: Move additional planes creation to driver · 0c2a50f1
      Maxime Ripard 提交于
      So far the plane creation was done when each CRTC was bound, and those
      planes were only tied to the CRTC that was registering them.
      
      This causes two main issues:
        - The planes in the vc4 hardware are actually not tied to any CRTC, but
          can be used with every combination
      
        - More importantly, so far, we allocate 10 planes per CRTC, with 3 CRTCs.
          However, the next generation of hardware will have 5 CRTCs, putting us
          well above the maximum of 32 planes currently allowed by DRM.
      
      This patch is the first one in a series of patches that will take down both
      of these issues so that we can support the next generation of hardware
      while keeping a good amount of planes.
      
      We start by changing the way the planes are registered to first registering
      the primary planes for each CRTC in the CRTC bind function as we used to,
      but moving the overlay and cursor creation to the main driver bind
      function, after all the CRTCs have been bound, and make the planes
      associated to all CRTCs.
      
      This will slightly change the ID order of the planes, since the primary
      planes of all CRTCs will be first, and then a pattern of 8 overlays, 1
      cursor plane for each CRTC.
      
      This shouldn't cause any trouble since the ordering between the planes is
      preserved though.
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NMaxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/0b85a3fdb20bb4ff85fb62cabd082d5a65e2730b.1590594512.git-series.maxime@cerno.tech
      0c2a50f1
  5. 13 2月, 2020 2 次提交
  6. 30 7月, 2019 1 次提交
  7. 17 7月, 2019 1 次提交
  8. 22 6月, 2019 1 次提交
  9. 21 6月, 2019 1 次提交
    • D
      drm/prime: Actually remove DRIVER_PRIME everywhere · 0424fdaf
      Daniel Vetter 提交于
      Split out to make the functional changes stick out more.
      
      All places where DRIVER_PRIME was used have been removed in previous
      patches already.
      
      v2: amdgpu gained DRIVER_SYNCOBJ_TIMELINE.
      
      v3: amdgpu lost DRIVER_SYNCOBJ_TIMELINE.
      
      v4: Don't add a space in i915_drv.c (Sam)
      
      v5: Add note that previous patches removed all the DRIVER_PRIME users
      already (Emil).
      
      v6: Fixupe ingenic (new driver) while applying.
      
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Reviewed-by: NEmil Velikov <emil.velikov@collabora.com>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Cc: amd-gfx@lists.freedesktop.org
      Cc: etnaviv@lists.freedesktop.org
      Cc: freedreno@lists.freedesktop.org
      Cc: intel-gfx@lists.freedesktop.org
      Cc: lima@lists.freedesktop.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-arm-msm@vger.kernel.org
      Cc: linux-aspeed@lists.ozlabs.org
      Cc: linux-renesas-soc@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-stm32@st-md-mailman.stormreply.com
      Cc: linux-tegra@vger.kernel.org
      Cc: nouveau@lists.freedesktop.org
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: spice-devel@lists.freedesktop.org
      Cc: virtualization@lists.linux-foundation.org
      Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
      Cc: xen-devel@lists.xenproject.org
      Link: https://patchwork.freedesktop.org/patch/msgid/20190617153924.414-1-daniel.vetter@ffwll.ch
      0424fdaf
  10. 19 6月, 2019 1 次提交
  11. 23 5月, 2019 1 次提交
  12. 04 4月, 2019 2 次提交
  13. 03 4月, 2019 1 次提交
  14. 02 4月, 2019 1 次提交
  15. 07 3月, 2019 1 次提交
  16. 06 3月, 2019 1 次提交
  17. 19 2月, 2019 1 次提交
  18. 29 1月, 2019 1 次提交
  19. 06 10月, 2018 1 次提交
  20. 25 9月, 2018 1 次提交
    • N
      drm/vc4: Use drm_fbdev_generic_setup() · 233386d8
      Noralf Trønnes 提交于
      The CMA helper is already using the drm_fb_helper_generic_probe part of
      the generic fbdev emulation. This patch makes full use of the generic
      fbdev emulation by using its drm_client callbacks. This means that
      drm_mode_config_funcs->output_poll_changed and drm_driver->lastclose are
      now handled by the emulation code. Additionally fbdev unregister happens
      automatically on drm_dev_unregister().
      
      The drm_fbdev_generic_setup() call is put after drm_dev_register() in the
      driver. This is done to highlight the fact that fbdev emulation is an
      internal client that makes use of the driver, it is not part of the
      driver as such. If fbdev setup fails, an error is printed, but the driver
      succeeds probing.
      
      drm_fbdev_generic_setup() handles mode_config.num_connector being zero.
      In that case it retries fbdev setup on the next .output_poll_changed.
      
      Cc: Eric Anholt <eric@anholt.net>
      Signed-off-by: NNoralf Trønnes <noralf@tronnes.org>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NEric Anholt <eric@anholt.net>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180908134648.2582-19-noralf@tronnes.org
      233386d8
  21. 04 9月, 2018 1 次提交
  22. 18 7月, 2018 1 次提交
  23. 07 7月, 2018 1 次提交
  24. 31 5月, 2018 1 次提交
  25. 15 5月, 2018 1 次提交
  26. 01 5月, 2018 1 次提交
  27. 24 4月, 2018 2 次提交
  28. 11 2月, 2018 1 次提交
  29. 08 12月, 2017 1 次提交
  30. 20 10月, 2017 1 次提交
  31. 09 8月, 2017 1 次提交
  32. 29 7月, 2017 2 次提交
  33. 16 6月, 2017 1 次提交
  34. 22 5月, 2017 1 次提交
  35. 10 5月, 2017 1 次提交
    • D
      drm/vblank: drop the mode argument from drm_calc_vbltimestamp_from_scanoutpos · 1bf6ad62
      Daniel Vetter 提交于
      If we restrict this helper to only kms drivers (which is the case) we
      can look up the correct mode easily ourselves. But it's a bit tricky:
      
      - All legacy drivers look at crtc->hwmode. But that is updated already
        at the beginning of the modeset helper, which means when we disable
        a pipe. Hence the final timestamps might be a bit off. But since
        this is an existing bug I'm not going to change it, but just try to
        be bug-for-bug compatible with the current code. This only applies
        to radeon&amdgpu.
      
      - i915 tries to get it perfect by updating crtc->hwmode when the pipe
        is off (i.e. vblank->enabled = false).
      
      - All other atomic drivers look at crtc->state->adjusted_mode. Those
        that look at state->requested_mode simply don't adjust their mode,
        so it's the same. That has two problems: Accessing crtc->state from
        interrupt handling code is unsafe, and it's updated before we shut
        down the pipe. For nonblocking modesets it's even worse.
      
      For atomic drivers try to implement what i915 does. To do that we add
      a new hwmode field to the vblank structure, and update it from
      drm_calc_timestamping_constants(). For atomic drivers that's called
      from the right spot by the helper library already, so all fine. But
      for safety let's enforce that.
      
      For legacy driver this function is only called at the end (oh the
      fun), which is broken, so again let's not bother and just stay
      bug-for-bug compatible.
      
      The  benefit is that we can use drm_calc_vbltimestamp_from_scanoutpos
      directly to implement ->get_vblank_timestamp in every driver, deleting
      a lot of code.
      
      v2: Completely new approach, trying to mimick the i915 solution.
      
      v3: Fixup kerneldoc.
      
      v4: Drop the WARN_ON to check that the vblank is off, atomic helpers
      currently unconditionally call this. Recomputing the same stuff should
      be harmless.
      
      v5: Fix typos and move misplaced hunks to the right patches (Neil).
      
      v6: Undo hunk movement (kbuild).
      
      Cc: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: linux-arm-msm@vger.kernel.org
      Cc: freedreno@lists.freedesktop.org
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Reviewed-by: NNeil Armstrong <narmstrong@baylibre.com>
      Acked-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170509140329.24114-4-daniel.vetter@ffwll.ch
      1bf6ad62