for (ui32Offset = 0; ui32Offset < ui32NumBytes;
ui32Offset += PAGE_SIZE) {
sCpuPAddr = OSMemHandleToCpuPAddr(hOSMemHandle, ui32Offset);
- PVR_ASSERT((sCpuPAddr.uiAddr & ~PAGE_MASK) == 0);
sDevPAddr = SysCpuPAddrToDevPAddr(eDeviceType, sCpuPAddr);
pdump_print(PDUMP_FLAGS_CONTINUOUS,
"MALLOC :SGXMEM:PA_%8.8X%8.8X %u %u 0x%8.8X\r\n",
- (u32)hUniqueTag, sDevPAddr.uiAddr & PAGE_MASK,
- PAGE_SIZE, PAGE_SIZE, sDevPAddr.uiAddr & PAGE_MASK);
+ (u32)hUniqueTag, sDevPAddr.uiAddr, PAGE_SIZE,
+ PAGE_SIZE, sDevPAddr.uiAddr);
}
}
pdump_print(PDUMP_FLAGS_CONTINUOUS, "MALLOC :SGXMEM:PA_%8.8X%8.8lX "
"0x%lX %lu 0x%8.8lX\r\n", (u32)hUniqueTag,
- sDevPAddr.uiAddr & PAGE_MASK, PAGE_SIZE, PAGE_SIZE,
- sDevPAddr.uiAddr & PAGE_MASK);
+ sDevPAddr.uiAddr, PAGE_SIZE,
+ PAGE_SIZE, sDevPAddr.uiAddr);
}
void PDumpFreePages(struct BM_HEAP *psBMHeap, struct IMG_DEV_VIRTADDR sDevVAddr,
sDevPAddr = SysCpuPAddrToDevPAddr(eDeviceType, sCpuPAddr);
pdump_print(PDUMP_FLAGS_CONTINUOUS, "FREE :SGXMEM:PA_%8.8X%8.8lX\r\n",
- (u32)hUniqueTag, sDevPAddr.uiAddr & PAGE_MASK);
+ (u32)hUniqueTag, sDevPAddr.uiAddr);
}
void PDumpPDRegWithFlags(u32 ui32Reg, u32 ui32Data, u32 ui32Flags,
#define MEMPOLL_DELAY (1000)
#define MEMPOLL_COUNT (2000000000 / MEMPOLL_DELAY)
- u32 ui32PageOffset;
struct IMG_DEV_PHYADDR sDevPAddr;
struct IMG_DEV_VIRTADDR sDevVPageAddr;
- struct IMG_CPU_PHYADDR CpuPAddr;
+ u32 ui32PageOffset;
PVR_ASSERT((ui32Offset + sizeof(u32)) <=
psMemInfo->ui32AllocSize);
- CpuPAddr =
- OSMemHandleToCpuPAddr(psMemInfo->sMemBlk.hOSMemHandle, ui32Offset);
- ui32PageOffset = CpuPAddr.uiAddr & ~PAGE_MASK;
-
- sDevVPageAddr.uiAddr =
- psMemInfo->sDevVAddr.uiAddr + ui32Offset - ui32PageOffset;
-
+ sDevVPageAddr.uiAddr = psMemInfo->sDevVAddr.uiAddr + ui32Offset;
+ ui32PageOffset = sDevVPageAddr.uiAddr & ~PAGE_MASK;
BM_GetPhysPageAddr(psMemInfo, sDevVPageAddr, &sDevPAddr);
- sDevPAddr.uiAddr += ui32PageOffset;
-
pdump_print(0, "POL :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX 0x%8.8X "
"0x%8.8X %d %d %d\r\n", (u32)hUniqueTag,
- sDevPAddr.uiAddr & PAGE_MASK,
- sDevPAddr.uiAddr & ~PAGE_MASK,
+ sDevPAddr.uiAddr, ui32PageOffset,
ui32Value, ui32Mask, eOperator,
MEMPOLL_COUNT, MEMPOLL_DELAY);
}
{
struct IMG_DEV_VIRTADDR sDevVPageAddr;
struct IMG_DEV_PHYADDR sDevPAddr;
- struct IMG_CPU_PHYADDR CpuPAddr;
u32 ui32PageOffset;
enum PVRSRV_ERROR eError;
psMemInfo->sDevVAddr.uiAddr, ui32Offset,
ui32Bytes);
- CpuPAddr =
- OSMemHandleToCpuPAddr(psMemInfo->sMemBlk.hOSMemHandle, ui32Offset);
- ui32PageOffset = CpuPAddr.uiAddr & ~PAGE_MASK;
+ ui32PageOffset =
+ (psMemInfo->sDevVAddr.uiAddr + ui32Offset) & ~PAGE_MASK;
while (ui32Bytes) {
u32 ui32BlockBytes =
min(ui32Bytes, (u32)PAGE_SIZE - ui32PageOffset);
sDevVPageAddr.uiAddr =
- psMemInfo->sDevVAddr.uiAddr + ui32Offset -
- ui32PageOffset;
-
+ psMemInfo->sDevVAddr.uiAddr + ui32Offset;
BM_GetPhysPageAddr(psMemInfo, sDevVPageAddr, &sDevPAddr);
- sDevPAddr.uiAddr += ui32PageOffset;
-
pdump_print(ui32Flags, "LDB :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX"
" 0x%8.8X\r\n", (u32) hUniqueTag,
- sDevPAddr.uiAddr & PAGE_MASK,
- sDevPAddr.uiAddr & ~PAGE_MASK,
+ sDevPAddr.uiAddr, ui32PageOffset,
ui32BlockBytes);
ui32PageOffset = 0;
{
struct IMG_DEV_PHYADDR sDevPAddr;
struct IMG_CPU_PHYADDR sCpuPAddr;
- u32 ui32PageOffset;
enum PVRSRV_ERROR eError;
if (!pvLinAddr)
return eError;
}
- ui32PageOffset = (u32)pvLinAddr & ~PAGE_MASK;
-
while (ui32Bytes) {
u32 ui32BlockBytes =
- min(ui32Bytes, (u32)PAGE_SIZE - ui32PageOffset);
+ min(ui32Bytes,
+ (u32)(PAGE_SIZE - ((u32)pvLinAddr & ~PAGE_MASK)));
sCpuPAddr = OSMapLinToCPUPhys(pvLinAddr);
sDevPAddr = SysCpuPAddrToDevPAddr(eDeviceType, sCpuPAddr);
u32 ui32PTE =
*((u32 *)(pvLinAddr + ui32Offset));
- if ((ui32PTE & PAGE_MASK) != 0) {
+ if ((ui32PTE & ~PAGE_MASK) != 0) {
pdump_print(PDUMP_FLAGS_CONTINUOUS,
"WRW :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX\r\n",
(u32)hUniqueTag1,
}
}
- ui32PageOffset = 0;
ui32Bytes -= ui32BlockBytes;
pvLinAddr += ui32BlockBytes;
}
u32 ui32Offset, struct IMG_DEV_PHYADDR sPDDevPAddr,
void *hUniqueTag1, void *hUniqueTag2)
{
- struct IMG_CPU_PHYADDR CpuPAddr;
struct IMG_DEV_VIRTADDR sDevVPageAddr;
struct IMG_DEV_PHYADDR sDevPAddr;
u32 ui32PageOffset;
- CpuPAddr =
- OSMemHandleToCpuPAddr(psMemInfo->sMemBlk.hOSMemHandle, ui32Offset);
- ui32PageOffset = CpuPAddr.uiAddr & ~PAGE_MASK;
-
- sDevVPageAddr.uiAddr =
- psMemInfo->sDevVAddr.uiAddr + ui32Offset - ui32PageOffset;
+ sDevVPageAddr.uiAddr = psMemInfo->sDevVAddr.uiAddr + ui32Offset;
+ ui32PageOffset = sDevVPageAddr.uiAddr & ~PAGE_MASK;
BM_GetPhysPageAddr(psMemInfo, sDevVPageAddr, &sDevPAddr);
- sDevPAddr.uiAddr += ui32PageOffset;
if ((sPDDevPAddr.uiAddr & PAGE_MASK) != 0) {
pdump_print(PDUMP_FLAGS_CONTINUOUS,
"WRW :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX\r\n",
(u32) hUniqueTag1,
- sDevPAddr.uiAddr & PAGE_MASK,
- sDevPAddr.uiAddr & ~PAGE_MASK,
+ sDevPAddr.uiAddr, ui32PageOffset,
(u32)hUniqueTag2,
sPDDevPAddr.uiAddr & PAGE_MASK,
sPDDevPAddr.uiAddr & ~PAGE_MASK);
pdump_print(PDUMP_FLAGS_CONTINUOUS,
"WRW :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX 0x%8.8X\r\n",
(u32)hUniqueTag1,
- sDevPAddr.uiAddr & PAGE_MASK,
- sDevPAddr.uiAddr & ~PAGE_MASK,
+ sDevPAddr.uiAddr, ui32PageOffset,
sPDDevPAddr.uiAddr);
}
}
{
struct IMG_DEV_PHYADDR sDevPAddr;
struct IMG_DEV_VIRTADDR sDevVPageAddr;
- struct IMG_CPU_PHYADDR CpuPAddr;
u32 ui32PageOffset;
PVR_ASSERT((ui32ROffOffset + sizeof(u32)) <=
psROffMemInfo->ui32AllocSize);
- CpuPAddr =
- OSMemHandleToCpuPAddr(psROffMemInfo->sMemBlk.hOSMemHandle,
- ui32ROffOffset);
- ui32PageOffset = CpuPAddr.uiAddr & ~PAGE_MASK;
-
- sDevVPageAddr.uiAddr = psROffMemInfo->sDevVAddr.uiAddr +
- ui32ROffOffset - ui32PageOffset;
+ sDevVPageAddr.uiAddr =
+ psROffMemInfo->sDevVAddr.uiAddr + ui32ROffOffset;
+ ui32PageOffset = sDevVPageAddr.uiAddr & ~PAGE_MASK;
BM_GetPhysPageAddr(psROffMemInfo, sDevVPageAddr, &sDevPAddr);
- sDevPAddr.uiAddr += ui32PageOffset;
pdump_print(ui32Flags, "CBP :SGXMEM:PA_%8.8X%8.8lX:0x%8.8lX 0x%8.8X"
" 0x%8.8X 0x%8.8X\r\n", (u32) hUniqueTag,
- sDevPAddr.uiAddr & PAGE_MASK,
- sDevPAddr.uiAddr & ~PAGE_MASK,
+ sDevPAddr.uiAddr, ui32PageOffset,
ui32WPosVal, ui32PacketSize, ui32BufferSize);
}