From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Cc: Rob Herring <robh@kernel.org>, Andy Gross <andy.gross@linaro.org>,
Ohad Ben-Cohen <ohad@wizery.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Mark Rutland <mark.rutland@arm.com>,
Rob Clark <robdclark@gmail.com>,
Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 3/4] dt-binding: remoteproc: venus rproc dt binding document
Date: Tue, 30 Aug 2016 10:17:42 -0700 [thread overview]
Message-ID: <20160830171742.GN15161@tuxbot> (raw)
In-Reply-To: <5afd7f2f-ec1b-d2ce-b833-81df010e24de@linaro.org>
On Mon 29 Aug 04:48 PDT 2016, Stanimir Varbanov wrote:
[..]
> > Trying to wrap my head around how the iommu part works here. The
> > downstream code seems to indicate that this is a "generic" secure iommu
> > interface - used by venus, camera and kgsl; likely for dealing with DRM
> > protected buffers.
>
> The secure iommu interface is for content protected buffers. But these
> secure iommu contexts aren't used by msm DRM nor Venus in mainline. In
> Venus case I use non-secure iommu context for data buffers.
>
We must consider the case when DRM, VFE and Venus handles protected
buffers.
> >
> > As such the iommu tables are not part of the venus rproc; I believe they
> > should either be tied into the msm-iommu driver or perhaps exposed as
> > its own iommu(?).
>
> The page tables are in msm-iommu driver.
>
So, just to verify your answer, the msm-iommu driver will handle both
protected and unprotected?
> >
> >
> > But I presume from your inclusion that you've concluded that the venus
> > firmware we have refuses to execute without these tables at least
> > initialized, is this correct?
>
> Yes, the SMC call for PAS memory-setup will fail if this page table is
> not initialized.
>
If the msm-iommu driver will handle the protected buffers (or if there
will be a separate iommu driver for protected buffers) it should issue
these calls, to not be dependant on the rproc-venus driver.
With that I think we should make the rproc-venus driver depend on this
being setup (even if this means creating a "dummy" driver for the
protected iommu handling for now).
> >
> >>>
> >>>> The address is not really fixed, cause the firmware could support
> >>>> relocation. In this example I just picked up the next free memory region
> >>>> in memory-reserved from msm8916.dtsi.
> >>>>
> >>>
> >>> In 8974 we do have a physical region where it's expected to be loaded.
> >>>
> >>> So in line with upcoming remoteproc work we should support referencing a
> >>> reserved-memory node with either reg or size.
> >>>
> >>> In the case of spotting a "reg" we're currently better off using
> >>> ioremap. We're looking at getting the remoteproc core to deal with this
> >>> mess.
> >>
> >> You mean that remoteproc core will parse memory-region property?
> >>
> >
> > It has to, because it's a quite common scenario for remoteproc drivers
> > to either get its backing memory from a static region or be restricted
> > to part of system ram - properties that reserved-memory and
> > memory-region captures already.
>
> OK, I have no issues with that. My concern is the manual parsing of
> 'memory-region' and 'reg' properties in remoteproc core.
>
> So that idea is to have generic binding for rproc, that would be good.
>
I do share your concerns here. But it's a recurring issue with
remoteproc drivers.
[..]
> > But I presume we have the implementation issue of dma_alloc_coherent()
> > failing in either case with the 5MB size. I think we need to look into
>
> I'd be good to include Marek Szyprowski? At least he will know what
> design restrictions there are.
>
Please do. The more I look at this the more I think we must use the
existing infrastructure for allocating "dma memory". Getting
dma_alloc_coherent() supporting non-power-of-2 memory regions would
allow us to use the existing infrastructure, for both fixed and
dynamically placed memory carveouts in remoteproc.
Regards,
Bjorn
next prev parent reply other threads:[~2016-08-30 17:17 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-19 15:53 [PATCH 0/4] Venus remoteproc driver Stanimir Varbanov
2016-08-19 15:53 ` Stanimir Varbanov
[not found] ` <1471622000-1906-1-git-send-email-stanimir.varbanov-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-08-19 15:53 ` [PATCH 1/4] firmware: qcom: scm: add a video command for state setting Stanimir Varbanov
2016-08-19 15:53 ` Stanimir Varbanov
2016-08-19 15:53 ` [PATCH 2/4] firmware: qcom: scm: add iommu scm calls for pg table Stanimir Varbanov
[not found] ` <1471622000-1906-3-git-send-email-stanimir.varbanov-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-08-22 16:29 ` kbuild test robot
2016-08-22 16:29 ` kbuild test robot
2016-08-22 16:29 ` kbuild test robot
2016-08-24 18:35 ` Gupta, Puja
2016-08-25 9:08 ` Stanimir Varbanov
2016-08-30 21:15 ` Andy Gross
2016-08-19 15:53 ` [PATCH 3/4] dt-binding: remoteproc: venus rproc dt binding document Stanimir Varbanov
2016-08-23 17:32 ` Rob Herring
2016-08-23 18:21 ` Bjorn Andersson
2016-08-24 15:36 ` Stanimir Varbanov
2016-08-24 15:36 ` Stanimir Varbanov
2016-08-25 0:05 ` Bjorn Andersson
2016-08-25 11:10 ` Stanimir Varbanov
2016-08-25 11:10 ` Stanimir Varbanov
[not found] ` <3429173a-d55a-51e1-0973-7e5bd31be297-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-08-26 22:23 ` Bjorn Andersson
2016-08-26 22:23 ` Bjorn Andersson
2016-08-29 11:48 ` Stanimir Varbanov
2016-08-30 17:17 ` Bjorn Andersson [this message]
2016-09-01 14:58 ` Stanimir Varbanov
[not found] ` <b7314a89-2215-4961-6e8a-be5ef536624a-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-09-01 20:46 ` Andy Gross
2016-09-01 20:46 ` Andy Gross
2016-09-02 11:52 ` Marek Szyprowski
2016-09-02 20:12 ` Bjorn Andersson
2016-09-07 11:52 ` Stanimir Varbanov
2016-09-07 11:52 ` Stanimir Varbanov
2016-09-15 8:46 ` Marek Szyprowski
2016-08-19 15:53 ` [PATCH 4/4] remoteproc: qcom: add Venus video core firmware loader driver Stanimir Varbanov
[not found] ` <1471622000-1906-5-git-send-email-stanimir.varbanov-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-10-18 16:23 ` Stanimir Varbanov
2016-10-18 16:23 ` Stanimir Varbanov
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=20160830171742.GN15161@tuxbot \
--to=bjorn.andersson@linaro.org \
--cc=andy.gross@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=ohad@wizery.com \
--cc=robdclark@gmail.com \
--cc=robh@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=stanimir.varbanov@linaro.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.