Displaying 2 results from an estimated 2 matches for "dma_resv_usage_bookkeep".
2023 Apr 15
2
[PATCH v2] drm/nouveau: fix incorrect conversion to dma_resv_wait_timeout()
...i;
+ long lret;
for (i = 0; i < req->nr_relocs; i++) {
struct drm_nouveau_gem_pushbuf_reloc *r = &reloc[i];
@@ -703,13 +704,18 @@ nouveau_gem_pushbuf_reloc_apply(struct nouveau_cli *cli,
data |= r->vor;
}
- ret = dma_resv_wait_timeout(nvbo->bo.base.resv,
- DMA_RESV_USAGE_BOOKKEEP,
- false, 15 * HZ);
- if (ret == 0)
+ lret = dma_resv_wait_timeout(nvbo->bo.base.resv,
+ DMA_RESV_USAGE_BOOKKEEP,
+ false, 15 * HZ);
+ if (!lret)
ret = -EBUSY;
+ else if (lret > 0)
+ ret = 0;
+ else
+ ret = lret;
+
if (ret) {
- NV_PRINTK(err, cli, &...
2023 Apr 17
1
[PATCH v3] drm/nouveau: fix incorrect conversion to dma_resv_wait_timeout()
...req->nr_buffers)) {
> NV_PRINTK(err, cli, "reloc bo index invalid\n");
> @@ -703,13 +704,18 @@ nouveau_gem_pushbuf_reloc_apply(struct nouveau_cli *cli,
> data |= r->vor;
> }
>
> - ret = dma_resv_wait_timeout(nvbo->bo.base.resv,
> - DMA_RESV_USAGE_BOOKKEEP,
> - false, 15 * HZ);
> - if (ret == 0)
> + lret = dma_resv_wait_timeout(nvbo->bo.base.resv,
> + DMA_RESV_USAGE_BOOKKEEP,
> + false, 15 * HZ);
> + if (!lret)
> ret = -EBUSY;
> + else if (lret > 0)
> + ret = 0;
> + else
> +...