mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 04:23:32 +00:00
[XBOXVMP] Improve debugging prints
This commit is contained in:
parent
816149e0c3
commit
b54a38b8c0
2 changed files with 25 additions and 23 deletions
|
@ -16,9 +16,8 @@
|
||||||
|
|
||||||
#include "xboxvmp.h"
|
#include "xboxvmp.h"
|
||||||
|
|
||||||
#define I2C_IO_BASE 0xc000
|
#include <debug.h>
|
||||||
|
#include <dpfilter.h>
|
||||||
#define CONTROL_FRAMEBUFFER_ADDRESS_OFFSET 0x600800
|
|
||||||
|
|
||||||
/* PUBLIC AND PRIVATE FUNCTIONS ***********************************************/
|
/* PUBLIC AND PRIVATE FUNCTIONS ***********************************************/
|
||||||
|
|
||||||
|
@ -65,7 +64,7 @@ XboxVmpFindAdapter(
|
||||||
USHORT VendorId = 0x10DE; /* NVIDIA Corporation */
|
USHORT VendorId = 0x10DE; /* NVIDIA Corporation */
|
||||||
USHORT DeviceId = 0x02A0; /* NV2A XGPU */
|
USHORT DeviceId = 0x02A0; /* NV2A XGPU */
|
||||||
|
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpFindAdapter\n");
|
TRACE_(IHVVIDEO, "XboxVmpFindAdapter\n");
|
||||||
|
|
||||||
XboxVmpDeviceExtension = (PXBOXVMP_DEVICE_EXTENSION)HwDeviceExtension;
|
XboxVmpDeviceExtension = (PXBOXVMP_DEVICE_EXTENSION)HwDeviceExtension;
|
||||||
|
|
||||||
|
@ -98,7 +97,7 @@ XboxVmpInitialize(
|
||||||
ULONG inIoSpace = VIDEO_MEMORY_SPACE_MEMORY;
|
ULONG inIoSpace = VIDEO_MEMORY_SPACE_MEMORY;
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
|
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpInitialize\n");
|
TRACE_(IHVVIDEO, "XboxVmpInitialize\n");
|
||||||
|
|
||||||
XboxVmpDeviceExtension = (PXBOXVMP_DEVICE_EXTENSION)HwDeviceExtension;
|
XboxVmpDeviceExtension = (PXBOXVMP_DEVICE_EXTENSION)HwDeviceExtension;
|
||||||
|
|
||||||
|
@ -111,11 +110,11 @@ XboxVmpInitialize(
|
||||||
&inIoSpace,
|
&inIoSpace,
|
||||||
&XboxVmpDeviceExtension->VirtControlStart) != NO_ERROR)
|
&XboxVmpDeviceExtension->VirtControlStart) != NO_ERROR)
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Error, "Failed to map control memory\n");
|
ERR_(IHVVIDEO, "Failed to map control memory\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
VideoPortDebugPrint(Info, "Mapped 0x%x bytes of control mem at 0x%x to virt addr 0x%x\n",
|
INFO_(IHVVIDEO, "Mapped 0x%x bytes of control mem at 0x%x to virt addr 0x%x\n",
|
||||||
XboxVmpDeviceExtension->ControlLength,
|
XboxVmpDeviceExtension->ControlLength,
|
||||||
XboxVmpDeviceExtension->PhysControlStart.u.LowPart,
|
XboxVmpDeviceExtension->PhysControlStart.u.LowPart,
|
||||||
XboxVmpDeviceExtension->VirtControlStart);
|
XboxVmpDeviceExtension->VirtControlStart);
|
||||||
|
@ -143,7 +142,7 @@ XboxVmpStartIO(
|
||||||
{
|
{
|
||||||
case IOCTL_VIDEO_SET_CURRENT_MODE:
|
case IOCTL_VIDEO_SET_CURRENT_MODE:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpStartIO IOCTL_VIDEO_SET_CURRENT_MODE\n");
|
TRACE_(IHVVIDEO, "XboxVmpStartIO IOCTL_VIDEO_SET_CURRENT_MODE\n");
|
||||||
|
|
||||||
if (RequestPacket->InputBufferLength < sizeof(VIDEO_MODE))
|
if (RequestPacket->InputBufferLength < sizeof(VIDEO_MODE))
|
||||||
{
|
{
|
||||||
|
@ -160,7 +159,7 @@ XboxVmpStartIO(
|
||||||
|
|
||||||
case IOCTL_VIDEO_RESET_DEVICE:
|
case IOCTL_VIDEO_RESET_DEVICE:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpStartIO IOCTL_VIDEO_RESET_DEVICE\n");
|
TRACE_(IHVVIDEO, "XboxVmpStartIO IOCTL_VIDEO_RESET_DEVICE\n");
|
||||||
|
|
||||||
Result = XboxVmpResetDevice(
|
Result = XboxVmpResetDevice(
|
||||||
(PXBOXVMP_DEVICE_EXTENSION)HwDeviceExtension,
|
(PXBOXVMP_DEVICE_EXTENSION)HwDeviceExtension,
|
||||||
|
@ -170,7 +169,7 @@ XboxVmpStartIO(
|
||||||
|
|
||||||
case IOCTL_VIDEO_MAP_VIDEO_MEMORY:
|
case IOCTL_VIDEO_MAP_VIDEO_MEMORY:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpStartIO IOCTL_VIDEO_MAP_VIDEO_MEMORY\n");
|
TRACE_(IHVVIDEO, "XboxVmpStartIO IOCTL_VIDEO_MAP_VIDEO_MEMORY\n");
|
||||||
|
|
||||||
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_MEMORY_INFORMATION) ||
|
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_MEMORY_INFORMATION) ||
|
||||||
RequestPacket->InputBufferLength < sizeof(VIDEO_MEMORY))
|
RequestPacket->InputBufferLength < sizeof(VIDEO_MEMORY))
|
||||||
|
@ -189,7 +188,7 @@ XboxVmpStartIO(
|
||||||
|
|
||||||
case IOCTL_VIDEO_UNMAP_VIDEO_MEMORY:
|
case IOCTL_VIDEO_UNMAP_VIDEO_MEMORY:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpStartIO IOCTL_VIDEO_UNMAP_VIDEO_MEMORY\n");
|
TRACE_(IHVVIDEO, "XboxVmpStartIO IOCTL_VIDEO_UNMAP_VIDEO_MEMORY\n");
|
||||||
|
|
||||||
if (RequestPacket->InputBufferLength < sizeof(VIDEO_MEMORY))
|
if (RequestPacket->InputBufferLength < sizeof(VIDEO_MEMORY))
|
||||||
{
|
{
|
||||||
|
@ -206,7 +205,7 @@ XboxVmpStartIO(
|
||||||
|
|
||||||
case IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES:
|
case IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpStartIO IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES\n");
|
TRACE_(IHVVIDEO, "XboxVmpStartIO IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES\n");
|
||||||
|
|
||||||
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_NUM_MODES))
|
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_NUM_MODES))
|
||||||
{
|
{
|
||||||
|
@ -223,7 +222,7 @@ XboxVmpStartIO(
|
||||||
|
|
||||||
case IOCTL_VIDEO_QUERY_AVAIL_MODES:
|
case IOCTL_VIDEO_QUERY_AVAIL_MODES:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpStartIO IOCTL_VIDEO_QUERY_AVAIL_MODES\n");
|
TRACE_(IHVVIDEO, "XboxVmpStartIO IOCTL_VIDEO_QUERY_AVAIL_MODES\n");
|
||||||
|
|
||||||
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_MODE_INFORMATION))
|
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_MODE_INFORMATION))
|
||||||
{
|
{
|
||||||
|
@ -240,7 +239,7 @@ XboxVmpStartIO(
|
||||||
|
|
||||||
case IOCTL_VIDEO_QUERY_CURRENT_MODE:
|
case IOCTL_VIDEO_QUERY_CURRENT_MODE:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpStartIO IOCTL_VIDEO_QUERY_CURRENT_MODE\n");
|
TRACE_(IHVVIDEO, "XboxVmpStartIO IOCTL_VIDEO_QUERY_CURRENT_MODE\n");
|
||||||
|
|
||||||
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_MODE_INFORMATION))
|
if (RequestPacket->OutputBufferLength < sizeof(VIDEO_MODE_INFORMATION))
|
||||||
{
|
{
|
||||||
|
@ -257,7 +256,7 @@ XboxVmpStartIO(
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Warn, "XboxVmpStartIO 0x%x not implemented\n");
|
WARN_(IHVVIDEO, "XboxVmpStartIO 0x%x not implemented\n", RequestPacket->IoControlCode);
|
||||||
|
|
||||||
RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION;
|
RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -285,7 +284,7 @@ XboxVmpResetHw(
|
||||||
ULONG Columns,
|
ULONG Columns,
|
||||||
ULONG Rows)
|
ULONG Rows)
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Trace, "XboxVmpResetHw\n");
|
TRACE_(IHVVIDEO, "XboxVmpResetHw\n");
|
||||||
|
|
||||||
if (!XboxVmpResetDevice((PXBOXVMP_DEVICE_EXTENSION)DeviceExtension, NULL))
|
if (!XboxVmpResetDevice((PXBOXVMP_DEVICE_EXTENSION)DeviceExtension, NULL))
|
||||||
{
|
{
|
||||||
|
@ -308,7 +307,7 @@ XboxVmpGetPowerState(
|
||||||
ULONG HwId,
|
ULONG HwId,
|
||||||
PVIDEO_POWER_MANAGEMENT VideoPowerControl)
|
PVIDEO_POWER_MANAGEMENT VideoPowerControl)
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Error, "XboxVmpGetPowerState is not supported\n");
|
ERR_(IHVVIDEO, "XboxVmpGetPowerState is not supported\n");
|
||||||
|
|
||||||
return ERROR_INVALID_FUNCTION;
|
return ERROR_INVALID_FUNCTION;
|
||||||
}
|
}
|
||||||
|
@ -326,7 +325,7 @@ XboxVmpSetPowerState(
|
||||||
ULONG HwId,
|
ULONG HwId,
|
||||||
PVIDEO_POWER_MANAGEMENT VideoPowerControl)
|
PVIDEO_POWER_MANAGEMENT VideoPowerControl)
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Error, "XboxVmpSetPowerState not supported\n");
|
ERR_(IHVVIDEO, "XboxVmpSetPowerState not supported\n");
|
||||||
|
|
||||||
return ERROR_INVALID_FUNCTION;
|
return ERROR_INVALID_FUNCTION;
|
||||||
}
|
}
|
||||||
|
@ -406,7 +405,7 @@ XboxVmpMapVideoMemory(
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
VideoPortDebugPrint(Error, "ZwQueryBasicInformation failed, assuming 64MB total memory\n");
|
ERR_(IHVVIDEO, "ZwQueryBasicInformation failed, assuming 64MB total memory\n");
|
||||||
FrameBuffer.u.LowPart = 60 * 1024 * 1024;
|
FrameBuffer.u.LowPart = 60 * 1024 * 1024;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -425,9 +424,9 @@ XboxVmpMapVideoMemory(
|
||||||
MapInformation->FrameBufferLength = MapInformation->VideoRamLength;
|
MapInformation->FrameBufferLength = MapInformation->VideoRamLength;
|
||||||
|
|
||||||
/* Tell the nVidia controller about the framebuffer */
|
/* Tell the nVidia controller about the framebuffer */
|
||||||
*((PULONG)((char *)DeviceExtension->VirtControlStart + CONTROL_FRAMEBUFFER_ADDRESS_OFFSET)) = FrameBuffer.u.LowPart;
|
*((PULONG)((char *)DeviceExtension->VirtControlStart + NV2A_CONTROL_FRAMEBUFFER_ADDRESS_OFFSET)) = FrameBuffer.u.LowPart;
|
||||||
|
|
||||||
VideoPortDebugPrint(Info, "Mapped 0x%x bytes of phys mem at 0x%lx to virt addr 0x%p\n",
|
INFO_(IHVVIDEO, "Mapped 0x%x bytes of phys mem at 0x%lx to virt addr 0x%p\n",
|
||||||
MapInformation->VideoRamLength, FrameBuffer.u.LowPart, MapInformation->VideoRamBase);
|
MapInformation->VideoRamLength, FrameBuffer.u.LowPart, MapInformation->VideoRamBase);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -531,12 +530,12 @@ ReadfromSMBus(
|
||||||
|
|
||||||
if ((b & 0x24) != 0)
|
if ((b & 0x24) != 0)
|
||||||
{
|
{
|
||||||
/* printf("I2CTransmitByteGetReturn error %x\n", b); */
|
ERR_(IHVVIDEO, "I2CTransmitByteGetReturn error %x\n", b);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((b & 0x10) == 0)
|
if ((b & 0x10) == 0)
|
||||||
{
|
{
|
||||||
/* printf("I2CTransmitByteGetReturn no complete, retry\n"); */
|
ERR_(IHVVIDEO, "I2CTransmitByteGetReturn no complete, retry\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,6 +44,9 @@ ZwQuerySystemInformation(
|
||||||
OUT PULONG ResultLength
|
OUT PULONG ResultLength
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#define I2C_IO_BASE 0xC000
|
||||||
|
#define NV2A_CONTROL_FRAMEBUFFER_ADDRESS_OFFSET 0x600800
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
PHYSICAL_ADDRESS PhysControlStart;
|
PHYSICAL_ADDRESS PhysControlStart;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue