mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Guzman Lugo, Fernando" <fernando.lugo@ti.com>
To: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"ohad@wizery.com" <ohad@wizery.com>,
	"ameya.palande@nokia.com" <ameya.palande@nokia.com>,
	"felipe.contreras@nokia.com" <felipe.contreras@nokia.com>
Subject: RE: [PATCH 1/9] dspbridge: replace iommu custom for opensource implementation
Date: Fri, 2 Jul 2010 11:40:32 -0500	[thread overview]
Message-ID: <496565EC904933469F292DDA3F1663E602CBDD3AF5@dlee06.ent.ti.com> (raw)
In-Reply-To: <20100702.093205.59662898.Hiroshi.DOYU@nokia.com>



> -----Original Message-----
> From: Hiroshi DOYU [mailto:Hiroshi.DOYU@nokia.com]
> Sent: Friday, July 02, 2010 1:32 AM
> To: Guzman Lugo, Fernando
> Cc: linux-omap@vger.kernel.org; linux-kernel@vger.kernel.org;
> ohad@wizery.com; ameya.palande@nokia.com; felipe.contreras@nokia.com
> Subject: Re: [PATCH 1/9] dspbridge: replace iommu custom for opensource
> implementation
> 
> Hi Fernando,
> 
> From: ext Fernando Guzman Lugo <x0095840@ti.com>
> Subject: [PATCH 1/9] dspbridge: replace iommu custom for opensource
> implementation
> Date: Thu, 1 Jul 2010 02:20:52 +0200
> 
> > This patch replace the call to custom dsp mmu implemenation
> > for the once on iommu module.
> >
> > Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
> > ---
> >  drivers/dsp/bridge/core/_tiomap.h    |   16 +
> >  drivers/dsp/bridge/core/io_sm.c      |  114 ++------
> >  drivers/dsp/bridge/core/tiomap3430.c |  501 +++++----------------------
> -------
> >  drivers/dsp/bridge/core/ue_deh.c     |   10 -
> >  4 files changed, 118 insertions(+), 523 deletions(-)
> >
> > diff --git a/drivers/dsp/bridge/core/_tiomap.h
> b/drivers/dsp/bridge/core/_tiomap.h
> > index bf0164e..d13677a 100644
> > --- a/drivers/dsp/bridge/core/_tiomap.h
> > +++ b/drivers/dsp/bridge/core/_tiomap.h
> > @@ -23,6 +23,8 @@
> >  #include <plat/clockdomain.h>
> >  #include <mach-omap2/prm-regbits-34xx.h>
> >  #include <mach-omap2/cm-regbits-34xx.h>
> > +#include <plat/iommu.h>
> > +#include <plat/iovmm.h>
> >  #include <dspbridge/devdefs.h>
> >  #include <hw_defs.h>
> >  #include <dspbridge/dspioctl.h>        /* for bridge_ioctl_extproc defn
> */
> > @@ -330,6 +332,7 @@ struct bridge_dev_context {
> >         u32 dw_internal_size;   /* Internal memory size */
> >
> >         struct omap_mbox *mbox;         /* Mail box handle */
> > +       struct iommu *dsp_mmu;          /* iommu for iva2 handler */
> >
> >         struct cfg_hostres *resources;  /* Host Resources */
> >
> > @@ -374,4 +377,17 @@ extern s32 dsp_debug;
> >   */
> >  int sm_interrupt_dsp(struct bridge_dev_context *dev_context, u16
> mb_val);
> >
> > +static inline void dsp_iotlb_init(struct iotlb_entry *e, u32 da, u32
> pa,
> > +                                                       u32 pgsz)
> > +{
> > +       e->da = da;
> > +       e->pa = pa;
> > +       e->valid = 1;
> > +       e->prsvd = 1;
> > +       e->pgsz = pgsz & MMU_CAM_PGSZ_MASK;
> > +       e->endian = MMU_RAM_ENDIAN_LITTLE;
> > +       e->elsz = MMU_RAM_ELSZ_32;
> > +       e->mixed = 0;
> > +}
> > +
> >  #endif /* _TIOMAP_ */
> > diff --git a/drivers/dsp/bridge/core/io_sm.c
> b/drivers/dsp/bridge/core/io_sm.c
> > index 7fb840d..1f47f8b 100644
> > --- a/drivers/dsp/bridge/core/io_sm.c
> > +++ b/drivers/dsp/bridge/core/io_sm.c
> > @@ -290,6 +290,8 @@ int bridge_io_on_loaded(struct io_mgr *hio_mgr)
> >         struct cod_manager *cod_man;
> >         struct chnl_mgr *hchnl_mgr;
> >         struct msg_mgr *hmsg_mgr;
> > +       struct iommu *mmu;
> > +       struct iotlb_entry e;
> >         u32 ul_shm_base;
> >         u32 ul_shm_base_offset;
> >         u32 ul_shm_limit;
> > @@ -312,7 +314,6 @@ int bridge_io_on_loaded(struct io_mgr *hio_mgr)
> >         struct bridge_ioctl_extproc ae_proc[BRDIOCTL_NUMOFMMUTLB];
> >         struct cfg_hostres *host_res;
> >         struct bridge_dev_context *pbridge_context;
> > -       u32 map_attrs;
> >         u32 shm0_end;
> >         u32 ul_dyn_ext_base;
> >         u32 ul_seg1_size = 0;
> > @@ -336,6 +337,21 @@ int bridge_io_on_loaded(struct io_mgr *hio_mgr)
> >                 status = -EFAULT;
> >                 goto func_end;
> >         }
> > +
> > +       mmu = pbridge_context->dsp_mmu;
> > +
> > +       if (mmu)
> > +               iommu_put(mmu);
> > +       mmu = iommu_get("iva2");
> 
> +       mmu = iommu_get("iva2", mmu_fault_isr);
> 
> I'm considering that it might be better to pass a mmu fault callback
> at this iommu_get.
> 
> What do you think?

That sounds good.

Thanks and regards,
Fernando.



      reply	other threads:[~2010-07-02 16:40 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-01  0:20 [PATCH 0/9] dspbridge: iommu migration Fernando Guzman Lugo
2010-07-01  0:20 ` [PATCH 1/9] dspbridge: replace iommu custom for opensource implementation Fernando Guzman Lugo
2010-07-01  0:20   ` [PATCH 2/9] dspbridge: move shared memory iommu maps to tiomap3430.c Fernando Guzman Lugo
2010-07-01  0:20     ` [PATCH 3/9] dspbridge: rename bridge_brd_mem_map/unmap to a proper name Fernando Guzman Lugo
2010-07-01  0:20       ` [PATCH 4/9] dspbridge: remove custom mmu code from tiomap3430.c Fernando Guzman Lugo
2010-07-01  0:20         ` [PATCH 5/9] dspbridge: add mmufault support Fernando Guzman Lugo
2010-07-01  0:20           ` [PATCH 6/9] dspbridge: remove hw directory Fernando Guzman Lugo
2010-07-01  0:20             ` [PATCH 7/9] dspbridge: move all iommu related code to a new file Fernando Guzman Lugo
2010-07-01  0:20               ` [PATCH 8/9] dspbridge: add map support for big buffers Fernando Guzman Lugo
2010-07-01  0:21                 ` [PATCH 9/9] dspbridge: cleanup bridge_dev_context and cfg_hostres structures Fernando Guzman Lugo
2010-07-01 23:36                 ` [PATCH 8/9] dspbridge: add map support for big buffers Kanigeri, Hari
2010-07-02 16:27                   ` Guzman Lugo, Fernando
2010-07-02 17:02                     ` Kanigeri, Hari
2010-07-02 18:39                       ` Guzman Lugo, Fernando
2010-08-24 10:09                         ` Felipe Contreras
2010-08-24 16:31                           ` Guzman Lugo, Fernando
2010-08-24 17:46                             ` Felipe Contreras
2010-08-24 18:44                               ` Guzman Lugo, Fernando
2010-08-24 18:55                                 ` Felipe Contreras
2010-08-24 19:05                                   ` Guzman Lugo, Fernando
2010-08-24 19:13                                     ` Felipe Contreras
2010-08-24 19:30                                       ` Guzman Lugo, Fernando
2010-08-24 21:17                                         ` Felipe Contreras
2010-08-24 21:55                                           ` Guzman Lugo, Fernando
2010-08-25  6:05                                             ` Felipe Contreras
2010-08-25 16:00                                               ` Guzman Lugo, Fernando
2010-08-25 19:18                                                 ` Felipe Contreras
2010-08-25 19:42                                                   ` Guzman Lugo, Fernando
2010-08-26 10:04                                                     ` Felipe Contreras
2010-08-26 13:00                                                       ` Guzman Lugo, Fernando
2010-08-26  6:55                 ` FUJITA Tomonori
2010-08-26 12:38                   ` Guzman Lugo, Fernando
2010-08-26 12:56                     ` FUJITA Tomonori
2010-08-26 13:16                       ` Guzman Lugo, Fernando
2010-08-26 14:03                         ` FUJITA Tomonori
2010-08-26 14:13                           ` Guzman Lugo, Fernando
2010-07-02  6:27           ` [PATCH 5/9] dspbridge: add mmufault support Hiroshi DOYU
2010-07-02 16:37             ` Guzman Lugo, Fernando
2010-07-02  6:32   ` [PATCH 1/9] dspbridge: replace iommu custom for opensource implementation Hiroshi DOYU
2010-07-02 16:40     ` Guzman Lugo, Fernando [this message]

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=496565EC904933469F292DDA3F1663E602CBDD3AF5@dlee06.ent.ti.com \
    --to=fernando.lugo@ti.com \
    --cc=Hiroshi.DOYU@nokia.com \
    --cc=ameya.palande@nokia.com \
    --cc=felipe.contreras@nokia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=ohad@wizery.com \
    /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

all inboxes | Powered by JetHome®