From: Dave Airlie Date: Tue, 5 Jun 2007 00:09:11 +0000 (+1000) Subject: Merge branch 'origin' into radeon-ttm X-Git-Tag: submit/1.0/20121108.012404~642^2~367^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=07345af838a7443d29d12cb3fe91614e43c4fa81;p=profile%2Fivi%2Flibdrm.git Merge branch 'origin' into radeon-ttm Conflicts: shared-core/radeon_drv.h --- 07345af838a7443d29d12cb3fe91614e43c4fa81 diff --cc linux-core/drmP.h index 3ddd405,94cb4ee..ec432b2 --- a/linux-core/drmP.h +++ b/linux-core/drmP.h @@@ -830,27 -835,14 +835,25 @@@ typedef struct drm_device } drm_device_t; #if __OS_HAS_AGP - typedef struct drm_agp_ttm_priv { + typedef struct drm_agp_ttm_backend { + drm_ttm_backend_t backend; DRM_AGP_MEM *mem; struct agp_bridge_data *bridge; - unsigned alloc_type; - unsigned cached_type; - unsigned uncached_type; int populated; - } drm_agp_ttm_priv; + } drm_agp_ttm_backend_t; #endif +#define ATI_PCIGART_FLAG_VMALLOC 1 +struct ati_pcigart_memory { + size_t page_count; + unsigned long *memory; + int flags; +}; + +typedef struct ati_pcigart_ttm_priv { + int populated; + struct ati_pcigart_memory *mem; +} ati_pcigart_ttm_priv; static __inline__ int drm_core_check_feature(struct drm_device *dev, int feature) diff --cc shared-core/radeon_drv.h index 6d2bcc8,f1d9ca9..c16a43e --- a/shared-core/radeon_drv.h +++ b/shared-core/radeon_drv.h @@@ -99,14 -101,9 +101,14 @@@ */ #define DRIVER_MAJOR 1 - #define DRIVER_MINOR 26 + #define DRIVER_MINOR 28 #define DRIVER_PATCHLEVEL 0 +#if defined(__linux__) +#define RADEON_HAVE_FENCE +#define RADEON_HAVE_BUFFER +#endif + /* * Radeon chip families */ @@@ -281,9 -278,12 +283,13 @@@ typedef struct drm_radeon_private struct mem_block *fb_heap; /* SW interrupt */ - wait_queue_head_t swi_queue; - atomic_t swi_emitted; + wait_queue_head_t irq_queue; + int counter; + + int vblank_crtc; + uint32_t irq_enable_reg; + int irq_enabled; + struct radeon_surface surfaces[RADEON_MAX_SURFACES]; struct radeon_virt_surface virt_surfaces[2*RADEON_MAX_SURFACES]; diff --cc shared-core/radeon_irq.c index 4f3099d,5151b4d..95d8332 --- a/shared-core/radeon_irq.c +++ b/shared-core/radeon_irq.c @@@ -226,12 -273,10 +275,10 @@@ void radeon_driver_irq_postinstall(drm_ drm_radeon_private_t *dev_priv = (drm_radeon_private_t *) dev->dev_private; - atomic_set(&dev_priv->swi_emitted, 0); - DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); + dev_priv->counter = 0; + DRM_INIT_WAITQUEUE(&dev_priv->irq_queue); - /* Turn on SW and VBL ints */ - RADEON_WRITE(RADEON_GEN_INT_CNTL, - RADEON_CRTC_VBLANK_MASK | RADEON_SW_INT_ENABLE); + radeon_enable_interrupt(dev); } void radeon_driver_irq_uninstall(drm_device_t * dev)