linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] Renesas R-Car VSP: Scaling and rotation support on Gen3
@ 2016-09-13 23:16 Laurent Pinchart
  2016-09-13 23:16 ` [PATCH 01/13] v4l: vsp1: Prevent pipelines from running when not streaming Laurent Pinchart
                   ` (13 more replies)
  0 siblings, 14 replies; 32+ messages in thread
From: Laurent Pinchart @ 2016-09-13 23:16 UTC (permalink / raw)
  To: linux-media; +Cc: linux-renesas-soc, Kieran Bingham

Hello,

This patch series adds support for scaling and rotation to the VSP1 driver on
the R-Car Gen3 SoCs.

Unlike Gen2 that can scale full resolution images, the Gen3 VSP scaler has a
width limitation that prevent full images from being processed in one go. They
must be partitioned in slices that are then processed individually. The
rotation engine present in the Gen3 VSP has a similar limitation, and so does
the SRU.

The hardware supports queuing processing of multiple slices without generating
any interrupt between slices, so partitioning the image will not raise the
number of interrupts. It however has an impact on CPU usage as the register
settings for each partitions need to be computed, but there's no way around
that.

The series starts with bug fixes (patches 01/13 to 04/13), followed by a few
preparatory changes (patches 05/13 to 07/13). Patches 08/13 to 12/13 then
implement image partitioning support, and patch 13/13 finally adds rotation
support.

All the changes have been tests with the VSP test suite available at

	git://git.ideasonboard.com/renesas/vsp-tests.git master

on both Gen2 (H2 Lager) and Gen3 (H3 Salvator-X) boards. No regression has
been noticed.

Kieran Bingham (6):
  v4l: vsp1: Ensure pipeline locking in resume path
  v4l: vsp1: Repair race between frame end and qbuf handler
  v4l: vsp1: Use DFE instead of FRE for frame end
  v4l: vsp1: Support chained display lists
  v4l: vsp1: Determine partition requirements for scaled images
  v4l: vsp1: Support multiple partitions per frame

Laurent Pinchart (7):
  v4l: vsp1: Prevent pipelines from running when not streaming
  v4l: vsp1: Protect against race conditions between get and set format
  v4l: vsp1: Disable cropping on WPF sink pad
  v4l: vsp1: Fix RPF cropping
  v4l: vsp1: Pass parameter type to entity configuration operation
  v4l: vsp1: Replace .set_memory() with VSP1_ENTITY_PARAMS_PARTITION
  v4l: vsp1: wpf: Implement rotation support

 drivers/media/platform/vsp1/vsp1_bru.c    |  33 +++-
 drivers/media/platform/vsp1/vsp1_clu.c    |  61 ++++---
 drivers/media/platform/vsp1/vsp1_dl.c     | 119 ++++++++++---
 drivers/media/platform/vsp1/vsp1_dl.h     |   1 +
 drivers/media/platform/vsp1/vsp1_drm.c    |  15 +-
 drivers/media/platform/vsp1/vsp1_drv.c    |   2 +-
 drivers/media/platform/vsp1/vsp1_entity.c |  22 ++-
 drivers/media/platform/vsp1/vsp1_entity.h |  25 ++-
 drivers/media/platform/vsp1/vsp1_hsit.c   |  20 ++-
 drivers/media/platform/vsp1/vsp1_lif.c    |  20 ++-
 drivers/media/platform/vsp1/vsp1_lut.c    |  42 +++--
 drivers/media/platform/vsp1/vsp1_pipe.c   |   3 +
 drivers/media/platform/vsp1/vsp1_pipe.h   |   8 +
 drivers/media/platform/vsp1/vsp1_rpf.c    | 106 +++++++-----
 drivers/media/platform/vsp1/vsp1_rwpf.c   |  86 ++++++----
 drivers/media/platform/vsp1/vsp1_rwpf.h   |  16 +-
 drivers/media/platform/vsp1/vsp1_sru.c    |  50 +++++-
 drivers/media/platform/vsp1/vsp1_uds.c    |  71 ++++++--
 drivers/media/platform/vsp1/vsp1_video.c  | 188 ++++++++++++++++++--
 drivers/media/platform/vsp1/vsp1_wpf.c    | 274 ++++++++++++++++++++++--------
 20 files changed, 880 insertions(+), 282 deletions(-)

-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2016-09-19 19:02 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-13 23:16 [PATCH 00/13] Renesas R-Car VSP: Scaling and rotation support on Gen3 Laurent Pinchart
2016-09-13 23:16 ` [PATCH 01/13] v4l: vsp1: Prevent pipelines from running when not streaming Laurent Pinchart
2016-09-13 23:16 ` [PATCH 02/13] v4l: vsp1: Protect against race conditions between get and set format Laurent Pinchart
2016-09-14 18:23   ` Niklas Söderlund
2016-09-14 19:32     ` Niklas Söderlund
2016-09-14 19:50     ` Laurent Pinchart
2016-09-13 23:16 ` [PATCH 03/13] v4l: vsp1: Ensure pipeline locking in resume path Laurent Pinchart
2016-09-14 18:28   ` Niklas Söderlund
2016-09-13 23:16 ` [PATCH 04/13] v4l: vsp1: Repair race between frame end and qbuf handler Laurent Pinchart
2016-09-14  8:01   ` Kieran Bingham
2016-09-13 23:16 ` [PATCH 05/13] v4l: vsp1: Use DFE instead of FRE for frame end Laurent Pinchart
2016-09-14 18:39   ` Niklas Söderlund
2016-09-13 23:16 ` [PATCH 06/13] v4l: vsp1: Disable cropping on WPF sink pad Laurent Pinchart
2016-09-14 18:54   ` Niklas Söderlund
2016-09-19 17:55   ` Mauro Carvalho Chehab
2016-09-19 17:59     ` Laurent Pinchart
2016-09-19 18:26       ` Mauro Carvalho Chehab
2016-09-19 18:33         ` Laurent Pinchart
2016-09-19 19:02           ` Mauro Carvalho Chehab
2016-09-13 23:17 ` [PATCH 07/13] v4l: vsp1: Fix RPF cropping Laurent Pinchart
2016-09-13 23:17 ` [PATCH 08/13] v4l: vsp1: Pass parameter type to entity configuration operation Laurent Pinchart
2016-09-14 19:02   ` Niklas Söderlund
2016-09-13 23:17 ` [PATCH 09/13] v4l: vsp1: Replace .set_memory() with VSP1_ENTITY_PARAMS_PARTITION Laurent Pinchart
2016-09-13 23:17 ` [PATCH 10/13] v4l: vsp1: Support chained display lists Laurent Pinchart
2016-09-13 23:17 ` [PATCH 11/13] v4l: vsp1: Determine partition requirements for scaled images Laurent Pinchart
2016-09-14 19:27   ` Niklas Söderlund
2016-09-14 20:00     ` Laurent Pinchart
2016-09-15 13:19       ` Niklas Söderlund
2016-09-13 23:17 ` [PATCH 12/13] v4l: vsp1: Support multiple partitions per frame Laurent Pinchart
2016-09-13 23:17 ` [PATCH 13/13] v4l: vsp1: wpf: Implement rotation support Laurent Pinchart
2016-09-13 23:29 ` [PATCH 14/13] v4l: vsp1: Fix spinlock in mixed IRQ context function Laurent Pinchart
2016-09-14 19:30   ` Niklas Söderlund

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).