All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhao Yakui <yakui.zhao@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH V4 0/6] drm/i915: Add the support of dual BSD rings on BDW GT3
Date: Thu, 17 Apr 2014 10:37:34 +0800	[thread overview]
Message-ID: <1397702260-2309-1-git-send-email-yakui.zhao@intel.com> (raw)

This is the patch set that tries to add the support of dual BSD rings on BDW
GT3. Based on hardware spec, the BDW GT3 has two independent BSD rings, which
can be used to process the video commands. To be simpler, it is transparent 
to user-space driver/middleware. In such case the kernel driver will decide
which ring is to dispatch the BSD video command.

As every BSD ring is powerful, it is enough to dispatch the BSD video command
based on the drm fd. In such case the different BSD ring is used for video playing
back and encoding. 

V1->V2: Follow Daniel's comment to do the following update:
   a. consider the stolen check for BDW in kernel/early-quirks.c in patch 01
   b. update the comment in Patch 04
   c. use the simple ping-pong mechanism to add the support of dual BSD rings.
The further optimization will be considered in another patch set.

V2->V3: Follow Daniel's comment to use the struct_mutext instead of
atomic_t during determining which ring can be used to dispatch Video command.

V3->V4: Follow Imre's comment to adjust the patch order and do some minor updates.
For example: add some comments to describe the semaphore in Patch 03 and update
the ring name for the second bsd ring.

Zhao Yakui (6):
  drm/i915: Split the BDW device definition to prepare for dual BSD
    rings on BDW GT3
  drm/i915: Update the restrict check to filter out wrong Ring ID
    passed by user-space
  drm/i915:Initialize the second BSD ring on BDW GT3 machine
  drm/i915:Handle the irq interrupt for the second BSD ring
  drm/i915:Add the VCS2 switch in Intel_ring_setup_status_page for Gen7
    to remove the switch check warning
  drm/i915: Use the coarse ping-pong mechanism based on drm fd to
    dispatch the BSD command on BDW GT3

 drivers/gpu/drm/i915/i915_dma.c            |    3 +
 drivers/gpu/drm/i915/i915_drv.c            |   26 ++++++++-
 drivers/gpu/drm/i915/i915_drv.h            |    5 ++
 drivers/gpu/drm/i915/i915_gem.c            |    9 ++-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |   42 +++++++++++++-
 drivers/gpu/drm/i915/i915_gpu_error.c      |    1 +
 drivers/gpu/drm/i915/i915_irq.c            |    5 +-
 drivers/gpu/drm/i915/i915_reg.h            |    1 +
 drivers/gpu/drm/i915/intel_ringbuffer.c    |   83 ++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_ringbuffer.h    |    5 +-
 include/drm/i915_pciids.h                  |   22 ++++++--
 11 files changed, 190 insertions(+), 12 deletions(-)

-- 
1.7.10.1

             reply	other threads:[~2014-04-17  2:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-17  2:37 Zhao Yakui [this message]
2014-04-17  2:37 ` [PATCH V4 1/6] drm/i915: Split the BDW device definition to prepare for dual BSD rings on BDW GT3 Zhao Yakui
2014-04-17  2:37 ` [PATCH V4 2/6] drm/i915: Update the restrict check to filter out wrong Ring ID passed by user-space Zhao Yakui
2014-04-17  2:37 ` [PATCH V4 3/6] drm/i915:Initialize the second BSD ring on BDW GT3 machine Zhao Yakui
2014-04-22 19:52   ` Daniel Vetter
2014-04-25  1:14     ` Zhao Yakui
2014-04-24 15:21   ` Daniel Vetter
2014-04-25  1:13     ` Zhao Yakui
2014-04-17  2:37 ` [PATCH V4 4/6] drm/i915:Handle the irq interrupt for the second BSD ring Zhao Yakui
2014-04-17  2:37 ` [PATCH V4 5/6] drm/i915:Add the VCS2 switch in Intel_ring_setup_status_page Zhao Yakui
2014-04-17  2:37 ` [PATCH V4 6/6] drm/i915: Use the coarse ping-pong mechanism based on drm fd to dispatch the BSD command on BDW GT3 Zhao Yakui
2014-04-24 15:22 ` [PATCH V4 0/6] drm/i915: Add the support of dual BSD rings " Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1397702260-2309-1-git-send-email-yakui.zhao@intel.com \
    --to=yakui.zhao@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.