Module Name: src Committed By: riastradh Date: Tue Jul 19 22:24:34 UTC 2022
Modified Files: src/sys/external/bsd/drm2/dist/drm: drm_agpsupport.c src/sys/external/bsd/drm2/dist/include/drm: drm_agpsupport.h src/sys/external/bsd/drm2/drm: drm_agp_hook.c src/sys/external/bsd/drm2/linux: linux_pci.c Log Message: drm: Nix drm_agp_borrow. This horrible kludge dates from before I understood the relation of genfb_pci and pci drm drivers in the old and new worlds of drm. The only user of it, in i915, was changed to use agp_i810_borrow directly in the last drm update, so this hack can die. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 \ src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c cvs rdiff -u -r1.9 -r1.10 \ src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/drm/drm_agp_hook.c cvs rdiff -u -r1.21 -r1.22 src/sys/external/bsd/drm2/linux/linux_pci.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/drm_agpsupport.c diff -u src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c:1.12 src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c:1.13 --- src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c:1.12 Sat Dec 18 23:44:57 2021 +++ src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c Tue Jul 19 22:24:33 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: drm_agpsupport.c,v 1.12 2021/12/18 23:44:57 riastradh Exp $ */ +/* $NetBSD: drm_agpsupport.c,v 1.13 2022/07/19 22:24:33 riastradh Exp $ */ /* * \file drm_agpsupport.c @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: drm_agpsupport.c,v 1.12 2021/12/18 23:44:57 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: drm_agpsupport.c,v 1.13 2022/07/19 22:24:33 riastradh Exp $"); #include <linux/module.h> #include <linux/pci.h> @@ -527,24 +527,8 @@ static void drm_agp_clear_hook(struct dr dev->agp->acquired = 0; dev->agp->enabled = 0; } -#ifdef __NetBSD__ - -static void __pci_iomem * -drm_agp_borrow_hook(struct drm_device *dev, unsigned i, bus_size_t size) -{ - struct pci_dev *pdev = dev->pdev; - if (!agp_i810_borrow(pdev->pd_resources[i].addr, size, - &pdev->pd_resources[i].bsh)) - return NULL; - /* XXX Synchronize with pci_iomap in linux_pci.c. */ - pdev->pd_resources[i].bst = pdev->pd_pa.pa_memt; - pdev->pd_resources[i].kva = bus_space_vaddr(pdev->pd_resources[i].bst, - pdev->pd_resources[i].bsh); - pdev->pd_resources[i].mapped = true; - - return pdev->pd_resources[i].kva; -} +#ifdef __NetBSD__ static void drm_agp_flush_hook(void) @@ -572,7 +556,6 @@ static const struct drm_agp_hooks agp_ho .agph_free_ioctl = drm_agp_free_ioctl_hook, .agph_init = drm_agp_init_hook, .agph_clear = drm_agp_clear_hook, - .agph_borrow = drm_agp_borrow_hook, .agph_flush = drm_agp_flush_hook, }; @@ -622,6 +605,8 @@ drmkms_agp_modcmd(modcmd_t cmd, void *ar if (error) return error; return 0; + case MODULE_CMD_AUTOUNLOAD: + return EBUSY; case MODULE_CMD_FINI: error = drmkms_agp_fini(); if (error) Index: src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h diff -u src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h:1.9 src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h:1.10 --- src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h:1.9 Sat Dec 18 23:45:45 2021 +++ src/sys/external/bsd/drm2/dist/include/drm/drm_agpsupport.h Tue Jul 19 22:24:34 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: drm_agpsupport.h,v 1.9 2021/12/18 23:45:45 riastradh Exp $ */ +/* $NetBSD: drm_agpsupport.h,v 1.10 2022/07/19 22:24:34 riastradh Exp $ */ /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _DRM_AGPSUPPORT_H_ @@ -20,8 +20,6 @@ struct drm_device; struct drm_file; struct drm_agp_hooks { - void __pci_iomem * - (*agph_borrow)(struct drm_device *, unsigned, bus_size_t); void (*agph_flush)(void); struct drm_agp_head * @@ -108,7 +106,6 @@ int drm_agp_bind_ioctl(struct drm_device struct drm_file *file_priv); #ifdef __NetBSD__ -void __pci_iomem *drm_agp_borrow(struct drm_device *, unsigned, bus_size_t); void drm_agp_flush(void); void drm_agp_fini(struct drm_device *); int drm_agp_register(const struct drm_agp_hooks *); Index: src/sys/external/bsd/drm2/drm/drm_agp_hook.c diff -u src/sys/external/bsd/drm2/drm/drm_agp_hook.c:1.6 src/sys/external/bsd/drm2/drm/drm_agp_hook.c:1.7 --- src/sys/external/bsd/drm2/drm/drm_agp_hook.c:1.6 Sun Dec 19 09:52:00 2021 +++ src/sys/external/bsd/drm2/drm/drm_agp_hook.c Tue Jul 19 22:24:34 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: drm_agp_hook.c,v 1.6 2021/12/19 09:52:00 riastradh Exp $ */ +/* $NetBSD: drm_agp_hook.c,v 1.7 2022/07/19 22:24:34 riastradh Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: drm_agp_hook.c,v 1.6 2021/12/19 09:52:00 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: drm_agp_hook.c,v 1.7 2022/07/19 22:24:34 riastradh Exp $"); #include <sys/types.h> #include <sys/condvar.h> @@ -264,20 +264,6 @@ DEFINE_AGP_HOOK_IOCTL(drm_agp_free_ioctl DEFINE_AGP_HOOK_IOCTL(drm_agp_bind_ioctl, agph_bind_ioctl) DEFINE_AGP_HOOK_IOCTL(drm_agp_unbind_ioctl, agph_unbind_ioctl) -void __pci_iomem * -drm_agp_borrow(struct drm_device *dev, unsigned bar, bus_size_t size) -{ - const struct drm_agp_hooks *hooks; - void __pci_iomem *iomem; - - if ((hooks = drm_agp_hooks_acquire()) == NULL) - return NULL; - iomem = hooks->agph_borrow(dev, bar, size); - drm_agp_hooks_release(hooks); - - return iomem; -} - void drm_agp_flush(void) { Index: src/sys/external/bsd/drm2/linux/linux_pci.c diff -u src/sys/external/bsd/drm2/linux/linux_pci.c:1.21 src/sys/external/bsd/drm2/linux/linux_pci.c:1.22 --- src/sys/external/bsd/drm2/linux/linux_pci.c:1.21 Sun Feb 27 14:19:20 2022 +++ src/sys/external/bsd/drm2/linux/linux_pci.c Tue Jul 19 22:24:34 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_pci.c,v 1.21 2022/02/27 14:19:20 riastradh Exp $ */ +/* $NetBSD: linux_pci.c,v 1.22 2022/07/19 22:24:34 riastradh Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #endif #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_pci.c,v 1.21 2022/02/27 14:19:20 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_pci.c,v 1.22 2022/07/19 22:24:34 riastradh Exp $"); #if NACPICA > 0 #include <dev/acpi/acpivar.h> @@ -639,7 +639,6 @@ pci_iomap(struct pci_dev *pdev, unsigned &pdev->pd_resources[i].bsh); if (error) return NULL; - /* XXX Synchronize with drm_agp_borrow_hook in drm_agpsupport.c. */ pdev->pd_resources[i].bst = pdev->pd_pa.pa_memt; pdev->pd_resources[i].kva = bus_space_vaddr(pdev->pd_resources[i].bst, pdev->pd_resources[i].bsh);