1. 15 12月, 2015 2 次提交
  2. 11 12月, 2015 3 次提交
    • V
      drm: Pass 'name' to drm_encoder_init() · 13a3d91f
      Ville Syrjälä 提交于
      Done with coccinelle for the most part. However, it thinks '...' is
      part of the semantic patch, so I put an 'int DOTDOTDOT' placeholder
      in its place and got rid of it with sed afterwards.
      
      @@
      identifier dev, encoder, funcs;
      @@
       int drm_encoder_init(struct drm_device *dev,
                            struct drm_encoder *encoder,
                            const struct drm_encoder_funcs *funcs,
                            int encoder_type
      +                     ,const char *name, int DOTDOTDOT
                            )
      { ... }
      
      @@
      identifier dev, encoder, funcs;
      @@
       int drm_encoder_init(struct drm_device *dev,
                            struct drm_encoder *encoder,
                            const struct drm_encoder_funcs *funcs,
                            int encoder_type
      +                     ,const char *name, int DOTDOTDOT
                            );
      
      @@
      expression E1, E2, E3, E4;
      @@
       drm_encoder_init(E1, E2, E3, E4
      +                 ,NULL
                        )
      
      v2: Add ', or NULL...' to @name kernel doc (Jani)
          Annotate the function with __printf() attribute (Jani)
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1449670818-2966-1-git-send-email-ville.syrjala@linux.intel.com
      13a3d91f
    • V
      drm: Pass 'name' to drm_universal_plane_init() · b0b3b795
      Ville Syrjälä 提交于
      Done with coccinelle for the most part. It choked on
      msm/mdp/mdp5/mdp5_plane.c like so:
      "BAD:!!!!!  enum drm_plane_type type;"
      No idea how to deal with that, so I just fixed that up
      by hand.
      
      Also it thinks '...' is part of the semantic patch, so I put an
      'int DOTDOTDOT' placeholder in its place and got rid of it with
      sed afterwards.
      
      I didn't convert drm_plane_init() since passing the varargs through
      would mean either cpp macros or va_list, and I figured we don't
      care about these legacy functions enough to warrant the extra pain.
      
      @@
      typedef uint32_t;
      identifier dev, plane, possible_crtcs, funcs, formats, format_count, type;
      @@
       int drm_universal_plane_init(struct drm_device *dev,
                                    struct drm_plane *plane,
                                    unsigned long possible_crtcs,
                                    const struct drm_plane_funcs *funcs,
                                    const uint32_t *formats,
                                    unsigned int format_count,
                                    enum drm_plane_type type
      +                             ,const char *name, int DOTDOTDOT
                                    )
      { ... }
      
      @@
      identifier dev, plane, possible_crtcs, funcs, formats, format_count, type;
      @@
       int drm_universal_plane_init(struct drm_device *dev,
                                    struct drm_plane *plane,
                                    unsigned long possible_crtcs,
                                    const struct drm_plane_funcs *funcs,
                                    const uint32_t *formats,
                                    unsigned int format_count,
                                    enum drm_plane_type type
      +                             ,const char *name, int DOTDOTDOT
                                    );
      
      @@
      expression E1, E2, E3, E4, E5, E6, E7;
      @@
       drm_universal_plane_init(E1, E2, E3, E4, E5, E6, E7
      +                         ,NULL
                                )
      
      v2: Split crtc and plane changes apart
          Pass NUL for no-name instead of ""
          Leave drm_plane_init() alone
      v3: Add ', or NULL...' to @name kernel doc (Jani)
          Annotate the function with __printf() attribute (Jani)
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1449670795-2853-1-git-send-email-ville.syrjala@linux.intel.com
      b0b3b795
    • V
      drm: Pass 'name' to drm_crtc_init_with_planes() · f9882876
      Ville Syrjälä 提交于
      Done with coccinelle for the most part. However, it thinks '...' is
      part of the semantic patch, so I put an 'int DOTDOTDOT' placeholder
      in its place and got rid of it with sed afterwards.
      
      I didn't convert drm_crtc_init() since passing the varargs through
      would mean either cpp macros or va_list, and I figured we don't
      care about these legacy functions enough to warrant the extra pain.
      
      @@
      identifier dev, crtc, primary, cursor, funcs;
      @@
       int drm_crtc_init_with_planes(struct drm_device *dev,
                                     struct drm_crtc *crtc,
                                     struct drm_plane *primary, struct drm_plane *cursor,
                                     const struct drm_crtc_funcs *funcs
      +                              ,const char *name, int DOTDOTDOT
                                     )
      { ... }
      
      @@
      identifier dev, crtc, primary, cursor, funcs;
      @@
       int drm_crtc_init_with_planes(struct drm_device *dev,
                                     struct drm_crtc *crtc,
                                     struct drm_plane *primary, struct drm_plane *cursor,
                                     const struct drm_crtc_funcs *funcs
      +                              ,const char *name, int DOTDOTDOT
                                     );
      
      @@
      expression E1, E2, E3, E4, E5;
      @@
       drm_crtc_init_with_planes(E1, E2, E3, E4, E5
      +                          ,NULL
                                 )
      
      v2: Split crtc and plane changes apart
          Pass NULL for no-name instead of ""
          Leave drm_crtc_init() alone
      v3: Add ', or NULL...' to @name kernel doc (Jani)
          Annotate the function with __printf() attribute (Jani)
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1449670771-2751-1-git-send-email-ville.syrjala@linux.intel.com
      f9882876
  3. 02 12月, 2015 4 次提交
    • D
      drm/rockchip: Use CRTC vblank event interface · c9fbb7f7
      Daniel Stone 提交于
      Passing -1 as the pipe for vblank events now triggers a WARN_ON, but had
      previously made multi-screen unusable anyway. Pass the correct pipe to
      the event-send function, and use the new API to make this a bit easier
      for us.
      
      Fixes WARN present since cc1ef118 for every pageflip event sent:
      [  209.549969] ------------[ cut here ]------------
      [  209.554592] WARNING: CPU: 3 PID: 238 at drivers/gpu/drm/drm_irq.c:924 drm_vblank_count_and_time+0x80/0x88 [drm]()
      [  209.564832] Modules linked in: [...]
      [  209.612401] CPU: 3 PID: 238 Comm: irq/41-ff940000 Tainted: G        W       4.3.0-rc6+ #71
      [  209.620647] Hardware name: Rockchip (Device Tree)
      [  209.625348] [<c001bb80>] (unwind_backtrace) from [<c001615c>] (show_stack+0x20/0x24)
      [  209.633079] [<c001615c>] (show_stack) from [<c02b2c50>] (dump_stack+0x8c/0x9c)
      [  209.640289] [<c02b2c50>] (dump_stack) from [<c0052e88>] (warn_slowpath_common+0x94/0xc4)
      [  209.648364] [<c0052e88>] (warn_slowpath_common) from [<c0052f74>] (warn_slowpath_null+0x2c/0x34)
      [  209.657139] [<c0052f74>] (warn_slowpath_null) from [<bf17dc30>] (drm_vblank_count_and_time+0x80/0x88 [drm])
      [  209.666875] [<bf17dc30>] (drm_vblank_count_and_time [drm]) from [<bf17e484>] (drm_send_vblank_event+0x74/0x7c [drm])
      [  209.677385] [<bf17e484>] (drm_send_vblank_event [drm]) from [<bf4c1144>] (vop_win_state_complete+0x4c/0x70 [rockchip_drm_vop])
      [  209.688757] [<bf4c1144>] (vop_win_state_complete [rockchip_drm_vop]) from [<bf4c3bdc>] (vop_isr_thread+0x170/0x1d4 [rockchip_drm_vop])
      [  209.700822] [<bf4c3bdc>] (vop_isr_thread [rockchip_drm_vop]) from [<c00ab93c>] (irq_thread_fn+0x2c/0x50)
      [  209.710284] [<c00ab93c>] (irq_thread_fn) from [<c00abcac>] (irq_thread+0x13c/0x188)
      [  209.717927] [<c00abcac>] (irq_thread) from [<c00723c8>] (kthread+0xec/0x104)
      [  209.724965] [<c00723c8>] (kthread) from [<c0011638>] (ret_from_fork+0x14/0x3c)
      [  209.732171] ---[ end trace 0690bc604f5d535d ]---
      Signed-off-by: NDaniel Stone <daniels@collabora.com>
      Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Tested-By: NSjoerd Simons <sjoerd.simons@collabora.co.uk>
      Tested-by: NHeiko Stuebner <heiko@sntech.de>
      Reviewed-by: NThierry Reding <treding@nvidia.com>
      c9fbb7f7
    • L
      drm/rockchip: Fix module autoload for OF platform driver · 3b134ced
      Luis de Bethencourt 提交于
      This platform driver has a OF device ID table but the OF module
      alias information is not created so module autoloading won't work.
      Signed-off-by: NLuis de Bethencourt <luisbg@osg.samsung.com>
      3b134ced
    • D
      drm/rockchip: vop: fix window origin calculation · 72906ce0
      Dominik Behr 提交于
      VOP_WINx_DSP_ST does not require subtracting 1 from the values written to
      it. It actually causes the screen to be shifted by one pixel.
      Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
      Tested-by: NYakir Yang <ykk@rock-chips.com>
      Reviewed-by: NHeiko Stuebner <heiko@sntech.de>
      Tested-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NDominik Behr <dbehr@chromium.org>
      Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
      72906ce0
    • H
      drm/rockchip: unset pgoff when mmap'ing gems · a8594f20
      Heiko Stuebner 提交于
      Commit 371f0f08 ("ARM: 8426/1: dma-mapping: add missing range check
       in dma_mmap()") introduced offset-checking for mappings, which collides
      with the fake-offset the drm sets for gems.
      
      Other drm-drivers set this offset to 0 before doing the mapping, so
      this looks like the correct way to go for rockchip as well.
      
      Fixes: 371f0f08 ("ARM: 8426/1: dma-mapping: add missing range check in dma_mmap()")
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      a8594f20
  4. 01 12月, 2015 1 次提交
  5. 24 11月, 2015 1 次提交
  6. 13 11月, 2015 1 次提交
  7. 20 10月, 2015 1 次提交
  8. 16 10月, 2015 1 次提交
  9. 07 10月, 2015 1 次提交
  10. 06 10月, 2015 1 次提交
    • T
      drm/irq: Use unsigned int pipe in public API · 88e72717
      Thierry Reding 提交于
      This continues the pattern started in commit cc1ef118 ("drm/irq:
      Make pipe unsigned and name consistent"). This is applied to the public
      APIs and driver callbacks, so pretty much all drivers need to be updated
      to match the new prototypes.
      
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Jianwei Wang <jianwei.wang.chn@gmail.com>
      Cc: Alison Wang <alison.wang@freescale.com>
      Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      88e72717
  11. 26 8月, 2015 6 次提交
  12. 11 8月, 2015 1 次提交
    • D
      drm/rockchip: Don't grab dev->struct_mutex for in mmap offset ioctl · 648a4ce7
      Daniel Vetter 提交于
      Since David Herrmann's mmap vma manager rework we don't need to grab
      dev->struct_mutex any more to prevent races when looking up the mmap
      offset. Drop it and instead don't forget to use the unref_unlocked
      variant (since the drm core still cares).
      
      Aside: I stumbled over the mmap handler which directly does a
      dma_mmap_attrs. But totally fails to grab a reference on the
      underlying object and hence looks like it happily just leaks the ptes
      since there's no guarantee the mmap isn't still around when
      gem_free_object is called. Which the kerneldoc of dma_mmap_attrs
      explicitly forbids.
      
      v2: Fixup compile fail 0-day spotted.
      
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Reviewed-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      648a4ce7
  13. 06 8月, 2015 1 次提交
  14. 13 7月, 2015 6 次提交
  15. 07 7月, 2015 1 次提交
    • D
      drm/rockchip: use drm_gem_mmap helpers · 41315b79
      Daniel Kurtz 提交于
      Rather than (incompletely [0]) re-implementing drm_gem_mmap() and
      drm_gem_mmap_obj() helpers, call them directly from the rockchip mmap
      routines.
      
      Once the core functions return successfully, the rockchip mmap routines
      can still use dma_mmap_attrs() to simply mmap the entire buffer.
      
      [0] Previously, we were performing the mmap() without first taking a
      reference on the underlying gem buffer.  This could leak ptes if the gem
      object is destroyed while userspace is still holding the mapping.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      41315b79
  16. 17 6月, 2015 1 次提交
  17. 20 4月, 2015 1 次提交
  18. 08 4月, 2015 1 次提交
  19. 03 4月, 2015 4 次提交
  20. 01 4月, 2015 2 次提交