device_info
struct device_info info;
const device_info *info;
const device_info kSupportedDevices[] = {
static status_t map_device(device_info *di)
typedef struct device_info device_info;
device_info *di; /* pointer to the owning device */
static void unmap_device(device_info *di) {
static void copy_rom(device_info *di)
device_info *di = pd->di;
device_info di[MAX_DEVICES]; /* device specific stuff */
device_info *di = (device_info *)data;
static status_t map_device(device_info *di);
device_info *di;
static void unmap_device(device_info *di);
static void copy_rom(device_info *di);
device_info *di = (device_info *)dev;
device_info *di = (device_info *)dev;
static status_t map_device(device_info *di)
typedef struct device_info device_info;
device_info *di; /* pointer to the owning device */
static void unmap_device(device_info *di) {
device_info *di = pd->di;
device_info *di = (device_info *)data;
device_info *di;
device_info di[MAX_DEVICES]; /* device specific stuff */
static status_t map_device(device_info *di);
static void unmap_device(device_info *di);
device_info *di = (device_info *)dev;
device_info *di = (device_info *)dev;
device_info *di = (device_info *)dev;
device_info *di = (device_info *)dev;
typedef struct device_info device_info;
device_info *di; /* pointer to the owning device */
map_device(device_info *di)
device_info di[MAX_DEVICES]; /* device specific stuff */
static status_t map_device(device_info *di);
static void unmap_device(device_info *di);
unmap_device(device_info *di)
device_info *di = pd->di;
device_info *di = (device_info *)data;
device_info *di;
void Radeon_DiscardAllIndirectBuffers( device_info *di );
void Radeon_FlushPixelCache( device_info *di );
void Radeon_WaitForIdle( device_info *di, bool acquire_lock, bool keep_lock )
void Radeon_WaitForFifo( device_info *di, int entries )
void Radeon_FlushPixelCache( device_info *di )
void Radeon_ResetEngine( device_info *di )
static void loadMicroEngineRAMData( device_info *di )
static status_t initRingBuffer( device_info *di, int aring_size )
static void uninitRingBuffer( device_info *di )
static status_t initCPFeedback( device_info *di )
static void uninitCPFeedback( device_info *di )
static status_t initIndirectBuffers( device_info *di )
static void uninitIndirectBuffers( device_info *di )
status_t Radeon_InitCP( device_info *di )
void Radeon_UninitCP( device_info *di )
void Radeon_DiscardAllIndirectBuffers( device_info *di )
void Radeon_SetDynamicClock( device_info *di, int mode)
device_info *di, uint32 src, char *target, size_t size, bool lock_mem, bool contiguous )
device_info *di, uint32 src, char *target, size_t size, bool lock_mem, bool contiguous )
status_t Radeon_InitDMA( device_info *di )
device_info *di, uint32 src, char *target, size_t size, bool lock_mem, bool contiguous )
status_t Radeon_InitPCIGART( device_info *di )
void Radeon_CleanupPCIGART( device_info *di )
Radeon_Set_AGP(device_info *di, bool enable_agp)
status_t Radeon_ReadBIOSData( device_info *di )
static void Radeon_GetPLLInfo( device_info *di )
static bool Radeon_GetConnectorInfoFromBIOS ( device_info* di )
static bool Radeon_GetBIOSDFPInfo( device_info *di )
static void Radeon_RevEnvDFPSize( device_info *di )
static void Radeon_RevEnvDFPTiming( device_info *di )
static void Radeon_GetTMDSInfoFromBios( device_info *di )
static void Radeon_GetFPData( device_info *di )
static uint32 RADEON_GetAccessibleVRAM( device_info *di )
static void Radeon_DetectRAM( device_info *di )
static bool probeDevice(device_info *di)
device_info *di = devices->di;
device_info *di;
device_info *di = (device_info *)dev;
device_info *di = (device_info *)dev;
void Radeon_UnmapDevice(device_info *di)
status_t Radeon_FirstOpen( device_info *di )
status_t Radeon_MapDevice( device_info *di, bool mmio_only )
void Radeon_LastClose( device_info *di )
device_info *di = (device_info *)data;
device_info *di = ((timer_info *)te)->di;
Radeon_DisableIRQ(device_info *di)
Radeon_SetupIRQ(device_info *di, char *buffer)
Radeon_ThreadInterruptWork(vuint8 *regs, device_info *di, uint32 int_status)
Radeon_CleanupIRQ(device_info *di)
Radeon_HandleCaptureInterrupt(vuint8 *regs, device_info *di, uint32 cap_status)
static void Radeon_SetupMCAddresses_IGP( device_info *di )
void Radeon_InitMemController( device_info *di )
static void Radeon_SetupMCAddresses_Direct( device_info *di )
static void Radeon_SetupMCAddresses_Safe( device_info *di )
device_info di[MAX_DEVICES];
status_t Radeon_FirstOpen( device_info *di );
void Radeon_LastClose( device_info *di );
status_t Radeon_MapDevice( device_info *di, bool mmio_only );
void Radeon_UnmapDevice(device_info *di);
status_t Radeon_ReadBIOSData( device_info *di );
status_t Radeon_InitPCIGART( device_info *di );
void Radeon_CleanupPCIGART( device_info *di );
status_t Radeon_SetupIRQ( device_info *di, char *buffer );
void Radeon_CleanupIRQ( device_info *di );
void Radeon_Set_AGP( device_info *di, bool enable_agp );
void Radeon_InitMemController( device_info *di );
void Radeon_WaitForIdle( device_info *di, bool acquire_lock, bool keep_lock );
void Radeon_WaitForFifo( device_info *di, int entries );
void Radeon_ResetEngine( device_info *di );
status_t Radeon_InitCP( device_info *di );
void Radeon_UninitCP( device_info *di );
void Radeon_SetDynamicClock( device_info *di, int mode );
bool Radeon_VIPRead( device_info *di, uint channel, uint address, uint32 *data, bool lock );
bool Radeon_VIPWrite( device_info *di, uint8 channel, uint address, uint32 data, bool lock );
bool Radeon_VIPFifoRead(device_info *di, uint8 channel, uint32 address, uint32 count, uint8 *buffer, bool lock);
bool Radeon_VIPFifoWrite(device_info *di, uint8 channel, uint32 address, uint32 count, uint8 *buffer, bool lock);
int Radeon_FindVIPDevice( device_info *di, uint32 device_id );
void Radeon_VIPReset( device_info *di, bool lock );
status_t Radeon_InitDMA( device_info *di );
device_info *di, uint32 src, char *target, size_t size,
struct device_info *di; /* pointer to the owning device */
bool Radeon_VIPFifoRead(device_info *di, uint8 channel, uint32 address, uint32 count, uint8 *buffer, bool lock)
static bool do_VIPWrite( device_info *di, uint8 channel, uint address, uint32 data )
bool Radeon_VIPWrite(device_info *di, uint8 channel, uint address, uint32 data, bool lock )
static bool do_VIPFifoWrite(device_info *di, uint8 channel, uint32 address,
static bool Radeon_VIPWaitForIdle( device_info *di );
static status_t RADEON_VIPFifoIdle(device_info *di, uint8 channel);
bool Radeon_VIPFifoWrite(device_info *di, uint8 channel, uint32 address, uint32 count, uint8 *buffer, bool lock)
device_info *di, bool lock )
device_info *di, uint channel, uint address, uint32 *data )
device_info *di )
static status_t RADEON_VIPFifoIdle(device_info *di, uint8 channel)
device_info *di )
device_info *di, uint32 device_id )
device_info *di, uint channel, uint address, uint32 *data, bool lock )
static bool do_VIPFifoRead(device_info *di, uint8 channel, uint32 address, uint32 count, uint8 *buffer)
static status_t map_device(device_info *di)
typedef struct device_info device_info;
device_info *di; /* pointer to the owning device */
static void unmap_device(device_info *di) {
device_info *di = pd->di;
device_info *di = (device_info *)data;
device_info *di;
device_info di[MAX_DEVICES]; /* device specific stuff */
static status_t map_device(device_info *di);
static void unmap_device(device_info *di);
device_info *di = (device_info *)dev;
device_info *di = (device_info *)dev;
static status_t map_device(device_info *di)
typedef struct device_info device_info;
device_info *di; /* pointer to the owning device */
static void unmap_device(device_info *di) {
device_info *di = pd->di;
device_info *di = (device_info *)data;
device_info *di;
device_info di[MAX_DEVICES]; /* device specific stuff */
static status_t map_device(device_info *di);
static void unmap_device(device_info *di);
device_info *di = (device_info *)dev;
device_info *di = (device_info *)dev;
device_info *dev = (device_info *)fDeviceList.ItemAt(info->internal_id);
device_info *dev = (device_info *)fDeviceList.ItemAt(index);
device_info *dev = new device_info;
device_info *dev;
while ((dev = (device_info *)fDeviceList.RemoveItem((int32)0))) {
device_info *dev = (device_info *)fDeviceList.ItemAt(n);
device_info *dev = new device_info;
device_info* dev;
device_info* dev = fDeviceList.ItemAt(n);
device_info* dev = fDeviceList.ItemAt(info->internal_id);
struct device_info;
BObjectList<device_info> fDeviceList;
class device_info
device_info fDeviceInfo[MAX_DEVICE_COUNT];
while (device_info* info = fDeviceList.RemoveItemAt(0)) {
device_info* info = fDeviceList.ItemAt(i);
device_info* info = fDeviceList.ItemAt(i);
device_info* info = new(std::nothrow) device_info;
device_info* info = fDeviceList.ItemAt(i);
BObjectList<device_info> fDeviceList;
device_info &info = gDeviceInfos[index];
device_info &info = gDeviceInfos[index];
device_info &info = gDeviceInfos[index];
device_info &info = gDeviceInfos[devIndex];
device_info &info = gDeviceInfos[devIndex];
device_info &info = gDeviceInfos[devIndex];
struct device_info gDeviceInfos[kDeviceCount];