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

Re: iBook and playing DVDs



benh@kernel.crashi writes:
> [Albert Cahalan]

>> ATI wouldn't likely recommend uncached/guarded or not using
>> the hardware IDCT either though.
>
> uncached/guarded is more or less mandatory on AGP as the HW isn't
> cache coherent, though we would probably get better throughput
> using cached mapping and explicit cache flushes.

Hey, wait a minute... why guarded?
Tell me where I'm wrong:

AGP memory is regular RAM on the motherboard.
(at least it isn't device registers)

Typically an app puts images (bumpmaps, textures, etc.)
in AGP memory. Triangles for 3d rendering also
get written to AGP memory.

This app is X, or an authorized local client.

It is not common to have the video card writing
to AGP memory.

If the video card does write to memory, X can
ensure that this doesn't happen to memory that
the user is busy writing to.

It is not common for the for the user to read AGP memory.

If the user does read from AGP memory, the X server
could flush some cache lines before telling the user
that the memory has been updated. (PowerPC uses a
physical cache, not a virtual cache)

The motherboard chipset will walk some sort of page table
when the video card tries to access AGP memory. This is
kept coherent by a Linux kernel DRI/DRM/AGP driver.

Aside from X itself, ordering isn't going to matter.
User apps won't be trying to atomicly update data
structures as viewed from the video card. X might
do this.

It wouldn't be insane to update X to include all
the necessary cache-related instructions.

User apps need caching off by default, since trying to
update all the apps would be insane.

Unless user code will write to AGP memory on one
processor and read or write on another processor,
the M bit (Memory Coherency Attribute) can be
cleared. It's pointless for the CPU to waste bus
cycles trying to be coherent, since the video card
will not cooperate. All non-SMP systems should
map the AGP memory with coherency disabled.

No existing PowerPC will do unrequested prefetching
across page boundries, or this is easily avoided
by not using memory adjacent to the boundry
between AGP memory and non-AGP memory.

If apps would at least avoid reading stuff written
by the video card, write-through cached would be OK.
Apps that read AGP memory are uncommon enough that
fixing all of them would be feasible.


-- 
To UNSUBSCRIBE, email to debian-powerpc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: