home .. forth .. colorforth mail list archive ..

Re: [colorforth] Where to find AGP details


Here is a snippet on AGP from the weblogs: 


Anyway, I was trawling through a rather large book
called "PCI System Architecture" from Addison Wesley
and in the section entitled "Configuration Registers"
they provide an example
of how to control a PCI card using what is termed a
'capabilities list'.

Guess what the example is that they used? --- AGP!

No information of the 3D acceleration bit but all the
information on how to turn up the speed of the AGP
slot.

After testing, there was a substantial increase in the
amount of data I could shove accross the connection.
(Depending on your system, there may be a larger or
smaller increase).


Top 	
  
 
Xardfir 	
 Post subject: Re:A small tutorial in AGP speed setup
PostPosted: Mon Oct 25, 2004 6:51 am 
	
So here it is - a small tutorial in AGP speed setup.

I assume that you have access to the PCI specs and can
read/write PCI configuration registers. If you don't,
what follows isn't going to be much use. I'm assuming
PCI Spec 2.2 or higher. Have no idea if these work on
the PCI Ex cards coming onto the market, somehow I
doubt it.

Firstly, detect the AGP card using standard PCI
interrogation.
The device ID should be 03h with a subclass code of 02h
indicating: display controller - 3D controller.

Next from dword 0dh you will find the capabilities
pointer. This points to a linked list of 'capabilities'
a device may have.
At the Dword pointed by the pointer you'll find another
Dword with the following format
0-7    Capability ID
8-15    Pointer to next capability (points directly to
the next capability in the list)
16 - 31   Feature Specific

So what you do is follow the yellow brick list until you
come to an entry with the capability ID of 02h or
"AGP".
By the way, power management (01h), slot id (04h),
message signaled interrupts (05h), compactpci (06h) -
no information provided.

Once you have the appropriate capability, you can now
check which AGP version you have.
In the same DWord holding the Capability ID - the
following bits have the following meaning:
Bits 16 - 19 Minor revision
Bits 20 - 23 Major revision

Now that you're satisfied that you've got an AGP of the
appropriate revision in custody, the next DWORD holds
the AGP status register(read only unimplemented bits
are 0's):

Bits 0-2   AGP SPEED
This indicates the data transfer rates supported by the
AGP card. All data rates supported are
indicated by set bits.
   Bit      Transfer rate
   0      1X
   1      2X
   2      4X


Top 	
  
 
Xardfir 	
 Post subject: Re:A small tutorial in AGP speed setup
PostPosted: Mon Oct 25, 2004 6:51 am 
	
Bit 3      Reserved
I don't have an 8X AGP card, but it wouldn't be too much
to assume that this is now the 8X rate

indicator bit, particularly since 16X cards will never
exist due to PCI Ex. On the other hand flipping both 2X
and 4X should equal 8X so.......

Bit 4      Fast Writes supported. (1 - Yes)

Bit 5      Addresses > 4Gbytes. (1 - Yes)
This one's for 64 bit systems Mips, Sparc, PowerPC etc.

Bits 8 - 6   Reserved

Bit 9      Side Band Addressing supported. (1 - Yes)
If supported (and activated) increases the speed of AGP
accesses.

Bits 10 - 23   Reserved

Bits 24 - 31   Maximum depth of the AGP request queue
supported. Unless you're into the 3D stuff - this is
useless.


OK, now we know the rates supported and the AGP's
capabilities, time to speed things up.

The next DWORD is the AGP Command Register where all the
good stuff resides and it's format is exactly the same
as the status register except for one bit - the
activate AGP bit (bit 8).
To increase speed, flip one (and only one) bit in the
data rate section.
For example to enable 4x AGP, set bit 2 of the
configuration register then turn on bit 8 and

- ZIPPPP, ZAPPPP, KAPOWWWW ***** 4X the data rate *****

Set the Fast-write and side-band addressing bits (if
applicable) to get a little bit more speed.
Be warned, some cards do not like these enabled when
installed on particular chipsets (some VIA boards I
believe).

So there, a quick and easy way to boost video speed.
Many thanks to Tom Shanley, Don Anderson and Addison
Wesley for providing the information.
"PCI SYSTEM ARCHITECTURE, Fourth Edition, ISBN
0-201-30974-2"

I also noticed there's an "AGP ARCHITECTURE, ISBN
0-201-37964-3", *currently unavailable (like all the
other AGP programming info)* - Is this some sort of
conspiracy? Is there a secret government agency
determined to suppress all AGP information?
It's not like the PCI hardware specs or anything to do
with actual AGP hardware implemenatation.

All I want to do is know how to program the blasted
thing!

P.S. If you use the above for GUI/graphics/whatever
development, I'd really be interested in the results
obtained.
Not necessarily a detailed analysis, just a -
"Everything speeded up - happy".



Quoting Jason Kemp <jason.kemp@xxxxxxxxxxxxxxxx>:

>... " Good morning all,
>... " 
>... " I am trying to understand a little about how the
>... " AGP works.  How are the 
>... " AGP memory addresses determined?  0x0f0000000 is
>... " for a fujitsu, 
>... " 0xE8000000 seems to work on my ATI with Josh
>... " Grams's 2005 source. Can 
>... " anyone please point me to a datasheet or article
>... " that explains AGP 
>... " configuration, or is this more a BIOS set-up
>... " thing?  It appears that ATI 
>... " don't give away any technical info.  I've found
>... " 
>... "
http://download.intel.com/design/chipsets/datashts/25302704.pdf
>... " but this 
>... " doesn't shed much light (may be I have to spend
>... " more time on that though?)
>... " 
>... " Thanks,
>... " Jason
>... " 
>... " 
>... "
---------------------------------------------------------------------
>... " To unsubscribe, e-mail:
>... " colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
>... " For additional commands, e-mail:
>... " colorforth-help@xxxxxxxxxxxxxxxxxx
>... " Main web page - http://www.colorforth.com
>... " 


-- 
Dr Nicolas George Maroudas
Avigdor Meiri 9/1 
Sea View 
Haifa 3 55 00 
Israel 
Tel +972 048 337 315 

****************************

A better world is not only possible but on the way.  On
a quiet day you can hear her breathing.  - Arundhati
Roy

****

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com