All of lore.kernel.org
 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 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.