linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@kernel.org>
To: Rob Clark <robdclark@gmail.com>, Stephan Gerhold <stephan@gerhold.net>
Cc: Brian Masney <masneyb@onstation.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Andy Gross <agross@kernel.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] firmware: qcom: scm: add 32 bit iommu page table support
Date: Sat, 04 Jan 2020 22:56:59 -0800	[thread overview]
Message-ID: <20200105065700.A1292207FD@mail.kernel.org> (raw)
In-Reply-To: <CAF6AEGu=G4x3Kpzm=0x-Mj_VOrkvTGq1WcFr8QNAn6APjevHjA@mail.gmail.com>

Quoting Rob Clark (2020-01-01 12:14:35)
> On Wed, Jan 1, 2020 at 3:16 AM Stephan Gerhold <stephan@gerhold.net> wrote:
> >
> > On Tue, Dec 31, 2019 at 10:37:04PM -0500, Brian Masney wrote:
> > > Add 32 bit implmentations of the functions
> > > __qcom_scm_iommu_secure_ptbl_size() and
> > > __qcom_scm_iommu_secure_ptbl_init() that are required by the qcom_iommu
> > > driver.
> > >
> > > Signed-off-by: Brian Masney <masneyb@onstation.org>
> > > ---
> > >  drivers/firmware/qcom_scm-32.c | 32 ++++++++++++++++++++++++++++++--
> > >  1 file changed, 30 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/firmware/qcom_scm-32.c b/drivers/firmware/qcom_scm-32.c
> > > index 48e2ef794ea3..f149a85d36b0 100644
> > > --- a/drivers/firmware/qcom_scm-32.c
> > > +++ b/drivers/firmware/qcom_scm-32.c
> > > @@ -638,13 +638,41 @@ int __qcom_scm_restore_sec_cfg(struct device *dev, u32 device_id,
> > >  int __qcom_scm_iommu_secure_ptbl_size(struct device *dev, u32 spare,
> > >                                     size_t *size)
> > >  {
> > > -     return -ENODEV;
> > > +     int psize[2] = { 0, 0 };
> >
> > I would use an explicit size (i.e. __le32) here.
> >
> > > +     int ret;
> > > +
> > > +     ret = qcom_scm_call(dev, QCOM_SCM_SVC_MP,
> > > +                         QCOM_SCM_IOMMU_SECURE_PTBL_SIZE,
> > > +                         &spare, sizeof(spare), &psize, sizeof(psize));
> > > +     if (ret || psize[1])
> > > +             return ret ? ret : -EINVAL;
> > > +
> > > +     *size = psize[0];
> > > +
> > > +     return 0;
> > >  }
> > >
> > >  int __qcom_scm_iommu_secure_ptbl_init(struct device *dev, u64 addr, u32 size,
> > >                                     u32 spare)
> > >  {
> > > -     return -ENODEV;
> > > +     struct msm_scm_ptbl_init {
> > > +             __le32 paddr;
> > > +             __le32 size;
> > > +             __le32 spare;
> > > +     } req;
> > > +     int ret, scm_ret = 0;
> > > +
> > > +     req.paddr = addr;
> > > +     req.size = size;
> > > +     req.spare = spare;
> >
> > I'm not sure if there is actually anyone using qcom in BE mode (does
> > that even work?), but all the other methods in this file explicitly
> > convert using cpu_to_le32(), so this method should do the same :)
> 
> sboyd used to occasionally fix things related to qcom in BE back in
> the day.. not sure if modern snapdragons still support BE.
> 
> (I'm willing to just pretend that they don't.. that lessens the chance
> that someday someone gets far enough to try the GPU in BE mode, and
> realizes they've wasted their time getting that far ;-))
> 

Yeah it used to work many ages ago, but I don't think anyone besides me
tested it, except maybe for the folks working in QCA back then.


  reply	other threads:[~2020-01-05  6:57 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-01  3:37 [PATCH] firmware: qcom: scm: add 32 bit iommu page table support Brian Masney
2020-01-01 11:15 ` Stephan Gerhold
2020-01-01 20:14   ` Rob Clark
2020-01-05  6:56     ` Stephen Boyd [this message]
2020-01-02  7:36 ` Bjorn Andersson
2020-01-02  8:50   ` Brian Masney
2020-01-04  2:24   ` Brian Masney

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=20200105065700.A1292207FD@mail.kernel.org \
    --to=sboyd@kernel.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masneyb@onstation.org \
    --cc=robdclark@gmail.com \
    --cc=stephan@gerhold.net \
    /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;
as well as URLs for NNTP newsgroup(s).