summaryrefslogtreecommitdiff
path: root/bsd-core
AgeCommit message (Expand)Author
2007-05-29Update a bunch of FreeBSD port code.Jung-uk Kim
2007-03-24Catch up to new interrupt API, and retire FreeBSD 4.x support here.Eric Anholt
2006-12-01Core build fix for BSD.Michel Dänzer
2006-12-01Unshare drm_drawable.c again for now.Michel Dänzer
2006-10-31Fix bug #8839 - a commentAlan Hourihane
2006-09-28Add support for tracking drawable information to coreMichel Dänzer
2006-09-06Use the DRM_INIT_WAITQUEUE argument (needed on Linux) to avoid a warning.Eric Anholt
2006-09-06Put the PCI device/vendor id in the drm_device_t.Eric Anholt
2006-09-06Add a typedef for u64.Eric Anholt
2006-07-19.cvsignore -> .gitignoreMichel Dänzer
2006-05-17Set entry->virtual for sg maps, fixing ATI PCI/PCIE GART support.Eric Anholt
2006-05-17Add the bits for vblank support on FreeBSD, which most importantly avoidsEric Anholt
2006-05-17Add the workaround that's in the kernel to suppress GCC's warning aboutEric Anholt
2006-04-18Reorder the DRM_*_AGP enum to match linux's numbers (oops). Fixes i915Eric Anholt
2005-12-30Merge patch from jhb to catch up with FreeBSD-current vgapci master deviceEric Anholt
2005-12-05Remove driver.device_is_agp code duplicated in drm_device_find_capability,Eric Anholt
2005-12-02Finish the last bits necessary to get the i915 DRM port working on FreeBSDEric Anholt
2005-12-02FreeBSD PR kern/85479: Restore the enabling of debugging by default by theEric Anholt
2005-11-28Fix AGP support guessing: Implement the same bridge checking in the MGAEric Anholt
2005-11-15Fix compiling and reenable build of i915 driver.Eric Anholt
2005-11-15Fix Savage DRI without ShadowStatus NO by allowing the shadow area to beEric Anholt
2005-11-11Fix breakage from the move of driver ioctl externs to header files.Eric Anholt
2005-11-08Correct another LOR issue with resource allocation. This leaves theEric Anholt
2005-11-08Initial port of savage to FreeBSD for the AGP and !ShadowStatus case. AddsEric Anholt
2005-11-08Correct a LOR related to the PCI resource allocations by simply moving theEric Anholt
2005-11-08Fix FreeBSD DRM for latest MGA changes to agp support, which cleans thingsEric Anholt
2005-11-08Catch FreeBSD up to the pcie gart changes. Required minor modification toEric Anholt
2005-11-08Correct a recursion on non-recursive mutex in drm_addmap from radeon'sEric Anholt
2005-11-06Re-disable the via driver while it's broken on BSD.Eric Anholt
2005-09-30Add support to turn writeback off via radeon module optionDave Airlie
2005-09-12Fix the spelling of DRM_AUTH so that the bsd core stuff builds again. NextEric Anholt
2005-09-03convert ioctl flags to use flags instead of separate intsDave Airlie
2005-08-26- Don't try to allocate mappings of less than a PAGE_SIZE in MGA DMA code.Eric Anholt
2005-08-26Previously, drm_get_resource_start() and drm_get_resource_len() wouldEric Anholt
2005-08-26Fix a lack of parenthesis in macro usage that showed up with INVARIANTSEric Anholt
2005-08-26[1] Fix BSD DRM for the nonroot changes. [2] Don't attempt to acquire theEric Anholt
2005-08-17add agp buffer tokenDave Airlie
2005-08-15Port the VIA DRM to FreeBSD. Original patch by Jake, with some cleanup byEric Anholt
2005-08-12Fix build after linux-side checkin of master/root-only split. Still onlyEric Anholt
2005-08-05Rename the driver hooks in the DRM to something a little moreEric Anholt
2005-08-04Fix the MGA driver on BSD by passing in the proper chipset flags to theEric Anholt
2005-07-27Correct a couple of descriptions of files in comments (were justEric Anholt
2005-07-27Link in the savage files from shared-core.Eric Anholt
2005-07-20Add latest r300 support from r300.sf.net CVS. Patch submitted by volodya,Eric Anholt
2005-06-29Get the BSD DRM compiling again after MGA and mapping changes. Note thatEric Anholt
2005-06-14Adds support for PCI cards to MGA DRMIan Romanick
2005-06-09Completely re-initialize DMA settingsIan Romanick
2005-06-06Add a few more bits of Tonnerre's NetBSD port (Still need to deal with theEric Anholt
2005-05-27Modify drm_driver::device_is_agp to return a tri-state value to indicateIan Romanick
2005-05-21Change the MGA initialization and cleanup a bit. The dev_private structureIan Romanick
span class="hl opt">; size = ( WARP_UCODE_SIZE( warp_g200_tgz ) + WARP_UCODE_SIZE( warp_g200_tgza ) + WARP_UCODE_SIZE( warp_g200_tgzaf ) + WARP_UCODE_SIZE( warp_g200_tgzf ) + WARP_UCODE_SIZE( warp_g200_tgzs ) + WARP_UCODE_SIZE( warp_g200_tgzsa ) + WARP_UCODE_SIZE( warp_g200_tgzsaf ) + WARP_UCODE_SIZE( warp_g200_tgzsf ) ); size = PAGE_ALIGN( size ); DRM_DEBUG( "G200 ucode size = %d bytes\n", size ); return size; } static int mga_warp_install_g400_microcode( drm_mga_private_t *dev_priv ) { unsigned char *vcbase = dev_priv->warp->handle; unsigned long pcbase = dev_priv->warp->offset; unsigned int size; size = mga_warp_g400_microcode_size( dev_priv ); if ( size > dev_priv->warp->size ) { DRM_ERROR( "microcode too large! (%u > %lu)\n", size, dev_priv->warp->size ); return -ENOMEM; } memset( dev_priv->warp_pipe_phys, 0, sizeof(dev_priv->warp_pipe_phys) ); WARP_UCODE_INSTALL( warp_g400_tgz, MGA_WARP_TGZ ); WARP_UCODE_INSTALL( warp_g400_tgzf, MGA_WARP_TGZF ); WARP_UCODE_INSTALL( warp_g400_tgza, MGA_WARP_TGZA ); WARP_UCODE_INSTALL( warp_g400_tgzaf, MGA_WARP_TGZAF ); WARP_UCODE_INSTALL( warp_g400_tgzs, MGA_WARP_TGZS ); WARP_UCODE_INSTALL( warp_g400_tgzsf, MGA_WARP_TGZSF ); WARP_UCODE_INSTALL( warp_g400_tgzsa, MGA_WARP_TGZSA ); WARP_UCODE_INSTALL( warp_g400_tgzsaf, MGA_WARP_TGZSAF ); WARP_UCODE_INSTALL( warp_g400_t2gz, MGA_WARP_T2GZ ); WARP_UCODE_INSTALL( warp_g400_t2gzf, MGA_WARP_T2GZF ); WARP_UCODE_INSTALL( warp_g400_t2gza, MGA_WARP_T2GZA ); WARP_UCODE_INSTALL( warp_g400_t2gzaf, MGA_WARP_T2GZAF ); WARP_UCODE_INSTALL( warp_g400_t2gzs, MGA_WARP_T2GZS ); WARP_UCODE_INSTALL( warp_g400_t2gzsf, MGA_WARP_T2GZSF ); WARP_UCODE_INSTALL( warp_g400_t2gzsa, MGA_WARP_T2GZSA ); WARP_UCODE_INSTALL( warp_g400_t2gzsaf, MGA_WARP_T2GZSAF ); return 0; } static int mga_warp_install_g200_microcode( drm_mga_private_t *dev_priv ) { unsigned char *vcbase = dev_priv->warp->handle; unsigned long pcbase = dev_priv->warp->offset; unsigned int size; size = mga_warp_g200_microcode_size( dev_priv ); if ( size > dev_priv->warp->size ) { DRM_ERROR( "microcode too large! (%u > %lu)\n", size, dev_priv->warp->size ); return -ENOMEM; } memset( dev_priv->warp_pipe_phys, 0, sizeof(dev_priv->warp_pipe_phys) ); WARP_UCODE_INSTALL( warp_g200_tgz, MGA_WARP_TGZ ); WARP_UCODE_INSTALL( warp_g200_tgzf, MGA_WARP_TGZF ); WARP_UCODE_INSTALL( warp_g200_tgza, MGA_WARP_TGZA ); WARP_UCODE_INSTALL( warp_g200_tgzaf, MGA_WARP_TGZAF ); WARP_UCODE_INSTALL( warp_g200_tgzs, MGA_WARP_TGZS ); WARP_UCODE_INSTALL( warp_g200_tgzsf, MGA_WARP_TGZSF ); WARP_UCODE_INSTALL( warp_g200_tgzsa, MGA_WARP_TGZSA ); WARP_UCODE_INSTALL( warp_g200_tgzsaf, MGA_WARP_TGZSAF ); return 0; } int mga_warp_install_microcode( drm_mga_private_t *dev_priv ) { switch ( dev_priv->chipset ) { case MGA_CARD_TYPE_G400: return mga_warp_install_g400_microcode( dev_priv ); case MGA_CARD_TYPE_G200: return mga_warp_install_g200_microcode( dev_priv ); default: return -EINVAL; } } #define WMISC_EXPECTED (MGA_WUCODECACHE_ENABLE | MGA_WMASTER_ENABLE) int mga_warp_init( drm_mga_private_t *dev_priv ) { u32 wmisc; /* FIXME: Get rid of these damned magic numbers... */ switch ( dev_priv->chipset ) { case MGA_CARD_TYPE_G400: MGA_WRITE( MGA_WIADDR2, MGA_WMODE_SUSPEND ); MGA_WRITE( MGA_WGETMSB, 0x00000E00 ); MGA_WRITE( MGA_WVRTXSZ, 0x00001807 ); MGA_WRITE( MGA_WACCEPTSEQ, 0x18000000 ); break; case MGA_CARD_TYPE_G200: MGA_WRITE( MGA_WIADDR, MGA_WMODE_SUSPEND ); MGA_WRITE( MGA_WGETMSB, 0x1606 ); MGA_WRITE( MGA_WVRTXSZ, 7 ); break; default: return -EINVAL; } MGA_WRITE( MGA_WMISC, (MGA_WUCODECACHE_ENABLE | MGA_WMASTER_ENABLE | MGA_WCACHEFLUSH_ENABLE) ); wmisc = MGA_READ( MGA_WMISC ); if ( wmisc != WMISC_EXPECTED ) { DRM_ERROR( "WARP engine config failed! 0x%x != 0x%x\n", wmisc, WMISC_EXPECTED ); return -EINVAL; } return 0; }