All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
To: laurent.pinchart@ideasonboard.com, linux-renesas-soc@vger.kernel.org
Cc: linux-media@vger.kernel.org,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Subject: [PATCH v3 0/9] vsp1: TLB optimisation and DL caching
Date: Wed, 13 Sep 2017 12:18:39 +0100	[thread overview]
Message-ID: <cover.fd1ad59f0229dc110549eecc18b11ad441997b3a.1505299165.git-series.kieran.bingham+renesas@ideasonboard.com> (raw)

Each display list currently allocates an area of DMA memory to store register
settings for the VSP1 to process. Each of these allocations adds pressure to
the IPMMU TLB entries.

We can reduce the pressure by pre-allocating larger areas and dividing the area
across multiple bodies represented as a pool.

With this reconfiguration of bodies, we can adapt the configuration code to
separate out constant hardware configuration and cache it for re-use.

This posting is only really a status update following the previous review after
quite a bit of work has been done. However this series is not yet complete, and
I do not expect a full review - or integration of this series in its current
form.

In particular:
  Patch 1 : Reword uses of 'fragment' as 'body'
          - Is new and can be reviewed if desired.

Otherwise, most other issues have been addressed, and the series is rebased to
utilise the term 'bodies' instead of 'fragments'. A few 'larger' topics came up
in review, and will be considered in a follow up series. (v4+)

  Patch 3 : Provide a body pool
          - Allocates more memory than is required for 'extra_size'

  Patch 5 : Use reference counting for bodies
          - Minor comment to be fixed up. (I should have done this already)

  Patch 7 : Adapt entities to configure into a body
          - To be reworked, quite substantially.

  Patch 8 : Move video configuration to a cached dlb
          - Previous review comments still to be addressed

The patches provided in this series can be found at:
  git://git.kernel.org/pub/scm/linux/kernel/git/kbingham/rcar.git  tags/vsp1/tlb-optimise/v3

Kieran Bingham (9):
  v4l: vsp1: Reword uses of 'fragment' as 'body'
  v4l: vsp1: Protect bodies against overflow
  v4l: vsp1: Provide a body pool
  v4l: vsp1: Convert display lists to use new body pool
  v4l: vsp1: Use reference counting for bodies
  v4l: vsp1: Refactor display list configure operations
  v4l: vsp1: Adapt entities to configure into a body
  v4l: vsp1: Move video configuration to a cached dlb
  v4l: vsp1: Reduce display list body size

 drivers/media/platform/vsp1/vsp1_bru.c    |  32 +--
 drivers/media/platform/vsp1/vsp1_clu.c    |  94 +++---
 drivers/media/platform/vsp1/vsp1_clu.h    |   1 +-
 drivers/media/platform/vsp1/vsp1_dl.c     | 387 +++++++++++++----------
 drivers/media/platform/vsp1/vsp1_dl.h     |  21 +-
 drivers/media/platform/vsp1/vsp1_drm.c    |  21 +-
 drivers/media/platform/vsp1/vsp1_entity.c |  23 +-
 drivers/media/platform/vsp1/vsp1_entity.h |  31 +--
 drivers/media/platform/vsp1/vsp1_hgo.c    |  26 +--
 drivers/media/platform/vsp1/vsp1_hgt.c    |  28 +--
 drivers/media/platform/vsp1/vsp1_hsit.c   |  20 +-
 drivers/media/platform/vsp1/vsp1_lif.c    |  23 +-
 drivers/media/platform/vsp1/vsp1_lut.c    |  71 ++--
 drivers/media/platform/vsp1/vsp1_lut.h    |   1 +-
 drivers/media/platform/vsp1/vsp1_pipe.c   |   8 +-
 drivers/media/platform/vsp1/vsp1_pipe.h   |   7 +-
 drivers/media/platform/vsp1/vsp1_rpf.c    | 179 +++++------
 drivers/media/platform/vsp1/vsp1_sru.c    |  24 +-
 drivers/media/platform/vsp1/vsp1_uds.c    |  73 ++--
 drivers/media/platform/vsp1/vsp1_uds.h    |   2 +-
 drivers/media/platform/vsp1/vsp1_video.c  |  82 ++---
 drivers/media/platform/vsp1/vsp1_video.h  |   2 +-
 drivers/media/platform/vsp1/vsp1_wpf.c    | 325 +++++++++----------
 23 files changed, 811 insertions(+), 670 deletions(-)

base-commit: f44bd631453bf7dcbe57f79b924db3a6dd038bff
-- 
git-series 0.9.1

             reply	other threads:[~2017-09-13 11:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-13 11:18 Kieran Bingham [this message]
2017-09-13 11:18 ` [PATCH v3 1/9] v4l: vsp1: Reword uses of 'fragment' as 'body' Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 2/9] v4l: vsp1: Protect bodies against overflow Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 3/9] v4l: vsp1: Provide a body pool Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 4/9] v4l: vsp1: Convert display lists to use new " Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 5/9] v4l: vsp1: Use reference counting for bodies Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 6/9] v4l: vsp1: Refactor display list configure operations Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 7/9] v4l: vsp1: Adapt entities to configure into a body Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 8/9] v4l: vsp1: Move video configuration to a cached dlb Kieran Bingham
2017-09-13 11:18 ` [PATCH v3 9/9] v4l: vsp1: Reduce display list body size Kieran Bingham

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=cover.fd1ad59f0229dc110549eecc18b11ad441997b3a.1505299165.git-series.kieran.bingham+renesas@ideasonboard.com \
    --to=kieran.bingham+renesas@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.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.