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
90fbeb0c
Commit
90fbeb0c
authored
Sep 18, 2018
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'asoc-4.19' into asoc-4.20 for rt5682 deps.
parents
bf0fa00f
3f24f37a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
23 deletions
+24
-23
include/sound/hdaudio.h
include/sound/hdaudio.h
+1
-0
sound/hda/hdac_controller.c
sound/hda/hdac_controller.c
+10
-5
sound/soc/codecs/rt5514-spi.c
sound/soc/codecs/rt5514-spi.c
+8
-6
sound/soc/codecs/rt5682.c
sound/soc/codecs/rt5682.c
+0
-5
sound/soc/intel/skylake/skl.c
sound/soc/intel/skylake/skl.c
+5
-7
No files found.
include/sound/hdaudio.h
View file @
90fbeb0c
...
...
@@ -412,6 +412,7 @@ void snd_hdac_bus_init_cmd_io(struct hdac_bus *bus);
void
snd_hdac_bus_stop_cmd_io
(
struct
hdac_bus
*
bus
);
void
snd_hdac_bus_enter_link_reset
(
struct
hdac_bus
*
bus
);
void
snd_hdac_bus_exit_link_reset
(
struct
hdac_bus
*
bus
);
int
snd_hdac_bus_reset_link
(
struct
hdac_bus
*
bus
,
bool
full_reset
);
void
snd_hdac_bus_update_rirb
(
struct
hdac_bus
*
bus
);
int
snd_hdac_bus_handle_stream_irq
(
struct
hdac_bus
*
bus
,
unsigned
int
status
,
...
...
sound/hda/hdac_controller.c
View file @
90fbeb0c
...
...
@@ -40,6 +40,8 @@ static void azx_clear_corbrp(struct hdac_bus *bus)
*/
void
snd_hdac_bus_init_cmd_io
(
struct
hdac_bus
*
bus
)
{
WARN_ON_ONCE
(
!
bus
->
rb
.
area
);
spin_lock_irq
(
&
bus
->
reg_lock
);
/* CORB set up */
bus
->
corb
.
addr
=
bus
->
rb
.
addr
;
...
...
@@ -383,7 +385,7 @@ void snd_hdac_bus_exit_link_reset(struct hdac_bus *bus)
EXPORT_SYMBOL_GPL
(
snd_hdac_bus_exit_link_reset
);
/* reset codec link */
static
int
azx_reset
(
struct
hdac_bus
*
bus
,
bool
full_reset
)
int
snd_hdac_bus_reset_link
(
struct
hdac_bus
*
bus
,
bool
full_reset
)
{
if
(
!
full_reset
)
goto
skip_reset
;
...
...
@@ -408,7 +410,7 @@ static int azx_reset(struct hdac_bus *bus, bool full_reset)
skip_reset:
/* check to see if controller is ready */
if
(
!
snd_hdac_chip_readb
(
bus
,
GCTL
))
{
dev_dbg
(
bus
->
dev
,
"
azx_reset:
controller not ready!
\n
"
);
dev_dbg
(
bus
->
dev
,
"controller not ready!
\n
"
);
return
-
EBUSY
;
}
...
...
@@ -423,6 +425,7 @@ static int azx_reset(struct hdac_bus *bus, bool full_reset)
return
0
;
}
EXPORT_SYMBOL_GPL
(
snd_hdac_bus_reset_link
);
/* enable interrupts */
static
void
azx_int_enable
(
struct
hdac_bus
*
bus
)
...
...
@@ -477,15 +480,17 @@ bool snd_hdac_bus_init_chip(struct hdac_bus *bus, bool full_reset)
return
false
;
/* reset controller */
azx_reset
(
bus
,
full_reset
);
snd_hdac_bus_reset_link
(
bus
,
full_reset
);
/*
initialize
interrupts */
/*
clear
interrupts */
azx_int_clear
(
bus
);
azx_int_enable
(
bus
);
/* initialize the codec command I/O */
snd_hdac_bus_init_cmd_io
(
bus
);
/* enable interrupts after CORB/RIRB buffers are initialized above */
azx_int_enable
(
bus
);
/* program the position buffer */
if
(
bus
->
use_posbuf
&&
bus
->
posbuf
.
addr
)
{
snd_hdac_chip_writel
(
bus
,
DPLBASE
,
(
u32
)
bus
->
posbuf
.
addr
);
...
...
sound/soc/codecs/rt5514-spi.c
View file @
90fbeb0c
...
...
@@ -91,6 +91,14 @@ static void rt5514_spi_copy_work(struct work_struct *work)
runtime
=
rt5514_dsp
->
substream
->
runtime
;
period_bytes
=
snd_pcm_lib_period_bytes
(
rt5514_dsp
->
substream
);
if
(
!
period_bytes
)
{
schedule_delayed_work
(
&
rt5514_dsp
->
copy_work
,
5
);
goto
done
;
}
if
(
rt5514_dsp
->
buf_size
%
period_bytes
)
rt5514_dsp
->
buf_size
=
(
rt5514_dsp
->
buf_size
/
period_bytes
)
*
period_bytes
;
if
(
rt5514_dsp
->
get_size
>=
rt5514_dsp
->
buf_size
)
{
rt5514_spi_burst_read
(
RT5514_BUFFER_VOICE_WP
,
(
u8
*
)
&
buf
,
...
...
@@ -149,13 +157,11 @@ static void rt5514_spi_copy_work(struct work_struct *work)
static
void
rt5514_schedule_copy
(
struct
rt5514_dsp
*
rt5514_dsp
)
{
size_t
period_bytes
;
u8
buf
[
8
];
if
(
!
rt5514_dsp
->
substream
)
return
;
period_bytes
=
snd_pcm_lib_period_bytes
(
rt5514_dsp
->
substream
);
rt5514_dsp
->
get_size
=
0
;
/**
...
...
@@ -183,10 +189,6 @@ static void rt5514_schedule_copy(struct rt5514_dsp *rt5514_dsp)
rt5514_dsp
->
buf_size
=
rt5514_dsp
->
buf_limit
-
rt5514_dsp
->
buf_base
;
if
(
rt5514_dsp
->
buf_size
%
period_bytes
)
rt5514_dsp
->
buf_size
=
(
rt5514_dsp
->
buf_size
/
period_bytes
)
*
period_bytes
;
if
(
rt5514_dsp
->
buf_base
&&
rt5514_dsp
->
buf_limit
&&
rt5514_dsp
->
buf_rp
&&
rt5514_dsp
->
buf_size
)
schedule_delayed_work
(
&
rt5514_dsp
->
copy_work
,
0
);
...
...
sound/soc/codecs/rt5682.c
View file @
90fbeb0c
...
...
@@ -749,7 +749,6 @@ static bool rt5682_readable_register(struct device *dev, unsigned int reg)
}
}
static
const
DECLARE_TLV_DB_SCALE
(
hp_vol_tlv
,
-
2250
,
150
,
0
);
static
const
DECLARE_TLV_DB_SCALE
(
dac_vol_tlv
,
-
6525
,
75
,
0
);
static
const
DECLARE_TLV_DB_SCALE
(
adc_vol_tlv
,
-
1725
,
75
,
0
);
static
const
DECLARE_TLV_DB_SCALE
(
adc_bst_tlv
,
0
,
1200
,
0
);
...
...
@@ -1108,10 +1107,6 @@ static void rt5682_jack_detect_handler(struct work_struct *work)
}
static
const
struct
snd_kcontrol_new
rt5682_snd_controls
[]
=
{
/* Headphone Output Volume */
SOC_DOUBLE_R_TLV
(
"Headphone Playback Volume"
,
RT5682_HPL_GAIN
,
RT5682_HPR_GAIN
,
RT5682_G_HP_SFT
,
15
,
1
,
hp_vol_tlv
),
/* DAC Digital Volume */
SOC_DOUBLE_TLV
(
"DAC1 Playback Volume"
,
RT5682_DAC1_DIG_VOL
,
RT5682_L_VOL_SFT
+
1
,
RT5682_R_VOL_SFT
+
1
,
86
,
0
,
dac_vol_tlv
),
...
...
sound/soc/intel/skylake/skl.c
View file @
90fbeb0c
...
...
@@ -908,11 +908,15 @@ static int skl_first_init(struct hdac_bus *bus)
return
-
ENXIO
;
}
s
kl_init_chip
(
bus
,
true
);
s
nd_hdac_bus_reset_link
(
bus
,
true
);
snd_hdac_bus_parse_capabilities
(
bus
);
if
(
skl_acquire_irq
(
bus
,
0
)
<
0
)
return
-
EBUSY
;
pci_set_master
(
pci
);
synchronize_irq
(
bus
->
irq
);
gcap
=
snd_hdac_chip_readw
(
bus
,
GCAP
);
dev_dbg
(
bus
->
dev
,
"chipset global capabilities = 0x%x
\n
"
,
gcap
);
...
...
@@ -945,12 +949,6 @@ static int skl_first_init(struct hdac_bus *bus)
if
(
err
<
0
)
return
err
;
err
=
skl_acquire_irq
(
bus
,
0
);
if
(
err
<
0
)
return
err
;
synchronize_irq
(
bus
->
irq
);
/* initialize chip */
skl_init_pci
(
skl
);
...
...
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