Deprecated: Assigning the return value of new by reference is deprecated in /var/www/psdevWiki/inc/parserutils.php on line 161

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/psdevWiki/inc/parserutils.php on line 164

Deprecated: Assigning the return value of new by reference is deprecated in /var/www/psdevWiki/inc/parserutils.php on line 294

Deprecated: Function split() is deprecated in /var/www/psdevWiki/inc/auth.php on line 97

Warning: Cannot modify header information - headers already sent by (output started at /var/www/psdevWiki/inc/parserutils.php:161) in /var/www/psdevWiki/inc/auth.php on line 180

Deprecated: Function split() is deprecated in /var/www/psdevWiki/inc/common.php on line 552

Warning: Cannot modify header information - headers already sent by (output started at /var/www/psdevWiki/inc/parserutils.php:161) in /var/www/psdevWiki/inc/actions.php on line 71
ps3:hypervisor:lv1_gpu_context_attribute:fifo_setup [psDevWiki]
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in /var/www/psdevWiki/inc/template.php on line 154
 
Table of Contents

lv1_gpu_context_attribute:fifo_setup (225)

Set the FIFO control registers.

This is a specific operation of the generic operation lv1_gpu_context_attribute(...);

This call is unused by the kernel. It has been discovered by probing.

Parameters

Inputs
Register Description
R3 ps3fb.context_handle as allocated by lv1_gpu_context_allocate theoretically.
R4 operation_code - L1GPU_CONTEXT_ATTRIBUTE_FIFO_SETUP (0×001)
R5 PUT pointer
R6 GET pointer
R7 REF pointer
R8 unused
Outputs
Register Description
R3 Status - 0 = OK, Other values are unknown, but indicate failure.

Notes

The PUT, GET and REF pointers can also be accessed from the lpar_dma_control region obtained from the lv1_gpu_context_allocate call. Their relative offsets are the following:

Offset Register Description
0×40 PUT Pointer to last command written to the GPU. Owned by CPU.
0×44 GET Pointer to last command read by the GPU. Owned by GPU.
0×48 REF Unknown.
0×54 TOP Unknown. Owned by GPU.

Setting the PUT pointer to a different value than the GET pointer will trigger the GPU. It will process FIFO commands, increasing the GET and TOP pointers as they are read until they both reach the value of the PUT register. Note that when GET equals PUT, it does not mean all commands are complete, only they have been read. The TOP pointer is lagging a bit behind the PUT pointer; its usage is unknown.

Setting the PUT pointer to 4 crashes the GPU (as expected), but also seems to trigger some sort of crash dump in the lpar_driver_info region of lv1_gpu_context_allocate. This needs further investigation.

 

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in /var/www/psdevWiki/inc/template.php on line 523
ps3/hypervisor/lv1_gpu_context_attribute/fifo_setup.txt · Last modified: 2008/05/15 00:07
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki