radeon_cp.c (189557) | radeon_cp.c (189869) |
---|---|
1/*- 2 * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas. 3 * Copyright 2000 VA Linux Systems, Inc., Fremont, California. 4 * Copyright 2007 Advanced Micro Devices, Inc. 5 * All Rights Reserved. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a 8 * copy of this software and associated documentation files (the "Software"), --- 15 unchanged lines hidden (view full) --- 24 * DEALINGS IN THE SOFTWARE. 25 * 26 * Authors: 27 * Kevin E. Martin <martin@valinux.com> 28 * Gareth Hughes <gareth@valinux.com> 29 */ 30 31#include <sys/cdefs.h> | 1/*- 2 * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas. 3 * Copyright 2000 VA Linux Systems, Inc., Fremont, California. 4 * Copyright 2007 Advanced Micro Devices, Inc. 5 * All Rights Reserved. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a 8 * copy of this software and associated documentation files (the "Software"), --- 15 unchanged lines hidden (view full) --- 24 * DEALINGS IN THE SOFTWARE. 25 * 26 * Authors: 27 * Kevin E. Martin <martin@valinux.com> 28 * Gareth Hughes <gareth@valinux.com> 29 */ 30 31#include <sys/cdefs.h> |
32__FBSDID("$FreeBSD: head/sys/dev/drm/radeon_cp.c 189557 2009-03-09 07:24:32Z rnoland $"); | 32__FBSDID("$FreeBSD: head/sys/dev/drm/radeon_cp.c 189869 2009-03-16 08:19:11Z rnoland $"); |
33 34#include "dev/drm/drmP.h" 35#include "dev/drm/drm.h" 36#include "dev/drm/drm_sarea.h" 37#include "dev/drm/radeon_drm.h" 38#include "dev/drm/radeon_drv.h" 39#include "dev/drm/r300_reg.h" 40 --- 1662 unchanged lines hidden (view full) --- 1703 int i, ret; 1704 1705 if (dev_priv) { 1706 if (dev_priv->cp_running) { 1707 /* Stop the cp */ 1708 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) { 1709 while ((ret = r600_do_cp_idle(dev_priv)) != 0) { 1710 DRM_DEBUG("radeon_do_cp_idle %d\n", ret); | 33 34#include "dev/drm/drmP.h" 35#include "dev/drm/drm.h" 36#include "dev/drm/drm_sarea.h" 37#include "dev/drm/radeon_drm.h" 38#include "dev/drm/radeon_drv.h" 39#include "dev/drm/r300_reg.h" 40 --- 1662 unchanged lines hidden (view full) --- 1703 int i, ret; 1704 1705 if (dev_priv) { 1706 if (dev_priv->cp_running) { 1707 /* Stop the cp */ 1708 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) { 1709 while ((ret = r600_do_cp_idle(dev_priv)) != 0) { 1710 DRM_DEBUG("radeon_do_cp_idle %d\n", ret); |
1711#ifdef __linux__ 1712 schedule(); 1713#elsif defined(__FreeBSD__) | |
1714 mtx_sleep(&ret, &dev->dev_lock, 0, 1715 "rdnrel", 1); | 1711 mtx_sleep(&ret, &dev->dev_lock, 0, 1712 "rdnrel", 1); |
1716#else 1717 tsleep(&ret, PZERO, "rdnrel", 1); 1718#endif | |
1719 } 1720 } else { 1721 while ((ret = radeon_do_cp_idle(dev_priv)) != 0) { 1722 DRM_DEBUG("radeon_do_cp_idle %d\n", ret); | 1713 } 1714 } else { 1715 while ((ret = radeon_do_cp_idle(dev_priv)) != 0) { 1716 DRM_DEBUG("radeon_do_cp_idle %d\n", ret); |
1723#ifdef __linux__ 1724 schedule(); 1725#elsif defined(__FreeBSD__) | |
1726 mtx_sleep(&ret, &dev->dev_lock, 0, 1727 "rdnrel", 1); | 1717 mtx_sleep(&ret, &dev->dev_lock, 0, 1718 "rdnrel", 1); |
1728#else 1729 tsleep(&ret, PZERO, "rdnrel", 1); 1730#endif | |
1731 } 1732 } 1733 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) { 1734 r600_do_cp_stop(dev_priv); 1735 r600_do_engine_reset(dev); 1736 } else { 1737 radeon_do_cp_stop(dev_priv); 1738 radeon_do_engine_reset(dev); --- 442 unchanged lines hidden --- | 1719 } 1720 } 1721 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) { 1722 r600_do_cp_stop(dev_priv); 1723 r600_do_engine_reset(dev); 1724 } else { 1725 radeon_do_cp_stop(dev_priv); 1726 radeon_do_engine_reset(dev); --- 442 unchanged lines hidden --- |