summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-core/xgi_pcie.c42
1 files changed, 19 insertions, 23 deletions
diff --git a/linux-core/xgi_pcie.c b/linux-core/xgi_pcie.c
index a81dbe8b..dd758013 100644
--- a/linux-core/xgi_pcie.c
+++ b/linux-core/xgi_pcie.c
@@ -347,35 +347,31 @@ int xgi_pcie_heap_init(struct xgi_info * info)
void xgi_pcie_heap_check(void)
{
- struct list_head *useList, *temp;
+#ifdef XGI_DEBUG
struct xgi_pcie_block *block;
unsigned int ownerIndex;
-#ifdef XGI_DEBUG
- char *ownerStr[6] =
+ static const char *const ownerStr[6] =
{ "2D", "3D", "3D_CMD", "3D_SCR", "3D_TEX", "ELSE" };
-#endif
- if (xgi_pcie_heap) {
- useList = &xgi_pcie_heap->used_list;
- temp = useList->next;
- XGI_INFO("pcie freemax = 0x%lx\n", xgi_pcie_heap->max_freesize);
- while (temp != useList) {
- block = list_entry(temp, struct xgi_pcie_block, list);
- if (block->owner == PCIE_2D)
- ownerIndex = 0;
- else if (block->owner > PCIE_3D_TEXTURE
- || block->owner < PCIE_2D
- || block->owner < PCIE_3D)
- ownerIndex = 5;
- else
- ownerIndex = block->owner - PCIE_3D + 1;
- XGI_INFO
- ("Allocated by %s, block->offset: 0x%lx block->size: 0x%lx \n",
- ownerStr[ownerIndex], block->offset, block->size);
- temp = temp->next;
- }
+ if (!xgi_pcie_heap) {
+ return;
+ }
+
+ XGI_INFO("pcie freemax = 0x%lx\n", xgi_pcie_heap->max_freesize);
+ list_for_each_entry(block, &xgi_pcie_heap->used_list, list) {
+ if (block->owner == PCIE_2D)
+ ownerIndex = 0;
+ else if (block->owner > PCIE_3D_TEXTURE
+ || block->owner < PCIE_2D
+ || block->owner < PCIE_3D)
+ ownerIndex = 5;
+ else
+ ownerIndex = block->owner - PCIE_3D + 1;
+ XGI_INFO("Allocated by %s, block offset: 0x%lx, size: 0x%lx \n",
+ ownerStr[ownerIndex], block->offset, block->size);
}
+#endif
}
void xgi_pcie_heap_cleanup(struct xgi_info * info)