1. 17 2月, 2017 2 次提交
  2. 25 1月, 2017 1 次提交
  3. 15 12月, 2016 2 次提交
    • V
      drm: Nuke fb->pixel_format · 438b74a5
      Ville Syrjälä 提交于
      Replace uses of fb->pixel_format with fb->format->format.
      Less duplicated information is a good thing.
      
      Note that coccinelle failed to eliminate the
      "/* fourcc format */" comment from drm_framebuffer.h, so I had
      to do that part manually.
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       drm_helper_mode_fill_fb_struct(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       i9xx_get_initial_plane_config(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       ironlake_get_initial_plane_config(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *FB;
      expression E;
      @@
       skylake_get_initial_plane_config(...) {
      	...
      -	FB->pixel_format = E;
      	...
       }
      
      @@
      struct drm_framebuffer *a;
      struct drm_framebuffer b;
      @@
      (
      - a->pixel_format
      + a->format->format
      |
      - b.pixel_format
      + b.format->format
      )
      
      @@
      struct drm_plane_state *a;
      struct drm_plane_state b;
      @@
      (
      - a->fb->pixel_format
      + a->fb->format->format
      |
      - b.fb->pixel_format
      + b.fb->format->format
      )
      
      @@
      struct drm_crtc *CRTC;
      @@
      (
      - CRTC->primary->fb->pixel_format
      + CRTC->primary->fb->format->format
      |
      - CRTC->primary->state->fb->pixel_format
      + CRTC->primary->state->fb->format->format
      )
      
      @@
      struct drm_mode_set *set;
      @@
      (
      - set->fb->pixel_format
      + set->fb->format->format
      |
      - set->crtc->primary->fb->pixel_format
      + set->crtc->primary->fb->format->format
      )
      
      @@
      @@
       struct drm_framebuffer {
      	 ...
      -	 uint32_t pixel_format;
      	 ...
       };
      
      v2: Fix commit message (Laurent)
          Rebase due to earlier removal of many fb->pixel_format uses,
          including the 'fb->format = drm_format_info(fb->format->format);'
          snafu
      v3: Adjusted the semantic patch a bit and regenerated due to code
          changes
      
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
      Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1481751175-18463-1-git-send-email-ville.syrjala@linux.intel.com
      438b74a5
    • V
      drm/nouveau: Use fb->format rather than drm_format_info() · 9857ecbe
      Ville Syrjälä 提交于
      Let's use the pointer to the format information cached under
      drm_framebuffer rather than look it up manually.
      
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1479498793-31021-28-git-send-email-ville.syrjala@linux.intel.comReviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9857ecbe
  4. 13 12月, 2016 1 次提交
  5. 28 11月, 2016 1 次提交
    • M
      drm/nouveau/kms/nv50: Fix atomic pageflip events. · bd9f6605
      Mario Kleiner 提交于
      The new atomic modesetting/pageflip code for nv50+ for
      Linux 4.10+ no longer uses pageflip irq's to signal
      flip completion. Instead it polls for flip completion
      from within a kthread/work queue.
      
      This creates a race between the vblank irq handler
      updating the vblank count and timestamp for the
      vblank of flip completion, and the kthread's
      polling code detecting flip completion and sending
      out the flip completion event.
      
      Depending on who executes a few microseconds earlier,
      the flip completion event will either contain correct
      count/timestamp or a stale count/timestamp from the
      previous vblank. This error was observed for about
      50% of all executed flips, e.g., observable under DRI2
      by the Xorg.log filling with flip handler warning
      messages.
      
      Call drm_accurate_vblank_count() before sending
      out flip completion events to enforce a vblank
      count/ts update for the vblank of flip completion
      and avoid stale counts/timestamps.
      
      This fix leads to one redundant call to drm_update_vblank_count
      for each completed flip, but no other side effects. On
      a ~6 year old Core i7 M620@ 2.67GHz the redundant call
      costs about 10 usecs per flip
      
      Successfully tested on GeForce 9500/9600/330M so far.
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      bd9f6605
  6. 17 11月, 2016 2 次提交
  7. 07 11月, 2016 29 次提交
  8. 14 7月, 2016 2 次提交