VIA:
authorThomas Hellstrom <unichrome@shipmail.org>
Mon, 23 May 2005 20:56:54 +0000 (20:56 +0000)
committerThomas Hellstrom <unichrome@shipmail.org>
Mon, 23 May 2005 20:56:54 +0000 (20:56 +0000)
64-bit fixes. Bumped driver date and patchlevel.

shared-core/via_drv.h
shared-core/via_ds.h
shared-core/via_mm.c
shared-core/via_mm.h
shared/via.h
shared/via_drv.h
shared/via_ds.h
shared/via_mm.c
shared/via_mm.h

index f29877c..4eaa8b7 100644 (file)
@@ -28,7 +28,7 @@
 
 #define DRIVER_NAME            "via"
 #define DRIVER_DESC            "VIA Unichrome / Pro"
-#define DRIVER_DATE            "20050508"
+#define DRIVER_DATE            "20050523"
 
 #define DRIVER_MAJOR           2
 #define DRIVER_MINOR           6
@@ -36,8 +36,8 @@
 
 #include "via_verifier.h"
 
-#define VIA_PCI_BUF_SIZE 120000
-#define VIA_FIRE_BUF_SIZE  2048
+#define VIA_PCI_BUF_SIZE 60000
+#define VIA_FIRE_BUF_SIZE  1024
 #define VIA_NUM_IRQS 2
 
 
index e7179d3..be9c7f9 100644 (file)
@@ -30,7 +30,7 @@
 
 /* Set Data Structure */
 #define SET_SIZE 5000
