Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
a71c8f6c
Commit
a71c8f6c
authored
Mar 23, 2003
by
Dave Jones
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] Bose sound support for cs4232 OSS driver.
parent
95bfe597
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
3 deletions
+41
-3
sound/oss/cs4232.c
sound/oss/cs4232.c
+41
-3
No files found.
sound/oss/cs4232.c
View file @
a71c8f6c
...
@@ -34,6 +34,8 @@
...
@@ -34,6 +34,8 @@
* anyway.
* anyway.
*
*
* Changes
* Changes
* John Rood Added Bose Sound System Support.
* Toshio Spoor
* Alan Cox Modularisation, Basic cleanups.
* Alan Cox Modularisation, Basic cleanups.
* Paul Barton-Davis Separated MPU configuration, added
* Paul Barton-Davis Separated MPU configuration, added
* Tropez+ (WaveFront) support
* Tropez+ (WaveFront) support
...
@@ -58,6 +60,10 @@
...
@@ -58,6 +60,10 @@
#define KEY_PORT 0x279
/* Same as LPT1 status port */
#define KEY_PORT 0x279
/* Same as LPT1 status port */
#define CSN_NUM 0x99
/* Just a random number */
#define CSN_NUM 0x99
/* Just a random number */
#define INDEX_ADDRESS 0x00
/* (R0) Index Address Register */
#define INDEX_DATA 0x01
/* (R1) Indexed Data Register */
#define PIN_CONTROL 0x0a
/* (I10) Pin Control */
#define ENABLE_PINS 0xc0
/* XCTRL0/XCTRL1 enable */
static
void
CS_OUT
(
unsigned
char
a
)
static
void
CS_OUT
(
unsigned
char
a
)
{
{
...
@@ -67,6 +73,7 @@ static void CS_OUT(unsigned char a)
...
@@ -67,6 +73,7 @@ static void CS_OUT(unsigned char a)
#define CS_OUT2(a, b) {CS_OUT(a);CS_OUT(b);}
#define CS_OUT2(a, b) {CS_OUT(a);CS_OUT(b);}
#define CS_OUT3(a, b, c) {CS_OUT(a);CS_OUT(b);CS_OUT(c);}
#define CS_OUT3(a, b, c) {CS_OUT(a);CS_OUT(b);CS_OUT(c);}
static
int
__initdata
bss
=
0
;
static
int
mpu_base
=
0
,
mpu_irq
=
0
;
static
int
mpu_base
=
0
,
mpu_irq
=
0
;
static
int
synth_base
=
0
,
synth_irq
=
0
;
static
int
synth_base
=
0
,
synth_irq
=
0
;
static
int
mpu_detected
=
0
;
static
int
mpu_detected
=
0
;
...
@@ -97,7 +104,31 @@ static void sleep(unsigned howlong)
...
@@ -97,7 +104,31 @@ static void sleep(unsigned howlong)
schedule_timeout
(
howlong
);
schedule_timeout
(
howlong
);
}
}
int
probe_cs4232
(
struct
address_info
*
hw_config
,
int
isapnp_configured
)
static
void
enable_xctrl
(
int
baseio
)
{
unsigned
char
regd
;
/*
* Some IBM Aptiva's have the Bose Sound System. By default
* the Bose Amplifier is disabled. The amplifier will be
* activated, by setting the XCTRL0 and XCTRL1 bits.
* Volume of the monitor bose speakers/woofer, can then
* be set by changing the PCM volume.
*
*/
printk
(
"cs4232: enabling Bose Sound System Amplifier.
\n
"
);
/* Switch to Pin Control Address */
regd
=
inb
(
baseio
+
INDEX_ADDRESS
)
&
0xe0
;
outb
(((
unsigned
char
)
(
PIN_CONTROL
|
regd
)),
baseio
+
INDEX_ADDRESS
);
/* Activate the XCTRL0 and XCTRL1 Pins */
regd
=
inb
(
baseio
+
INDEX_DATA
);
outb
(((
unsigned
char
)
(
ENABLE_PINS
|
regd
)),
baseio
+
INDEX_DATA
);
}
int
__init
probe_cs4232
(
struct
address_info
*
hw_config
,
int
isapnp_configured
)
{
{
int
i
,
n
;
int
i
,
n
;
int
base
=
hw_config
->
io_base
,
irq
=
hw_config
->
irq
;
int
base
=
hw_config
->
io_base
,
irq
=
hw_config
->
irq
;
...
@@ -218,7 +249,7 @@ int probe_cs4232(struct address_info *hw_config, int isapnp_configured)
...
@@ -218,7 +249,7 @@ int probe_cs4232(struct address_info *hw_config, int isapnp_configured)
return
0
;
return
0
;
}
}
void
attach_cs4232
(
struct
address_info
*
hw_config
)
void
__init
attach_cs4232
(
struct
address_info
*
hw_config
)
{
{
int
base
=
hw_config
->
io_base
,
int
base
=
hw_config
->
io_base
,
irq
=
hw_config
->
irq
,
irq
=
hw_config
->
irq
,
...
@@ -275,9 +306,14 @@ void attach_cs4232(struct address_info *hw_config)
...
@@ -275,9 +306,14 @@ void attach_cs4232(struct address_info *hw_config)
}
}
hw_config
->
slots
[
1
]
=
hw_config2
.
slots
[
1
];
hw_config
->
slots
[
1
]
=
hw_config2
.
slots
[
1
];
}
}
if
(
bss
)
{
enable_xctrl
(
base
);
}
}
}
static
void
unload_cs4232
(
struct
address_info
*
hw_config
)
static
void
__exit
unload_cs4232
(
struct
address_info
*
hw_config
)
{
{
int
base
=
hw_config
->
io_base
,
irq
=
hw_config
->
irq
;
int
base
=
hw_config
->
io_base
,
irq
=
hw_config
->
irq
;
int
dma1
=
hw_config
->
dma
,
dma2
=
hw_config
->
dma2
;
int
dma1
=
hw_config
->
dma
,
dma2
=
hw_config
->
dma2
;
...
@@ -349,6 +385,8 @@ MODULE_PARM(synthirq,"i");
...
@@ -349,6 +385,8 @@ MODULE_PARM(synthirq,"i");
MODULE_PARM_DESC
(
synthirq
,
"Maui WaveTable IRQ"
);
MODULE_PARM_DESC
(
synthirq
,
"Maui WaveTable IRQ"
);
MODULE_PARM
(
isapnp
,
"i"
);
MODULE_PARM
(
isapnp
,
"i"
);
MODULE_PARM_DESC
(
isapnp
,
"Enable ISAPnP probing (default 1)"
);
MODULE_PARM_DESC
(
isapnp
,
"Enable ISAPnP probing (default 1)"
);
MODULE_PARM
(
bss
,
"i"
);
MODULE_PARM_DESC
(
bss
,
"Enable Bose Sound System Support (default 0)"
);
/*
/*
* Install a CS4232 based card. Need to have ad1848 and mpu401
* Install a CS4232 based card. Need to have ad1848 and mpu401
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment