Google
 

Open Sound System
The Hitchhiker's Guide to OSS 4.1 Internals

Do you have problems with sound/audio application development? Don't panic! Click here for help!

oss_via823x/via8233.h

Definitions for the via8233 driver

Description




This file is part of Open Sound System.

Copyright (C) 4Front Technologies 1996-2008.

This this source file is released under GPL v2 license (no other versions). See the COPYING file included in the main directory of this source distribution for the license terms and conditions.

#define VIA_VENDOR_ID		0x1106
#define VIA_8233_ID		0x3059
#define VIA_8233A_ID		0x7059

#define PLAY_SGD_NUM		1
#define REC_SGD_NUM		0
#define MAX_ENGINES		2
#define MAX_PORTC		2

#define SGD_SIZE		256
#define SGD_ALLOC		4096
#define SGD_EOL			0x80000000
#define SGD_FLAG		0x40000000

#define CODEC_TIMEOUT_COUNT     500
#define AC97CODEC     0x80	/*Access AC97 Codec */
#define IN_CMD        0x01000000	/*busy in sending */
#define STA_VALID     0x02000000	/*1:status data is valid */
#define CODEC_RD      0x00800000	/*Read CODEC status */
#define CODEC_INDEX   0x007F0000	/*Index of command register to access */
#define CODEC_DATA    0x0000FFFF	/*AC97 status register data */

typedef struct
{
  unsigned int phaddr;
  unsigned int flags;
}
SGD_entry;

struct via8233_portc;

typedef struct
{
  int sgd_num, base;
  oss_dma_handle_t sgd_dma_handle;
  int mode;
  SGD_entry *sgd;
  oss_native_word sgd_phys;
  int sgd_ptr;
  int prev_sgd;
  int cfrag;
  unsigned int prevpos;
  short frags[SGD_SIZE];
  struct via8233_portc *portc;
}
engine_desc;

typedef struct via8233_portc
{
  int audiodev;
  int open_mode;
  int mode_mask;
  int speed, bits, channels;
  engine_desc *play_engine, *rec_engine;
  int trigger_bits;
  int audio_enabled;
}
via8233_portc;


typedef struct via8233_devc
{
  oss_device_t *osdev;
  int chip_type;
#define CHIP_8233	0
#define CHIP_8233A	1
  char *chip_name;
  int multi_channel_active;
  oss_native_word base;
  int irq;
  int open_mode;
  oss_mutex_t mutex;		/* For normal locking */
  oss_mutex_t low_mutex;	/* For low level routines */

Mixer

  ac97_devc ac97devc;
  int mixer_dev;

  via8233_portc portc[MAX_PORTC];
  engine_desc engines[MAX_ENGINES];
}
via8233_devc;

Copyright (C) 4Front Technologies, 2007. All rights reserved.

Back to index OSS web site


Copyright (C) 4Front Technologies, 2007. All rights reserved.
Back to index OSS web site