-typedef unsigned int ITEM_TYPE;
+typedef unsigned long ITEM_TYPE;
 
 typedef struct {
        ITEM_TYPE val;
index cf286b4..c22712f 100644 (file)
@@ -144,7 +144,7 @@ int via_final_context(struct drm_device *dev, int context)
 
        if (i < MAX_CONTEXT) {
                set_t *set;
-               unsigned int item;
+               ITEM_TYPE item;
                int retval;
 
                DRM_DEBUG("find socket %d, context = %d\n", i, context);
@@ -153,7 +153,7 @@ int via_final_context(struct drm_device *dev, int context)
                set = global_ppriv[i].sets[0];
                retval = via_setFirst(set, &item);
                while (retval) {
-                       DRM_DEBUG("free video memory 0x%x\n", item);
+                       DRM_DEBUG("free video memory 0x%lx\n", item);
                        via_mmFreeMem((PMemBlock) item);
                        retval = via_setNext(set, &item);
                }
@@ -163,7 +163,7 @@ int via_final_context(struct drm_device *dev, int context)
                set = global_ppriv[i].sets[1];
                retval = via_setFirst(set, &item);
                while (retval) {
-                       DRM_DEBUG("free agp memory 0x%x\n", item);
+                       DRM_DEBUG("free agp memory 0x%lx\n", item);
                        via_mmFreeMem((PMemBlock) item);
                        retval = via_setNext(set, &item);
                }
@@ -228,7 +228,7 @@ static int via_fb_alloc(drm_via_mem_t * mem)
        block = via_mmAllocMem(FBHeap, fb.size, 5, 0);
        if (block) {
                fb.offset = block->ofs;
-               fb.free = (unsigned int)block;
+               fb.free = (unsigned long)block;
                if (!add_alloc_set(fb.context, VIDEO, fb.free)) {
                        DRM_DEBUG("adding to allocation set fails\n");
                        via_mmFreeMem((PMemBlock) fb.free);
@@ -265,7 +265,7 @@ static int via_agp_alloc(drm_via_mem_t * mem)
        block = via_mmAllocMem(AgpHeap, agp.size, 5, 0);
        if (block) {
                agp.offset = block->ofs;
-               agp.free = (unsigned int)block;
+               agp.free = (unsigned long)block;
                if (!add_alloc_set(agp.context, AGP, agp.free)) {
                        DRM_DEBUG("adding to allocation set fails\n");
                        via_mmFreeMem((PMemBlock) agp.free);
@@ -329,7 +329,7 @@ static int via_fb_free(drm_via_mem_t * mem)
                retval = -1;
        }
 
-       DRM_DEBUG("free fb, free = %d\n", fb.free);
+       DRM_DEBUG("free fb, free = %ld\n", fb.free);
 
        return retval;
 }
@@ -352,7 +352,7 @@ static int via_agp_free(drm_via_mem_t * mem)
                retval = -1;
        }
 
-       DRM_DEBUG("free agp, free = %d\n", agp.free);
+       DRM_DEBUG("free agp, free = %ld\n", agp.free);
 
        return retval;
 }
index 38d591a..d57efda 100644 (file)
@@ -28,7 +28,7 @@ typedef struct {
        unsigned int context;
        unsigned int size;
        unsigned long offset;
-       unsigned int free;
+       unsigned long free;
 } drm_via_mm_t;
 
 typedef struct {
index 9a21e89..ae69f65 100644 (file)
@@ -30,7 +30,7 @@
 
 #define DRIVER_NAME            "via"
 #define DRIVER_DESC            "VIA Unichrome / Pro"
-#define DRIVER_DATE            "20050508"
+#define DRIVER_DATE            "20050523"
 
 #define DRIVER_MAJOR           2
 #define DRIVER_MINOR           6
index 8227b73..18c6da7 100644 (file)
@@ -27,8 +27,8 @@
 #include "via_drm.h"
 #include "via_verifier.h"
 
-#define VIA_PCI_BUF_SIZE 120000
-#define VIA_FIRE_BUF_SIZE  2048
+#define VIA_PCI_BUF_SIZE 60000
+#define VIA_FIRE_BUF_SIZE  1024
 #define VIA_NUM_IRQS 2
 
 
index cdcb645..f9e0b95 100644 (file)
@@ -31,7 +31,7 @@
 
 /* Set Data Structure */
 #define SET_SIZE 5000
-typedef unsigned int ITEM_TYPE;
+typedef unsigned long ITEM_TYPE;
 
 typedef struct {
        ITEM_TYPE val;
index d450cdd..aca9d7d 100644 (file)
@@ -142,7 +142,7 @@ int via_final_context(struct drm_device *dev, int context)
 
        if (i < MAX_CONTEXT) {
                set_t *set;
-               unsigned int item;
+               ITEM_TYPE item;
                int retval;
 
                DRM_DEBUG("find socket %d, context = %d\n", i, context);
@@ -151,7 +151,7 @@ int via_final_context(struct drm_device *dev, int context)
                set = global_ppriv[i].sets[0];
                retval = via_setFirst(set, &item);
                while (retval) {
-                       DRM_DEBUG("free video memory 0x%x\n", item);
+                       DRM_DEBUG("free video memory 0x%lx\n", item);
                        via_mmFreeMem((PMemBlock) item);
                        retval = via_setNext(set, &item);
                }
@@ -161,7 +161,7 @@ int via_final_context(struct drm_device *dev, int context)
                set = global_ppriv[i].sets[1];
                retval = via_setFirst(set, &item);
                while (retval) {
-                       DRM_DEBUG("free agp memory 0x%x\n", item);
+                       DRM_DEBUG("free agp memory 0x%lx\n", item);
                        via_mmFreeMem((PMemBlock) item);
                        retval = via_setNext(set, &item);
                }
@@ -169,6 +169,8 @@ int via_final_context(struct drm_device *dev, int context)
 
                global_ppriv[i].used = 0;
        }
+       via_release_futex(dev_priv, context); 
+
        
 #if defined(__linux__)
        /* Linux specific until context tracking code gets ported to BSD */
@@ -223,7 +225,7 @@ int via_fb_alloc(drm_via_mem_t * mem)
        block = via_mmAllocMem(FBHeap, fb.size, 5, 0);
        if (block) {
                fb.offset = block->ofs;
-               fb.free = (unsigned int)block;
+               fb.free = (unsigned long)block;
                if (!add_alloc_set(fb.context, VIDEO, fb.free)) {
                        DRM_DEBUG("adding to allocation set fails\n");
                        via_mmFreeMem((PMemBlock) fb.free);
@@ -260,7 +262,7 @@ int via_agp_alloc(drm_via_mem_t * mem)
        block = via_mmAllocMem(AgpHeap, agp.size, 5, 0);
        if (block) {
                agp.offset = block->ofs;
-               agp.free = (unsigned int)block;
+               agp.free = (unsigned long)block;
                if (!add_alloc_set(agp.context, AGP, agp.free)) {
                        DRM_DEBUG("adding to allocation set fails\n");
                        via_mmFreeMem((PMemBlock) agp.free);
@@ -324,7 +326,7 @@ int via_fb_free(drm_via_mem_t * mem)
                retval = -1;
        }
 
-       DRM_DEBUG("free fb, free = %d\n", fb.free);
+       DRM_DEBUG("free fb, free = %ld\n", fb.free);
 
        return retval;
 }
@@ -347,7 +349,7 @@ int via_agp_free(drm_via_mem_t * mem)
                retval = -1;
        }
 
-       DRM_DEBUG("free agp, free = %d\n", agp.free);
+       DRM_DEBUG("free agp, free = %ld\n", agp.free);
 
        return retval;
 }
index ea83a0b..02a7251 100644 (file)
@@ -28,7 +28,7 @@ typedef struct {
        unsigned int context;
        unsigned int size;
        unsigned long offset;
-       unsigned int free;
+       unsigned long free;
 } drm_via_mm_t;
 
 typedef struct {