diff options
author | Toomas Soome <tsoome@me.com> | 2019-01-17 10:57:38 -0800 |
---|---|---|
committer | Joshua M. Clulow <josh@sysmgr.org> | 2019-01-18 11:23:24 -0800 |
commit | 30165b7f6753bc3d48c52319bed7ec7b3ea36b3c (patch) | |
tree | a3dbebcc5b5a7801eca560aeaa28f41fbd202e17 /usr/src/uts/common | |
parent | 066570e74d37d22ae7d90b89576bf0df451f0349 (diff) | |
download | illumos-gate-30165b7f6753bc3d48c52319bed7ec7b3ea36b3c.tar.gz |
7834 uts: vgatext should use gfx_private
Reviewed by: Yuri Pankov <yuripv@gmx.com>
Reviewed by: John Howard <Echosoft.LLC@gmail.com>
Reviewed by: Alexander Eremin <a.eremin@nexenta.com>
Approved by: Joshua M. Clulow <josh@sysmgr.org>
Diffstat (limited to 'usr/src/uts/common')
-rw-r--r-- | usr/src/uts/common/io/drm/drm_irq.c | 2 | ||||
-rw-r--r-- | usr/src/uts/common/io/drm/drm_sunmod.c | 18 | ||||
-rw-r--r-- | usr/src/uts/common/io/drm/drm_sunmod.h | 2 | ||||
-rw-r--r-- | usr/src/uts/common/sys/gfx_private.h | 48 |
4 files changed, 33 insertions, 37 deletions
diff --git a/usr/src/uts/common/io/drm/drm_irq.c b/usr/src/uts/common/io/drm/drm_irq.c index 3d3640a3bd..c41ae4c83c 100644 --- a/usr/src/uts/common/io/drm/drm_irq.c +++ b/usr/src/uts/common/io/drm/drm_irq.c @@ -192,7 +192,7 @@ drm_install_irq_handle(drm_device_t *dev) dev_info_t *dip = dev->dip; if (dip == NULL) { - DRM_ERROR("drm_install_irq_handle: cannot get vgatext's dip"); + DRM_ERROR("drm_install_irq_handle: cannot get gfxp_fb's dip"); return (DDI_FAILURE); } diff --git a/usr/src/uts/common/io/drm/drm_sunmod.c b/usr/src/uts/common/io/drm/drm_sunmod.c index 2f69229521..8eefdfe101 100644 --- a/usr/src/uts/common/io/drm/drm_sunmod.c +++ b/usr/src/uts/common/io/drm/drm_sunmod.c @@ -140,7 +140,7 @@ drm_supp_register(dev_info_t *dip, drm_device_t *dp) agp_master_softc_t *agpm; drm_inst_state_t *mstate; drm_inst_list_t *entry; - gfxp_vgatext_softc_ptr_t gfxp; + gfxp_fb_softc_ptr_t gfxp; struct dev_ops *devop; ASSERT(dip != NULL); @@ -161,8 +161,8 @@ drm_supp_register(dev_info_t *dip, drm_device_t *dp) } /* Generic graphics initialization */ - gfxp = gfxp_vgatext_softc_alloc(); - error = gfxp_vgatext_attach(dip, DDI_ATTACH, gfxp); + gfxp = gfxp_fb_softc_alloc(); + error = gfxp_fb_attach(dip, DDI_ATTACH, gfxp); if (error != DDI_SUCCESS) { DRM_ERROR("drm_supp_regiter: failed to init gfx"); goto exit1; @@ -224,9 +224,9 @@ exit4: exit3: pci_config_teardown(&pci_cfg_handle); exit2: - (void) gfxp_vgatext_detach(dip, DDI_DETACH, gfxp); + (void) gfxp_fb_detach(dip, DDI_DETACH, gfxp); exit1: - gfxp_vgatext_softc_free(gfxp); + gfxp_fb_softc_free(gfxp); drm_supp_free_drv_entry(dip); ddi_remove_minor_node(dip, NULL); @@ -254,9 +254,9 @@ drm_supp_unregister(void *handle) /* graphics misc module detach */ if (mstate->mis_gfxp) { - (void) gfxp_vgatext_detach(mstate->mis_dip, DDI_DETACH, + (void) gfxp_fb_detach(mstate->mis_dip, DDI_DETACH, mstate->mis_gfxp); - gfxp_vgatext_softc_free(mstate->mis_gfxp); + gfxp_fb_softc_free(mstate->mis_gfxp); } mstate->mis_devp = NULL; @@ -448,7 +448,7 @@ drm_sun_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, ASSERT(minor <= MAX_CLONE_MINOR); switch (minor) { case GFX_MINOR: - retval = gfxp_vgatext_ioctl(dev, cmd, arg, + retval = gfxp_fb_ioctl(dev, cmd, arg, mode, credp, rvalp, mstate->mis_gfxp); return (retval); @@ -544,7 +544,7 @@ drm_sun_devmap(dev_t dev, devmap_cookie_t dhp, offset_t offset, minor = DEV2MINOR(dev); switch (minor) { case GFX_MINOR: - ret = gfxp_vgatext_devmap(dev, dhp, offset, len, maplen, model, + ret = gfxp_fb_devmap(dev, dhp, offset, len, maplen, model, mstate->mis_gfxp); return (ret); diff --git a/usr/src/uts/common/io/drm/drm_sunmod.h b/usr/src/uts/common/io/drm/drm_sunmod.h index 07acb2fc9c..2418d9ad2c 100644 --- a/usr/src/uts/common/io/drm/drm_sunmod.h +++ b/usr/src/uts/common/io/drm/drm_sunmod.h @@ -130,7 +130,7 @@ typedef struct drm_instance_state { drm_device_t *mis_devp; ddi_acc_handle_t mis_cfg_hdl; agp_master_softc_t *mis_agpm; /* agpmaster softstate ptr */ - gfxp_vgatext_softc_ptr_t mis_gfxp; /* gfx softstate */ + gfxp_fb_softc_ptr_t mis_gfxp; /* gfx softstate */ } drm_inst_state_t; diff --git a/usr/src/uts/common/sys/gfx_private.h b/usr/src/uts/common/sys/gfx_private.h index ddd91e5758..51a8e170de 100644 --- a/usr/src/uts/common/sys/gfx_private.h +++ b/usr/src/uts/common/sys/gfx_private.h @@ -37,12 +37,21 @@ extern "C" { #endif + +/* + * Updated "glue" for newer libdrm code. + * See: kernel/drm/src/drm_fb_helper.c + */ + +typedef char *gfxp_fb_softc_ptr_t; + /* Memory cache attributes */ #define GFXP_MEMORY_CACHED 0 #define GFXP_MEMORY_UNCACHED 1 #define GFXP_MEMORY_WRITECOMBINED 2 typedef uint64_t gfx_maddr_t; +typedef char *gfxp_acc_handle_t; extern int gfxp_ddi_segmap_setup(dev_t dev, off_t offset, struct as *as, caddr_t *addrp, off_t len, uint_t prot, uint_t maxprot, uint_t flags, @@ -57,8 +66,6 @@ extern int gfxp_devmap_umem_setup(devmap_cookie_t dhc, dev_info_t *dip, extern void gfxp_map_devmem(devmap_cookie_t dhc, gfx_maddr_t maddr, size_t length, ddi_device_acc_attr_t *attrp); - -typedef char *gfxp_acc_handle_t; extern gfxp_acc_handle_t gfxp_pci_init_handle(uint8_t bus, uint8_t slot, uint8_t function, uint16_t *vendor, uint16_t *device); extern uint8_t gfxp_pci_read_byte(gfxp_acc_handle_t handle, uint16_t offset); @@ -81,35 +88,24 @@ extern void gfxp_fix_mem_cache_attrs(caddr_t kva_start, size_t length, int cache_attr); extern gfx_maddr_t gfxp_convert_addr(paddr_t paddr); -typedef char *gfxp_vgatext_softc_ptr_t; - -extern gfxp_vgatext_softc_ptr_t gfxp_vgatext_softc_alloc(void); -extern void gfxp_vgatext_softc_free(gfxp_vgatext_softc_ptr_t ptr); -extern int gfxp_vgatext_attach(dev_info_t *devi, ddi_attach_cmd_t cmd, - gfxp_vgatext_softc_ptr_t ptr); -extern int gfxp_vgatext_detach(dev_info_t *devi, ddi_detach_cmd_t cmd, - gfxp_vgatext_softc_ptr_t ptr); -extern int gfxp_vgatext_open(dev_t *devp, int flag, int otyp, cred_t *cred, - gfxp_vgatext_softc_ptr_t ptr); -extern int gfxp_vgatext_close(dev_t devp, int flag, int otyp, cred_t *cred, - gfxp_vgatext_softc_ptr_t ptr); -extern int gfxp_vgatext_ioctl(dev_t dev, int cmd, intptr_t data, int mode, - cred_t *cred, int *rval, gfxp_vgatext_softc_ptr_t ptr); +extern gfxp_fb_softc_ptr_t gfxp_fb_softc_alloc(void); +extern void gfxp_fb_softc_free(gfxp_fb_softc_ptr_t ptr); +extern int gfxp_fb_attach(dev_info_t *devi, ddi_attach_cmd_t cmd, + gfxp_fb_softc_ptr_t ptr); +extern int gfxp_fb_detach(dev_info_t *devi, ddi_detach_cmd_t cmd, + gfxp_fb_softc_ptr_t ptr); +extern int gfxp_fb_open(dev_t *devp, int flag, int otyp, cred_t *cred, + gfxp_fb_softc_ptr_t ptr); +extern int gfxp_fb_close(dev_t devp, int flag, int otyp, cred_t *cred, + gfxp_fb_softc_ptr_t ptr); +extern int gfxp_fb_ioctl(dev_t dev, int cmd, intptr_t data, int mode, + cred_t *cred, int *rval, gfxp_fb_softc_ptr_t ptr); extern int gfxp_mlock_user_memory(caddr_t address, size_t length); extern int gfxp_munlock_user_memory(caddr_t address, size_t length); -extern int gfxp_vgatext_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, +extern int gfxp_fb_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, size_t *maplen, uint_t model, void *ptr); - -/* - * Updated "glue" for newer libdrm code. - * See: kernel/drm/src/drm_fb_helper.c - */ - -/* Same as: gfxp_vgatext_softc_ptr_t; */ -typedef char *gfxp_fb_softc_ptr_t; - /* * Used by drm_register_fbops(). * Note: only setmode is supplied. |