mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-24 20:40:12 +01:00
Fixed the DMA emulation code thanks to Keith
This commit is contained in:
parent
c0622174af
commit
c7df8b994c
2 changed files with 7 additions and 45 deletions
|
|
@ -56,44 +56,6 @@ typedef struct drm_mach64_buf_priv {
|
|||
int age;
|
||||
} drm_mach64_buf_priv_t;
|
||||
|
||||
|
||||
/* mach64_drv.c */
|
||||
extern int mach64_version( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_open( struct inode *inode, struct file *filp );
|
||||
extern int mach64_release( struct inode *inode, struct file *filp );
|
||||
extern int mach64_ioctl( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_lock( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_unlock( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
|
||||
/* mach64_bufs.c */
|
||||
extern int mach64_addbufs( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_mapbufs( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
|
||||
/* mach64_context.c */
|
||||
extern int mach64_resctx( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_addctx( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_modctx( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_getctx( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_switchctx( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_newctx( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
extern int mach64_rmctx( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
|
||||
extern int mach64_context_switch( drm_device_t *dev, int old, int new );
|
||||
extern int mach64_context_switch_complete( drm_device_t *dev, int new );
|
||||
|
||||
/* mach64_dma.c */
|
||||
extern int mach64_dma_init( struct inode *inode, struct file *filp,
|
||||
unsigned int cmd, unsigned long arg );
|
||||
|
|
|
|||
|
|
@ -309,7 +309,7 @@ static void mach64_dma_dispatch_vertex( drm_device_t *dev,
|
|||
if ( 0 )
|
||||
mach64_print_dirty( "dispatch_vertex", sarea_priv->dirty );
|
||||
|
||||
DRM_INFO( "idx = %u, offset=0x%08x, address=0x%08x, used=%u\n", buf->idx, buf->bus_address, buf->address, buf->used );
|
||||
/* DRM_INFO( "idx = %u, offset=0x%08x, address=0x%08x, used=%u\n", buf->idx, buf->bus_address, buf->address, buf->used ); */
|
||||
|
||||
if ( buf->used ) {
|
||||
#if 0
|
||||
|
|
@ -330,13 +330,13 @@ static void mach64_dma_dispatch_vertex( drm_device_t *dev,
|
|||
#endif
|
||||
|
||||
/* Emit the vertex buffer rendering commands */
|
||||
if (0) {
|
||||
unsigned * p = buf->address;
|
||||
unsigned used = buf->used >> 2;
|
||||
{
|
||||
u32 *p = (u32 *)((char *)dev_priv->buffers->handle + buf->offset);
|
||||
u32 used = buf->used >> 2;
|
||||
|
||||
while(used)
|
||||
{
|
||||
unsigned reg, count;
|
||||
u32 reg, count;
|
||||
|
||||
reg = *p & 0xffff;
|
||||
count = (*p >> 16) + 1;
|
||||
|
|
@ -346,11 +346,11 @@ static void mach64_dma_dispatch_vertex( drm_device_t *dev,
|
|||
|
||||
while(count && used)
|
||||
{
|
||||
unsigned data;
|
||||
u32 data;
|
||||
|
||||
data = *p;
|
||||
|
||||
/* MACH64_WRITE( reg, data ); */
|
||||
MACH64_WRITE( reg, data );
|
||||
|
||||
p++;
|
||||
used--;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue