Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Sep 2013 08:43:35 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Svatopluk Kraus <onwahe@gmail.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Architecture vs. bus vs. device DMA cache coherency
Message-ID:  <20130910154335.GT68682@funkthat.com>
In-Reply-To: <CAFHCsPXe97B3YKURXZUqiNtWzopJZ2e00qaOBBU16nQYMM1pdg@mail.gmail.com>
References:  <CAFHCsPXe97B3YKURXZUqiNtWzopJZ2e00qaOBBU16nQYMM1pdg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Svatopluk Kraus wrote this message on Tue, Sep 10, 2013 at 13:19 +0200:
> Even in DMA cache coherent architectures there could be not-coherent DMA
> busses and/or devices. Thus, each bus and/or device should be described by
> its bus_dma_tag and the tag should carry information about DMA cache
> coherency.

I've thought about this a lot myself, and I'm not familar w/ a bus (that
isn't main memory) or device that isn't cache coherent...  Most busses
write to memory through an arbiter (north bridge or cpu/soc) that does
the proper read/modify/write cycles to get the memory there.  I have
not heard of another bus/device that does their own read/modify/write
cycles to get their writes to memory.  Can you name a current bus/device
that does this?

Our busdma system does have issues that if you try to dma to say,
video memory, we don't handle that (well) because we assume that all
memory is a flat space and belongs to nexus, but this isn't always
correct.

If you have an architecture like this, can you please tell use which
system you are trying to fix?

Thanks.

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130910154335.GT68682>