Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jul 2017 22:53:24 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r320851 - in head/sys: dev/agp modules/agp
Message-ID:  <201707092253.v69MrO5v042866@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Sun Jul  9 22:53:24 2017
New Revision: 320851
URL: https://svnweb.freebsd.org/changeset/base/320851

Log:
  Add a helper function to agp(4) which installs a single GTT entry.
  
  Submitted by:	dumbbell
  MFC after:	1 week

Modified:
  head/sys/dev/agp/agp_i810.c
  head/sys/dev/agp/agp_i810.h
  head/sys/modules/agp/Makefile

Modified: head/sys/dev/agp/agp_i810.c
==============================================================================
--- head/sys/dev/agp/agp_i810.c	Sun Jul  9 20:49:02 2017	(r320850)
+++ head/sys/dev/agp/agp_i810.c	Sun Jul  9 22:53:24 2017	(r320851)
@@ -2242,6 +2242,16 @@ agp_intel_gtt_map_memory(device_t dev, vm_page_t *page
 	return (0);
 }
 
+static void
+agp_intel_gtt_install_pte(device_t dev, u_int index, vm_paddr_t addr,
+    u_int flags)
+{
+	struct agp_i810_softc *sc;
+
+	sc = device_get_softc(dev);
+	sc->match->driver->install_gtt_pte(dev, index, addr, flags);
+}
+
 void
 agp_intel_gtt_insert_sg_entries(device_t dev, struct sglist *sg_list,
     u_int first_entry, u_int flags)
@@ -2318,6 +2328,13 @@ intel_gtt_insert_sg_entries(struct sglist *sg_list, u_
 {
 
 	agp_intel_gtt_insert_sg_entries(intel_agp, sg_list, first_entry, flags);
+}
+
+void
+intel_gtt_install_pte(u_int index, vm_paddr_t addr, u_int flags)
+{
+
+	agp_intel_gtt_install_pte(intel_agp, index, addr, flags);
 }
 
 device_t

Modified: head/sys/dev/agp/agp_i810.h
==============================================================================
--- head/sys/dev/agp/agp_i810.h	Sun Jul  9 20:49:02 2017	(r320850)
+++ head/sys/dev/agp/agp_i810.h	Sun Jul  9 22:53:24 2017	(r320851)
@@ -87,6 +87,7 @@ struct intel_gtt *intel_gtt_get(void);
 int intel_gtt_chipset_flush(void);
 void intel_gtt_unmap_memory(struct sglist *sg_list);
 void intel_gtt_clear_range(u_int first_entry, u_int num_entries);
+void intel_gtt_install_pte(u_int index, vm_paddr_t addr, u_int flags);
 int intel_gtt_map_memory(vm_page_t *pages, u_int num_entries,
     struct sglist **sg_list);
 void intel_gtt_insert_sg_entries(struct sglist *sg_list, u_int pg_start,

Modified: head/sys/modules/agp/Makefile
==============================================================================
--- head/sys/modules/agp/Makefile	Sun Jul  9 20:49:02 2017	(r320850)
+++ head/sys/modules/agp/Makefile	Sun Jul  9 22:53:24 2017	(r320851)
@@ -35,6 +35,7 @@ EXPORT_SYMS=	agp_find_device		\
 .if ${MACHINE_CPUARCH} == "i386"  || ${MACHINE_CPUARCH} == "amd64"
 EXPORT_SYMS+=	intel_gtt_clear_range	\
 		intel_gtt_insert_pages	\
+		intel_gtt_install_pte	\
 		intel_gtt_get		\
 		intel_gtt_chipset_flush	\
 		intel_gtt_unmap_memory	\



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707092253.v69MrO5v042866>