RE: [PATCH 03/13] DSPBRIDGE: Moving functions from mem.c to drv.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ivan,

> In the commit 702b94bff3c50542a6e4ab9a4f4cef093262fe65 (2.6.34) the
> functions
> dmac_inv_range and dmac_clean_range were removed.
> 
> I'm wondering how to fix this in order to rebase to 2.6.34.
> 
> Thanks

2 options:

1. Replace dmac_inv_range and dmac_clean_range functions with the new dma map and unmap functions. These are supposed to be the new functions to do the same functionality, but in our limited testing some time ago, the dma_unmap function wasn't invalidating the cache. You can check this at your end.

2. Revert the patch that deprecated these APIs to unblock you temporarily.

Thank you,
Best regards,
Hari

> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Víctor M. Jáquez L.
> Sent: Friday, April 16, 2010 5:37 AM
> To: Gomez Castellanos, Ivan
> Cc: linux-omap@xxxxxxxxxxxxxxx; Hiroshi DOYU; Felipe Contreras; Ameya
> Palande; Menon, Nishanth
> Subject: Re: [PATCH 03/13] DSPBRIDGE: Moving functions from mem.c to drv.c
> 
> On Thu, Apr 08, 2010 at 06:47:13PM -0500, Gomez Castellanos, Ivan wrote:
> 
> > +/*
> > + *  ======== mem_flush_cache =======
> > + *  Purpose:
> > + *      Flush cache
> > + */
> > +void mem_flush_cache(void *pMemBuf, u32 byte_size, s32 FlushType)
> > +{
> > +       if (!pMemBuf)
> > +               return;
> > +
> > +       switch (FlushType) {
> > +               /* invalidate only */
> > +       case PROC_INVALIDATE_MEM:
> > +               dmac_inv_range(pMemBuf, pMemBuf + byte_size);
> > +               outer_inv_range(__pa((u32) pMemBuf), __pa((u32) pMemBuf
> +
> > +                                                         byte_size));
> > +               break;
> > +               /* writeback only */
> > +       case PROC_WRITEBACK_MEM:
> > +               dmac_clean_range(pMemBuf, pMemBuf + byte_size);
> > +               outer_clean_range(__pa((u32) pMemBuf), __pa((u32)
> pMemBuf +
> > +                                                           byte_size));
> > +               break;
> > +               /* writeback and invalidate */
> > +       case PROC_WRITEBACK_INVALIDATE_MEM:
> > +               dmac_flush_range(pMemBuf, pMemBuf + byte_size);
> > +               outer_flush_range(__pa((u32) pMemBuf), __pa((u32)
> pMemBuf +
> > +                                                           byte_size));
> > +               break;
> > +       }
> 
> In the commit 702b94bff3c50542a6e4ab9a4f4cef093262fe65 (2.6.34) the
> functions
> dmac_inv_range and dmac_clean_range were removed.
> 
> I'm wondering how to fix this in order to rebase to 2.6.34.
> 
> Thanks
> 
> vmjl
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux