On Tue, May 12, 2020 at 1:02 PM Rui Salvaterra <rsalvaterra@gmail.com> wrote:
On Tue, 12 May 2020 at 17:38, Daniel Vetter <daniel@ffwll.ch> wrote:
Otherwise all agree, agp is a mighty mess and essentially just
crapshot outside of x86. It kinda worked for the much more static
allocations for dri1, but with in-kernel memory managers all the cache
flushing issues showed up big time and it all fell to pieces. Plus a
lot of these host chipset back then where designed for the rather
static windows gpu managers, so even on x86 the coherency issues for
agp mode when used together with ttm or something else really dynamic
is pretty bad because the hw just doesn't really cope and has all
kinds of flushing troubles and races. I think the later agp chipsets
were better.
That was rather insightful, thanks. I was starting to doubt my own
memory, as I was almost sure I never had any hangs with AGP on PowerPC
before KMS was a thing. But even on x86, I distinctly remember never
being able to get sideband addressing working with any AGP cards, my
system would randomly hang too.
I'm starting to believe AGP was shoehorned into PCI the same way VLB
was shoehorned into ISA (and for the same reason). History repeats
itself… :)
Pre-KMS, the kernel just allocated a static relatively small (e.g., 8
MB) AGP buffer which never changed. In that case, things were
somewhat more reliable.