SUPERH platform development
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: linux-sh@vger.kernel.org
Subject: R-Car Gen3 VSP/DU work in progress
Date: Thu, 30 Jul 2015 13:50:32 +0000	[thread overview]
Message-ID: <1788822.6tuLoCYX5D@avalon> (raw)

Hello,

In order to allow early feedback on the API and implementation, I've pushed my 
work in progress branch for R-Car Gen3 DU support to

	git://linuxtv.org/pinchartl/media.git drm/du/vsp1-kms

Compared to the 2nd generation, the Gen3 DU has lost the ability to read 
directly from memory. It must instead be fed by a VSP instance dedicated to 
display composition.

The direct hardware link between the VSP and the DU was already available in 
Gen2 but using the VSP wasn't mandatory. For that reason, and as the VSP is a 
memory-to-memory video processing device in the general case, the VSP driver 
has been implemented using the V4L2 API and the DU driver using the DRM/KMS 
API. Applications have to use both APIs if they want to use the VSP with the 
DU.

As the Gen3 DU has no composition capability, forcing all display applications 
to use both APIs increases userspace complexity beyond what was considered 
acceptable. We have thus decided to drive the Gen3 VSP DU from the DU driver. 
However, to avoid code duplication, the existing VSP driver should still be 
used, without exposing the full V4L2 API.

The work in progress code reworks the VSP driver to make the V4L2 userspace 
API optional while still modeling the device using V4L2 objects inside the 
kernel. It also creates an high-lever in-kernel API exposed by the VSP driver 
to be used by the DU driver to control the VSP.

On the DU side, a new provider of planes has been added that delegates plane 
control to the VSP.

I've targeted the code at Gen2 hardware for testing purpose. I will still need 
to implement support for the differences between Gen2 and Gen3 registers for 
the VSP and DU once after validating the operation  using Gen2.

The code is not fully functional yet. In particular the vsp1-drm.c 
implementation isn't complete. I'll keep working on that over the weekend.

-- 
Regards,

Laurent Pinchart


             reply	other threads:[~2015-07-30 13:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-30 13:50 Laurent Pinchart [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-08-06  0:43 R-Car Gen3 VSP/DU work in progress Laurent Pinchart

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=1788822.6tuLoCYX5D@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=linux-sh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox