Displaying 5 results from an estimated 5 matches for "drm_hz".
Did you mean:
drm_
2012 Apr 22
1
[PATCH 2/5] drm/nouveau: base fence timeout on time of emission
...chan, fence->sequence);
FIRE_RING(chan);
+ fence->emitted_at = jiffies;
return 0;
}
@@ -230,7 +232,8 @@ __nouveau_fence_signalled(void *sync_obj, void *sync_arg)
int
__nouveau_fence_wait(void *sync_obj, void *sync_arg, bool lazy, bool intr)
{
- unsigned long timeout = jiffies + (3 * DRM_HZ);
+ struct nouveau_fence *fence = nouveau_fence(sync_obj);
+ unsigned long timeout = fence->emitted_at + 3 * DRM_HZ;
unsigned long sleep_time = NSEC_PER_MSEC / 1000;
ktime_t t;
int ret = 0;
--
1.7.8.5
2013 Jul 03
0
[PATCH] drm/nouveau: bump fence timeout to 150 seconds
...index 1e753b0..460dd00 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fence.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fence.c
@@ -144,7 +144,7 @@ nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan)
int ret;
fence->channel = chan;
- fence->timeout = jiffies + (3 * DRM_HZ);
+ fence->timeout = jiffies + (150 * DRM_HZ);
fence->sequence = ++fctx->sequence;
ret = fctx->emit(fence);
2012 Apr 25
5
[PATCH v2 4/4] drm/nouveau: gpu lockup recovery
...struct nouveau_fence *fence = nouveau_fence(sync_obj);
+ struct drm_device *dev = fence->channel->dev;
unsigned long timeout = fence->timeout;
unsigned long sleep_time = NSEC_PER_MSEC / 1000;
ktime_t t;
int ret = 0;
+ if (nouveau_gpu_reset_in_progress(dev))
+ timeout = jiffies + DRM_HZ / 5;
+
while (1) {
if (__nouveau_fence_signalled(sync_obj, sync_arg))
break;
if (time_after_eq(jiffies, timeout)) {
- ret = -EBUSY;
+ if (!nouveau_gpu_reset_in_progress(dev))
+ ret = -EIO;
break;
}
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/no...
2012 Apr 22
2
[RFC PATCH 5/5] drm/nouveau: gpu lockup recovery
...pu/drm/nouveau/nouveau_fence.c
@@ -233,17 +233,22 @@ int
__nouveau_fence_wait(void *sync_obj, void *sync_arg, bool lazy, bool intr)
{
struct nouveau_fence *fence = nouveau_fence(sync_obj);
+ struct drm_device *dev = fence->channel->dev;
unsigned long timeout = fence->emitted_at + 3 * DRM_HZ;
unsigned long sleep_time = NSEC_PER_MSEC / 1000;
ktime_t t;
int ret = 0;
+ if (nouveau_gpu_reset_in_progress(dev))
+ timeout = fence->emitted_at + DRM_HZ / 5;
+
while (1) {
if (__nouveau_fence_signalled(sync_obj, sync_arg))
break;
if (time_after_eq(jiffies, timeout)) {
-...
2014 Feb 06
13
[Bug 74613] New: [v3.14-rc1] [nv34] nouveau: get 0x10000000 put 0x0000ed30 state 0xc0000000 (err: MEM_FAULT) push 0x00000000
...for CPU access
ce8f769 drm/nouveau: fix m2mf copy to tiled gart
2e2cfbe drm/nouveau/vm: reduce number of entry-points to vm_map()
d0ce7b856 drm/nouveau: make vga_switcheroo code depend on VGA_SWITCHEROO
85b2331 drm: Kill DRM_*MEMORYBARRIER
1d6ac18 drm: Kill DRM_COPY_(TO|FROM)_USER
bfd8303 drm: Kill DRM_HZ
b072e53 ACPI / nouveau: replace open-coded _DSM code with helper functions
4988d0a nouveau / ACPI: fix memory leak in ACPI _DSM related code
8b48463 ACPI: Clean up inclusions of ACPI header files
d8ec26d Linux 3.13
72de182 drm/nouveau/mxm: fix null deref on load
fdd239a drm/nouveau: fix null ptr de...