Date: Sat, 28 Jan 2017 17:22:15 +0100 From: "O. Hartmann" <ohartmann@walstatt.org> To: Baptiste Daroussin <bapt@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r312923 - in head/sys: dev/drm2 modules/drm2/drm2 Message-ID: <20170128172215.4fad63e8@thor.intern.walstatt.dynvpn.de> In-Reply-To: <201701281543.v0SFhJL9046997@repo.freebsd.org> References: <201701281543.v0SFhJL9046997@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_//Saql4e=KQ2OYa0RjOoYCEg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Am Sat, 28 Jan 2017 15:43:19 +0000 (UTC) Baptiste Daroussin <bapt@FreeBSD.org> schrieb: > Author: bapt > Date: Sat Jan 28 15:43:19 2017 > New Revision: 312923 > URL: https://svnweb.freebsd.org/changeset/base/312923 >=20 > Log: > Make the drm2 module depend on linuxkpi > =20 > Use linux memory allocation to reduce diff with upstream >=20 > Modified: > head/sys/dev/drm2/drm_agpsupport.c > head/sys/dev/drm2/drm_drv.c > head/sys/dev/drm2/drm_os_freebsd.c > head/sys/dev/drm2/drm_os_freebsd.h > head/sys/dev/drm2/drm_stub.c > head/sys/modules/drm2/drm2/Makefile >=20 > Modified: head/sys/dev/drm2/drm_agpsupport.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/dev/drm2/drm_agpsupport.c Sat Jan 28 13:25:06 2017 (r312922) > +++ head/sys/dev/drm2/drm_agpsupport.c Sat Jan 28 15:43:19 2017 (r312923) > @@ -35,6 +35,7 @@ > __FBSDID("$FreeBSD$"); > =20 > #include <dev/drm2/drmP.h> > +#include <linux/slab.h> > =20 > #if __OS_HAS_AGP > =20 > @@ -208,15 +209,13 @@ int drm_agp_alloc(struct drm_device *dev > =20 > if (!dev->agp || !dev->agp->acquired) > return -EINVAL; > - if (!(entry =3D malloc(sizeof(*entry), DRM_MEM_AGPLISTS, M_NOWAIT))) > + if (!(entry =3D kzalloc(sizeof(*entry), GFP_KERNEL))) > return -ENOMEM; > =20 > - memset(entry, 0, sizeof(*entry)); > - > pages =3D (request->size + PAGE_SIZE - 1) / PAGE_SIZE; > type =3D (u32) request->type; > if (!(memory =3D agp_alloc_memory(dev->agp->bridge, type, pages << PAGE= _SHIFT))) > { > - free(entry, DRM_MEM_AGPLISTS); > + kfree(entry); > return -ENOMEM; > } > =20 > @@ -376,7 +375,7 @@ int drm_agp_free(struct drm_device *dev, > list_del(&entry->head); > =20 > drm_free_agp(entry->memory, entry->pages); > - free(entry, DRM_MEM_AGPLISTS); > + kfree(entry); > return 0; > } > EXPORT_SYMBOL(drm_agp_free); > @@ -404,12 +403,11 @@ struct drm_agp_head *drm_agp_init(struct > { > struct drm_agp_head *head =3D NULL; > =20 > - if (!(head =3D malloc(sizeof(*head), DRM_MEM_AGPLISTS, M_NOWAIT))) > + if (!(head =3D kzalloc(sizeof(*head), GFP_KERNEL))) > return NULL; > - memset((void *)head, 0, sizeof(*head)); > head->bridge =3D agp_find_device(); > if (!head->bridge) { > - free(head, DRM_MEM_AGPLISTS); > + kfree(head); > return NULL; > } else { > agp_get_info(head->bridge, &head->agp_info); >=20 > Modified: head/sys/dev/drm2/drm_drv.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/dev/drm2/drm_drv.c Sat Jan 28 13:25:06 2017 (r312922) > +++ head/sys/dev/drm2/drm_drv.c Sat Jan 28 15:43:19 2017 (r312923) > @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); > =20 > #include <sys/sysent.h> > =20 > +#include <linux/slab.h> > #include <dev/drm2/drmP.h> > #include <dev/drm2/drm_core.h> > #include <dev/drm2/drm_global.h> > @@ -211,7 +212,7 @@ int drm_lastclose(struct drm_device * de > if (entry->bound) > drm_unbind_agp(entry->memory); > drm_free_agp(entry->memory, entry->pages); > - free(entry, DRM_MEM_AGPLISTS); > + kfree(entry); > } > INIT_LIST_HEAD(&dev->agp->memory); > =20 >=20 > Modified: head/sys/dev/drm2/drm_os_freebsd.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/dev/drm2/drm_os_freebsd.c Sat Jan 28 13:25:06 2017 (r312922) > +++ head/sys/dev/drm2/drm_os_freebsd.c Sat Jan 28 15:43:19 2017 (r312923) > @@ -24,7 +24,6 @@ MALLOC_DEFINE(DRM_MEM_QUEUES, "drm_queue > MALLOC_DEFINE(DRM_MEM_CMDS, "drm_cmds", "DRM COMMAND Data Structures"); > MALLOC_DEFINE(DRM_MEM_MAPPINGS, "drm_mapping", "DRM MAPPING Data Structu= res"); > MALLOC_DEFINE(DRM_MEM_BUFLISTS, "drm_buflists", "DRM BUFLISTS Data Struc= tures"); > -MALLOC_DEFINE(DRM_MEM_AGPLISTS, "drm_agplists", "DRM AGPLISTS Data Struc= tures"); > MALLOC_DEFINE(DRM_MEM_CTXBITMAP, "drm_ctxbitmap", > "DRM CTXBITMAP Data Structures"); > MALLOC_DEFINE(DRM_MEM_SGLISTS, "drm_sglists", "DRM SGLISTS Data Structur= es"); > @@ -496,4 +495,5 @@ MODULE_VERSION(drmn, 1); > MODULE_DEPEND(drmn, agp, 1, 1, 1); > MODULE_DEPEND(drmn, pci, 1, 1, 1); > MODULE_DEPEND(drmn, mem, 1, 1, 1); > +MODULE_DEPEND(drmn, linuxkpi, 1, 1, 1); > MODULE_DEPEND(drmn, iicbus, 1, 1, 1); >=20 > Modified: head/sys/dev/drm2/drm_os_freebsd.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/dev/drm2/drm_os_freebsd.h Sat Jan 28 13:25:06 2017 (r312922) > +++ head/sys/dev/drm2/drm_os_freebsd.h Sat Jan 28 15:43:19 2017 (r312923) > @@ -552,7 +552,6 @@ MALLOC_DECLARE(DRM_MEM_QUEUES); > MALLOC_DECLARE(DRM_MEM_CMDS); > MALLOC_DECLARE(DRM_MEM_MAPPINGS); > MALLOC_DECLARE(DRM_MEM_BUFLISTS); > -MALLOC_DECLARE(DRM_MEM_AGPLISTS); > MALLOC_DECLARE(DRM_MEM_CTXBITMAP); > MALLOC_DECLARE(DRM_MEM_SGLISTS); > MALLOC_DECLARE(DRM_MEM_MM); >=20 > Modified: head/sys/dev/drm2/drm_stub.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/dev/drm2/drm_stub.c Sat Jan 28 13:25:06 2017 (r312922) > +++ head/sys/dev/drm2/drm_stub.c Sat Jan 28 15:43:19 2017 (r312923) > @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); > =20 > #include <dev/drm2/drmP.h> > #include <dev/drm2/drm_core.h> > +#include <linux/slab.h> > =20 > #ifdef DRM_DEBUG_DEFAULT_ON > unsigned int drm_debug =3D (DRM_DEBUGBITS_DEBUG | DRM_DEBUGBITS_KMS | > @@ -315,7 +316,7 @@ void drm_cancel_fill_in_dev(struct drm_d > DRM_MTRR_WC); > DRM_DEBUG("mtrr_del=3D%d\n", retval); > } > - free(dev->agp, DRM_MEM_AGPLISTS); > + kfree(dev->agp); > dev->agp =3D NULL; > =20 > drm_ht_remove(&dev->map_hash); > @@ -467,7 +468,7 @@ void drm_put_dev(struct drm_device *dev) > drm_sysctl_cleanup(dev); > =20 > if (drm_core_has_AGP(dev) && dev->agp) { > - free(dev->agp, DRM_MEM_AGPLISTS); > + kfree(dev->agp); > dev->agp =3D NULL; > } > =20 >=20 > Modified: head/sys/modules/drm2/drm2/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/modules/drm2/drm2/Makefile Sat Jan 28 13:25:06 2017 (r312922) > +++ head/sys/modules/drm2/drm2/Makefile Sat Jan 28 15:43:19 2017 (r312923) > @@ -48,6 +48,8 @@ SRCS =3D \ > ati_pcigart.c > #ttm_page_alloc_dma.c > =20 > +CFLAGS+=3D -I${.CURDIR}/../../../compat/linuxkpi/common/include > + > .if ${MACHINE_CPUARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "powerpc= 64" > SRCS +=3D drm_ioc32.c > .endif > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" This "patch" broke buildkernel: make[4]: stopped in /usr/src/sys/modules/drm2 .ERROR_TARGET=3D'all_subdir_drm2/radeonkms' --=20 O. Hartmann Ich widerspreche der Nutzung oder =C3=9Cbermittlung meiner Daten f=C3=BCr Werbezwecke oder f=C3=BCr die Markt- oder Meinungsforschung (=C2=A7 28 Abs.= 4 BDSG). --Sig_//Saql4e=KQ2OYa0RjOoYCEg Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iLUEARMKAB0WIQQZVZMzAtwC2T/86TrS528fyFhYlAUCWIzFNwAKCRDS528fyFhY lI2FAgCJPiO5e/NRiWnnyB1z9QZmMQXohHurT5jBpeRcTTgyNt2aqRXPFVKMp9cI PNh0aKl4XvZ6dQ2fRtKr5fzN97zgAf9k94w89KIuw04jJeI4USpQD3lUPhMu/onb iT2ggX0j/FuwCzL+DO8/MQhddrOTFgsVzpFsRBt7ToUADJ3rTfwA =Esvm -----END PGP SIGNATURE----- --Sig_//Saql4e=KQ2OYa0RjOoYCEg--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170128172215.4fad63e8>