Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 37515
b: refs/heads/master
c: b15ec36
h: refs/heads/master
i:
  37513: 28d02b2
  37511: 6b35b36
v: v3
  • Loading branch information
Dave Airlie committed Sep 21, 2006
1 parent 497367a commit ad05287
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d40c8533a5b8ca1887f81ae1c81136f3c40a8488
refs/heads/master: b15ec36806ce3b89a2fddce958de9370efb249da
19 changes: 12 additions & 7 deletions trunk/drivers/char/drm/radeon_cp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1340,17 +1340,19 @@ static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init)
DRM_DEBUG("\n");

/* if we require new memory map but we don't have it fail */
if ((dev_priv->flags & CHIP_NEW_MEMMAP) && !dev_priv->new_memmap)
{
DRM_ERROR("Cannot initialise DRM on this card\nThis card requires a new X.org DDX\n");
if ((dev_priv->flags & CHIP_NEW_MEMMAP) && !dev_priv->new_memmap) {
DRM_ERROR("Cannot initialise DRM on this card\nThis card requires a new X.org DDX for 3D\n");
radeon_do_cleanup_cp(dev);
return DRM_ERR(EINVAL);
}

if (init->is_pci && (dev_priv->flags & CHIP_IS_AGP))
{
if (init->is_pci && (dev_priv->flags & CHIP_IS_AGP)) {
DRM_DEBUG("Forcing AGP card to PCI mode\n");
dev_priv->flags &= ~CHIP_IS_AGP;
} else if (!(dev_priv->flags & (CHIP_IS_AGP | CHIP_IS_PCI | CHIP_IS_PCIE))
&& !init->is_pci) {
DRM_DEBUG("Restoring AGP flag\n");
dev_priv->flags |= CHIP_IS_AGP;
}

if ((!(dev_priv->flags & CHIP_IS_AGP)) && !dev->sg) {
Expand Down Expand Up @@ -2189,7 +2191,9 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags)
case CHIP_RV200:
case CHIP_R200:
case CHIP_R300:
case CHIP_R350:
case CHIP_R420:
case CHIP_RV410:
dev_priv->flags |= CHIP_HAS_HIERZ;
break;
default:
Expand All @@ -2199,9 +2203,10 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags)

if (drm_device_is_agp(dev))
dev_priv->flags |= CHIP_IS_AGP;

if (drm_device_is_pcie(dev))
else if (drm_device_is_pcie(dev))
dev_priv->flags |= CHIP_IS_PCIE;
else
dev_priv->flags |= CHIP_IS_PCI;

DRM_DEBUG("%s card detected\n",
((dev_priv->flags & CHIP_IS_AGP) ? "AGP" : (((dev_priv->flags & CHIP_IS_PCIE) ? "PCIE" : "PCI"))));
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/char/drm/radeon_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ enum radeon_chip_flags {
CHIP_HAS_HIERZ = 0x00100000UL,
CHIP_IS_PCIE = 0x00200000UL,
CHIP_NEW_MEMMAP = 0x00400000UL,
CHIP_IS_PCI = 0x00800000UL,
};

#define GET_RING_HEAD(dev_priv) (dev_priv->writeback_works ? \
Expand Down Expand Up @@ -993,12 +994,12 @@ do { \

#define RADEON_FLUSH_CACHE() do { \
OUT_RING( CP_PACKET0( RADEON_RB3D_DSTCACHE_CTLSTAT, 0 ) ); \
OUT_RING( RADEON_RB2D_DC_FLUSH ); \
OUT_RING( RADEON_RB3D_DC_FLUSH ); \
} while (0)

#define RADEON_PURGE_CACHE() do { \
OUT_RING( CP_PACKET0( RADEON_RB3D_DSTCACHE_CTLSTAT, 0 ) ); \
OUT_RING( RADEON_RB2D_DC_FLUSH_ALL ); \
OUT_RING( RADEON_RB3D_DC_FLUSH_ALL ); \
} while (0)

#define RADEON_FLUSH_ZCACHE() do { \
Expand Down

0 comments on commit ad05287

Please sign in to comment.