2003-09-18 Martin K. Petersen * forte.c: Use C99 initializers. (forte_channel_init): Set up frag size before calling reset. (forte_dsp_ioctl): Proper copy_to_user() return values. (forte_channel_free): Fix mem_map_unreserve() bug. 2003-02-28 Martin K. Petersen * forte.c (forte_channel_drain): Fixed race caused by a reset channel being drained. 2003-02-27 Martin K. Petersen * forte.c (forte_dsp_write): Handle partial fragments. 2003-02-15 Martin K. Petersen * forte.c (forte_dsp_poll): Fix poll. (forte_interrupt): Always trigger wait queues upon exit. (forte_dsp_write): Massaged dsp_write a bit. (forte_dsp_ioctl): Fix GETODELAY with passive channel. Confused the hell out of ogle. 2003-02-12 Martin K. Petersen * forte.c (forte_channel_buffer): Dynamic buffering depending on fragment size, sample width, etc. (forte_channel_init): New fragment defaults to be in accordance with OSS spec: Many apps (including Quake) require 256 byte frags: #define FORTE_MIN_FRAG_SIZE 256 We set the default to 256 too. Apps start breaking at 512, sadly: #define FORTE_DEF_FRAG_SIZE 256 Required by OSS spec: #define FORTE_MIN_FRAGMENTS 2 Would like it higher but some apps break if it is bigger than 8 bits: #define FORTE_MAX_FRAGMENTS 256 (forte_proc_read): Export internal buffering values through /proc. (forte_dsp_write): Fix bug that caused skipping on resume. Postpone playback till entire buffer written or out of frags. (forte_interrupt): Stop reading baloney progress values from chip. Always increment by frag_sz upon interrupt. When running low on buffers, pause the chip instead of stopping it. (forte_channel_stop): Always make stop a hard stop. 2002-10-01 Martin K. Petersen * forte.c: Fix 16-bit/8-bit bug. 2002-10-01 Martin K. Petersen * forte.c: Rename 16-bit only flag. (forte_proc_init): Implement /proc status info. (forte_channel_init): Sync register status with chip. 2002-09-24 Martin K. Petersen * forte.c: Make 16-bit only operation a compile toggle. 2002-09-17 Martin K. Petersen * forte.c (forte_channel_rate): Don't return -EINVAL on unsupported frequencies but pick the one closest to what the user requests. (forte_dsp_ioctl): Add the three SOUND_PCM ioctls. 2002-08-26 Martin K. Petersen * forte.c: From Alan Cox: cpu_relax() in ac97_wait 2002-08-25 Martin K. Petersen * forte.c: From Alan Cox: Made printk()s users can trigger DPRINTK spin_lock_irq -> spin_lock in forte_interrupt() Moved copy_*_user() outside ->lock in _write and _read. Turned recording back on. 2002-04-08 Martin K. Petersen * forte.c: Initial DAC work. 2002-04-07 Martin K. Petersen * forte.c: Got the AC97 codec chatting.