patch from: ian

sorry ian!


-a


On 30 October 2015 at 17:29, Adrian Chadd <[email protected]> wrote:
> Author: adrian
> Date: Sat Oct 31 00:29:26 2015
> New Revision: 290219
> URL: https://svnweb.freebsd.org/changeset/base/290219
>
> Log:
>   mips: do mips_sync() on sync operations to uncachable memory.
>
>   mips24k/mips74k document that we need an explicit SYNC so to order
>   things correctly, even with access to uncachable memory.
>   We were doing calls to SYNC in the cache ops (inv, wbinv) but we
>   weren't doing it for uncachable memory.
>
> Modified:
>   head/sys/mips/mips/busdma_machdep.c
>
> Modified: head/sys/mips/mips/busdma_machdep.c
> ==============================================================================
> --- head/sys/mips/mips/busdma_machdep.c Sat Oct 31 00:04:44 2015        
> (r290218)
> +++ head/sys/mips/mips/busdma_machdep.c Sat Oct 31 00:29:26 2015        
> (r290219)
> @@ -1220,11 +1220,12 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus
>         if (STAILQ_FIRST(&map->bpages))
>                 _bus_dmamap_sync_bp(dmat, map, op);
>
> -       if (dmat->flags & BUS_DMA_COHERENT)
> -               return;
> -
> -       if (map->flags & DMAMAP_UNCACHEABLE)
> +       if ((dmat->flags & BUS_DMA_COHERENT) ||
> +           (map->flags & DMAMAP_UNCACHEABLE)) {
> +               if (op & BUS_DMASYNC_PREWRITE)
> +                       mips_sync();
>                 return;
> +       }
>
>         aligned = (map->flags & DMAMAP_CACHE_ALIGNED) ? 1 : 0;
>
>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to