Module Name: src
Committed By: riastradh
Date: Mon Aug 27 14:48:21 UTC 2018
Modified Files:
src/sys/external/bsd/drm2/dist/drm/nouveau: nouveau_chan.c
nouveau_nv50_display.c
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv04:
nouveau_dispnv04_disp.c
src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif: object.h
Log Message:
Mark nvif_object_map __must_check and fix fallout noisily.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_chan.c
cvs rdiff -u -r1.9 -r1.10 \
src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c
cvs rdiff -u -r1.3 -r1.4 \
src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_disp.c
cvs rdiff -u -r1.7 -r1.8 \
src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/object.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_chan.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_chan.c:1.4 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_chan.c:1.5
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_chan.c:1.4 Mon Aug 27 07:31:51 2018
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_chan.c Mon Aug 27 14:48:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: nouveau_chan.c,v 1.4 2018/08/27 07:31:51 riastradh Exp $ */
+/* $NetBSD: nouveau_chan.c,v 1.5 2018/08/27 14:48:21 riastradh Exp $ */
/*
* Copyright 2012 Red Hat Inc.
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_chan.c,v 1.4 2018/08/27 07:31:51 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_chan.c,v 1.5 2018/08/27 14:48:21 riastradh Exp $");
#include <nvif/os.h>
#include <nvif/class.h>
@@ -305,7 +305,11 @@ nouveau_channel_init(struct nouveau_chan
struct nv_dma_v0 args = zero_args;
int ret, i;
- nvif_object_map(&chan->user);
+ ret = nvif_object_map(&chan->user);
+ if (ret) {
+ NV_PRINTK(err, cli, "nvif_object_map, %d\n", ret);
+ return ret;
+ }
/* allocate dma objects to cover all allowed vram, and gart */
if (device->info.family < NV_DEVICE_INFO_V0_FERMI) {
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c:1.9 src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c:1.10
--- src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c:1.9 Mon Aug 27 07:38:26 2018
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c Mon Aug 27 14:48:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: nouveau_nv50_display.c,v 1.9 2018/08/27 07:38:26 riastradh Exp $ */
+/* $NetBSD: nouveau_nv50_display.c,v 1.10 2018/08/27 14:48:21 riastradh Exp $ */
/*
* Copyright 2011 Red Hat Inc.
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_nv50_display.c,v 1.9 2018/08/27 07:38:26 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_nv50_display.c,v 1.10 2018/08/27 14:48:21 riastradh Exp $");
#include <linux/dma-mapping.h>
#include <linux/err.h>
@@ -107,8 +107,15 @@ nv50_chan_create(struct nvif_device *dev
if (sclass[i].oclass == oclass[0]) {
ret = nvif_object_init(disp, 0, oclass[0],
data, size, &chan->user);
- if (ret == 0)
- nvif_object_map(&chan->user);
+ if (ret == 0) {
+ ret = nvif_object_map(&chan->user);
+ if (ret) {
+ printk(KERN_ERR "%s:%d"
+ ": nvif_object_map, %d\n",
+ __func__, __LINE__, ret);
+ nvif_object_fini(&chan->user);
+ }
+ }
nvif_object_sclass_put(&sclass);
return ret;
}
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_disp.c
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_disp.c:1.3 src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_disp.c:1.4
--- src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_disp.c:1.3 Mon Aug 27 04:58:29 2018
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_disp.c Mon Aug 27 14:48:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: nouveau_dispnv04_disp.c,v 1.3 2018/08/27 04:58:29 riastradh Exp $ */
+/* $NetBSD: nouveau_dispnv04_disp.c,v 1.4 2018/08/27 14:48:21 riastradh Exp $ */
/*
* Copyright 2009 Red Hat Inc.
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv04_disp.c,v 1.3 2018/08/27 04:58:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nouveau_dispnv04_disp.c,v 1.4 2018/08/27 14:48:21 riastradh Exp $");
#include <linux/err.h>
@@ -54,7 +54,11 @@ nv04_display_create(struct drm_device *d
if (!disp)
return -ENOMEM;
- nvif_object_map(&drm->device.object);
+ ret = nvif_object_map(&drm->device.object);
+ if (ret) {
+ NV_ERROR(drm, "nvif_object_map, %d\n", ret);
+ return ret;
+ }
nouveau_display(dev)->priv = disp;
nouveau_display(dev)->dtor = nv04_display_destroy;
Index: src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/object.h
diff -u src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/object.h:1.7 src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/object.h:1.8
--- src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/object.h:1.7 Mon Aug 27 14:47:53 2018
+++ src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvif/object.h Mon Aug 27 14:48:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: object.h,v 1.7 2018/08/27 14:47:53 riastradh Exp $ */
+/* $NetBSD: object.h,v 1.8 2018/08/27 14:48:21 riastradh Exp $ */
#ifndef __NVIF_OBJECT_H__
#define __NVIF_OBJECT_H__
@@ -45,7 +45,7 @@ void nvif_object_sclass_put(struct nvif_
u32 nvif_object_rd(struct nvif_object *, int, u64);
void nvif_object_wr(struct nvif_object *, int, u64, u32);
int nvif_object_mthd(struct nvif_object *, u32, void *, u32);
-int nvif_object_map(struct nvif_object *);
+int nvif_object_map(struct nvif_object *) __must_check;
void nvif_object_unmap(struct nvif_object *);
#define nvif_handle(a) (unsigned long)(void *)(a)