Module Name: src
Committed By: riastradh
Date: Sun Dec 19 01:50:00 UTC 2021
Modified Files:
src/sys/external/bsd/drm2/dist/drm/radeon: radeon_fb.c radeon_fence.c
radeon_si_dpm.c radeon_ttm.c
Log Message:
Fix up radeon.
Enough to make it compile. (Next up: make it link.)
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fb.c
cvs rdiff -u -r1.17 -r1.18 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c
cvs rdiff -u -r1.5 -r1.6 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_si_dpm.c
cvs rdiff -u -r1.18 -r1.19 \
src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c
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/radeon/radeon_fb.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fb.c:1.11 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fb.c:1.12
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fb.c:1.11 Sat Dec 18 23:45:43 2021
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fb.c Sun Dec 19 01:50:00 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: radeon_fb.c,v 1.11 2021/12/18 23:45:43 riastradh Exp $ */
+/* $NetBSD: radeon_fb.c,v 1.12 2021/12/19 01:50:00 riastradh Exp $ */
/*
* Copyright © 2007 David Airlie
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeon_fb.c,v 1.11 2021/12/18 23:45:43 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_fb.c,v 1.12 2021/12/19 01:50:00 riastradh Exp $");
#include <linux/module.h>
#include <linux/pci.h>
@@ -258,10 +258,10 @@ static int radeonfb_create(struct drm_fb
rbo = gem_to_radeon_bo(gobj);
#ifdef __NetBSD__
- ret = radeon_framebuffer_init(rdev->ddev, &rfbdev->rfb, &mode_cmd, gobj);
+ ret = radeon_framebuffer_init(rdev->ddev, &rfbdev->fb, &mode_cmd, gobj);
if (ret) {
DRM_ERROR("failed to initialize framebuffer %d\n", ret);
- goto out_unref;
+ goto out;
}
(void)memset(rbo->kptr, 0, radeon_bo_size(rbo));
@@ -279,10 +279,10 @@ static int radeonfb_create(struct drm_fb
CFARGS(.iattr = "radeonfbbus"));
if (helper->fbdev == NULL) {
DRM_ERROR("failed to attach genfb\n");
- goto out_unref;
+ goto out;
}
}
- fb = &rfbdev->rfb.base;
+ fb = &rfbdev->fb;
rfbdev->helper.fb = fb;
#else
/* okay we have an object now allocate the framebuffer */
Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c:1.17 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c:1.18
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c:1.17 Sat Dec 18 23:45:43 2021
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_fence.c Sun Dec 19 01:50:00 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: radeon_fence.c,v 1.17 2021/12/18 23:45:43 riastradh Exp $ */
+/* $NetBSD: radeon_fence.c,v 1.18 2021/12/19 01:50:00 riastradh Exp $ */
/*
* Copyright 2009 Jerome Glisse.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeon_fence.c,v 1.17 2021/12/18 23:45:43 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_fence.c,v 1.18 2021/12/19 01:50:00 riastradh Exp $");
#include <linux/atomic.h>
#include <linux/firmware.h>
@@ -1188,7 +1188,7 @@ static inline bool radeon_test_signaled(
#ifdef __NetBSD__
static void
-radeon_fence_wakeup_cb(struct fence *fence, struct fence_cb *cb)
+radeon_fence_wakeup_cb(struct dma_fence *fence, struct dma_fence_cb *cb)
{
struct radeon_fence *rfence = to_radeon_fence(fence);
struct radeon_device *rdev = rfence->rdev;
@@ -1198,14 +1198,14 @@ radeon_fence_wakeup_cb(struct fence *fen
}
static signed long
-radeon_fence_default_wait(struct fence *f, bool intr, signed long timo)
+radeon_fence_default_wait(struct dma_fence *f, bool intr, signed long timo)
{
- struct fence_cb fcb;
+ struct dma_fence_cb fcb;
struct radeon_fence *fence = to_radeon_fence(f);
struct radeon_device *rdev = fence->rdev;
int r;
- r = fence_add_callback(f, &fcb, radeon_fence_wakeup_cb);
+ r = dma_fence_add_callback(f, &fcb, radeon_fence_wakeup_cb);
if (r) /* fence is done already */
return timo;
@@ -1221,7 +1221,7 @@ radeon_fence_default_wait(struct fence *
}
spin_unlock(&rdev->fence_lock);
- (void)fence_remove_callback(f, &fcb);
+ (void)dma_fence_remove_callback(f, &fcb);
return r;
}
Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_si_dpm.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_si_dpm.c:1.5 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_si_dpm.c:1.6
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_si_dpm.c:1.5 Sat Dec 18 23:45:43 2021
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_si_dpm.c Sun Dec 19 01:50:00 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: radeon_si_dpm.c,v 1.5 2021/12/18 23:45:43 riastradh Exp $ */
+/* $NetBSD: radeon_si_dpm.c,v 1.6 2021/12/19 01:50:00 riastradh Exp $ */
/*
* Copyright 2013 Advanced Micro Devices, Inc.
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeon_si_dpm.c,v 1.5 2021/12/18 23:45:43 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_si_dpm.c,v 1.6 2021/12/19 01:50:00 riastradh Exp $");
#include <linux/math64.h>
#include <linux/pci.h>
@@ -6907,8 +6907,10 @@ int si_dpm_init(struct radeon_device *rd
struct ni_power_info *ni_pi;
struct si_power_info *si_pi;
struct atom_clock_dividers dividers;
+#ifndef __NetBSD__ /* XXX radeon pcie */
enum pci_bus_speed speed_cap = PCI_SPEED_UNKNOWN;
struct pci_dev *root = rdev->pdev->bus->self;
+#endif
int ret;
si_pi = kzalloc(sizeof(struct si_power_info), GFP_KERNEL);
Index: src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c
diff -u src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c:1.18 src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c:1.19
--- src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c:1.18 Sat Dec 18 23:45:43 2021
+++ src/sys/external/bsd/drm2/dist/drm/radeon/radeon_ttm.c Sun Dec 19 01:50:00 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: radeon_ttm.c,v 1.18 2021/12/18 23:45:43 riastradh Exp $ */
+/* $NetBSD: radeon_ttm.c,v 1.19 2021/12/19 01:50:00 riastradh Exp $ */
/*
* Copyright 2009 Jerome Glisse.
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: radeon_ttm.c,v 1.18 2021/12/18 23:45:43 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: radeon_ttm.c,v 1.19 2021/12/19 01:50:00 riastradh Exp $");
#include <linux/dma-mapping.h>
#include <linux/pagemap.h>
@@ -202,8 +202,13 @@ static int radeon_verify_access(struct t
if (radeon_ttm_tt_has_userptr(bo->ttm))
return -EPERM;
+#ifdef __NetBSD__
+ struct drm_file *drm_file = filp->f_data;
+ return drm_vma_node_verify_access(&rbo->gem_base.vma_node, drm_file);
+#else
return drm_vma_node_verify_access(&rbo->tbo.base.vma_node,
filp->private_data);
+#endif
}
static void radeon_move_null(struct ttm_buffer_object *bo,