Add a helper function to agp(4) which installs a single GTT entry.

Submitted by:	dumbbell
MFC after:	1 week
This commit is contained in:
Mark Johnston 2017-07-09 22:53:24 +00:00
parent 3685b3988d
commit 8ee96d1452
3 changed files with 19 additions and 0 deletions

View File

@ -2242,6 +2242,16 @@ agp_intel_gtt_map_memory(device_t dev, vm_page_t *pages, u_int num_entries,
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)
@ -2320,6 +2330,13 @@ intel_gtt_insert_sg_entries(struct sglist *sg_list, u_int first_entry,
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
intel_gtt_get_bridge_device(void)
{

View File

@ -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,

View File

@ -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 \