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
next 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