15 Jun, 2017
1 commit
-
According to commit b073ed4e2126 ("ASoC: soc-pcm: DPCM cares BE format"),
Current DPCM only care FE channel, but it will set unsupported channel to
drivers.
So add dpcm_merged_chan, which is used to merge the BE's codec
channels configuration to FE if it exist in snd_soc_dai_link. And
dpcm_runtime_base_chan function is to get the channel configuration of BE,
which likes the dpcm_runtime_base_format function.Signed-off-by: Shengjiu Wang
23 Feb, 2017
1 commit
-
cherry-pick below patch from imx_3.14.y
ENGR00307835-2 ASoC: dmaengine: Add two function for dmaengine_pcmAdd check_xrun and device_reset for dmaengine_pcm
Signed-off-by: Shengjiu Wang
(cherry picked from commit 405588f31e432e5c6634a0817e4d804ead87882b)
20 Jan, 2017
1 commit
-
commit 9e4d59ada4d602e78eee9fb5f898ce61fdddb446 upstream.
This is a fix for Linux 4.10-rc1.
In C language specification, a bit-field is interpreted as a signed or
unsigned integer type consisting of the specified number of bits.In GCC manual, the range of a signed bit field of N bits is from
-(2^N) / 2 to ((2^N) / 2) - 1
https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Bit-FieldsTherefore, when defined as 1 bit-field with signed type, variables can
represents -1 and 0.The snd-soc-hdmi-codec module includes a structure which has signed type
members with bit-fields. Codes of this module assign 0 and 1 to the
members. This seems to result in implementation-dependent behaviours.As of v4.10-rc1 merge window, outside of sound subsystem, this structure
is referred by below GPU modules.
- tda998x
- sti-drm
- mediatek-drm-hdmi
- msmAs long as I review their codes relevant to the structure, the structure
members are used just for condition statements and printk formats.
My proposal of change is a bit intrusive to the printk formats but this
may be acceptable.Totally, it's reasonable to use unsigned type for the structure members.
This bug is detected by Sparse, static code analyzer with below warnings../include/sound/hdmi-codec.h:39:26: error: dubious one-bit signed bitfield
./include/sound/hdmi-codec.h:40:28: error: dubious one-bit signed bitfield
./include/sound/hdmi-codec.h:41:29: error: dubious one-bit signed bitfield
./include/sound/hdmi-codec.h:42:31: error: dubious one-bit signed bitfieldFixes: 09184118a8ab ("ASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders")
Signed-off-by: Takashi Sakamoto
Acked-by: Arnaud Pouliquen
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman
01 Oct, 2016
1 commit
-
ASoC: Updates for v4.9
Apart from the cleanups done by Morimoto-san this has very much been a
driver focused release with very little generic change:- A big factoring out of the simple-card code to allow it to be shared
more with the rcar generic card from Kuninori Morimoto.
- Removal of some operations duplicated on the CODEC level, again by
Kuninori Morimoto.
- Lots more machine support for x86 systems.
- New drivers for Nuvoton NAU88C10, Realtek RT5660 and RT5663.
30 Sep, 2016
6 commits
-
…/topic/stac9766', 'asoc/topic/sti' and 'asoc/topic/sunxi' into asoc-next
-
…opic/rt5677' and 'asoc/topic/samsung' into asoc-next
-
…/topic/omap' and 'asoc/topic/platform-drvdata' into asoc-next
-
…c/topic/dpcm' into asoc-next
-
…ic/arizona', 'asoc/topic/atmel' and 'asoc/topic/codec-component' into asoc-next
27 Sep, 2016
1 commit
-
Currently if AAD is enabled in the device, during system suspend
the feature remains, regardless of whether the codec is a wake-up
source or not. This means some additional power is being used
which is unnecessary, and can causes issues with some platforms'
IRQ handlers where state changes during system suspend aren't
captured.This patch updates the driver to disable AAD during suspend, if
we're not a wake-up source, and then re-enables this on resume.Signed-off-by: Adam Thomson
Signed-off-by: Mark Brown
26 Sep, 2016
1 commit
-
In commit bf1d1c9b6179 ("ALSA: tlv: add DECLARE_TLV_DB_RANGE()"), the new
macro was added so that "dB range information can be specified without
having to count the items manually for TLV_DB_RANGE_HEAD()". In short,
TLV_DB_RANGE_HEAD macro was obsoleted.In commit 46e860f76804 ("ALSA: rename TLV-related macros so that they're
friendly to user applications"), TLV-related macros are exposed for
applications in user land to get content of data structured by
Type/Length/Value shape. The commit managed to expose TLV-related macros
as many as possible, while obsoleted TLV_DB_RANGE_HEAD() was included to
the list of exposed macros.This situation brings some confusions to application developers because
they might think all exposed macros have their own purpose and useful for
applications.For the reason, this commit moves TLV_DB_RANGE_HEAD macro from UAPI header
to a header for kernel land, again. The above commit is done within the
same development period for kernel 4.9, thus not published yet. This
commit might certainly brings no confusions to user land.Reference: commit bf1d1c9b6179 ("ALSA: tlv: add DECLARE_TLV_DB_RANGE()")
Reference: commit 46e860f76804 ("ALSA: rename TLV-related macros so that they're friendly to user applications")
Signed-off-by: Takashi Sakamoto
Signed-off-by: Takashi Iwai
25 Sep, 2016
1 commit
-
This is the initial codec driver for rt5660
Signed-off-by: Oder Chiou
Signed-off-by: Mark Brown
15 Sep, 2016
2 commits
-
In a previous commit, some macros newly appeared to UAPI header for TLV
packet. These macros have short names and they easily bring name conflist
to applications. The conflict can be avoided to rename them with a proper
prefix.For this purpose, this commit renames these macros with prefix
'SNDRV_CTL_TLVD_'.Signed-off-by: Takashi Sakamoto
Signed-off-by: Takashi Iwai -
In ALSA control interface, each element set can have threshold level
information. This information is transferred between drivers/applications,
in a shape of tlv packet. The layout of this packet is defined in
'uapi/sound/asound.h' (struct snd_ctl_tlv):struct snd_ctl_tlv {
unsigned int numid;
unsigned int length;
unsigned int tlv[0];
};Data in the payload (struct snd_ctl_tlv.tlv) is expected to be filled
according to our own protocol. This protocol is described in
'include/sound/tlv.h'. A layout of the payload is expected as:struct snd_ctl_tlv.tlv[0]: one of SNDRV_CTL_TLVT_XXX
struct snd_ctl_tlv.tlv[1]: Length of data
struct snd_ctl_tlv.tlv[2...]: dataUnfortunately, the macro is not exported to user land yet, thus
applications cannot get to know the protocol.Additionally, ALSA control core has a feature called as 'user-defined'
element set. This allows applications to add/remove arbitrary element sets
with elements to control devices. Elements in the element set can be
operated by the same way as the ones added by in-kernel implementation.For threshold level information of 'user-defined' element set, applications
need to register the information to an element set. However, as described
above, layout of the payload is closed in kernel land. This is quite
inconvenient, too.This commit moves the protocol to UAPI header for TLV.
Signed-off-by: Takashi Sakamoto
Signed-off-by: Takashi Iwai
24 Aug, 2016
2 commits
-
asoc_simple_card_set_dailink_name() uses devm_kvasprintf() to format
some of its arguments. Adding a __printf attribute to this function
makes it possible to detect at compile-time errors related to format
strings.Signed-off-by: Nicolas Iooss
Signed-off-by: Mark Brown -
…onie/sound into asoc-rcar
11 Aug, 2016
2 commits
-
simple-card needs to decrease the reference count of the device nodes.
This patch makes this method simple style standard.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
simple-card needs remove dai_link->cpu_dai_name if it CPU was
single DAI.
This patch makes this method simple style standard.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown
09 Aug, 2016
6 commits
-
simple-card is assuming that sometimes platform and cpu are same.
This patch makes this method simple style standard.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
simple-card is supporting clock/tdm slot initialization.
This patch makes this method simple style standard.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
snd_soc_pcm_set_drvdata() will set driver data to rtd->dev,
but driver data of rtd->dev is already used as "rtd" on
soc_post_component_init().static int soc_post_component_init(xxx)
{
...
dev_set_drvdata(rtd->dev, rtd);
...
}To remove confusion, this patch removes snd_soc_pcm_set/get_drvdata().
Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
Skylake onwards HDA controller supports new capabilities like
Global Time Stamping (GTS) capability. So add support to parse
these new capabilities.Signed-off-by: Guneshwor Singh
Signed-off-by: Hardik T Shah
Signed-off-by: Vinod Koul
Signed-off-by: Takashi Iwai -
Remove the unused one as we have moved it up to hdac core.
Signed-off-by: Vinod Koul
Signed-off-by: Takashi Iwai -
HDA capability introduced recently are move to hdac core so that it can
be used by legacy driver as well. Also move the capability pointers up
to hdac_bus object.Signed-off-by: Vinod Koul
Signed-off-by: Takashi Iwai
08 Aug, 2016
5 commits
-
codec driver and component driver has duplicated callback functions,
and codec side functions are just copied to component side when
register timing. This was quick-hack, but no longer needed.
This patch removes codec side duplicated callback function.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
The power() callback has always been empty so just remove it.
Signed-off-by: Sylwester Nawrocki
Signed-off-by: Mark Brown -
This adds aptional GPIO bit-bang based callback implementations
for setting CLK, DATA and MODE L3 bus lines. It is added here
to avoid possible duplicate implementations across users of
the bus.Signed-off-by: Sylwester Nawrocki
Signed-off-by: Mark Brown -
simple-card needs to get its dai name and endpoint node.
This patch makes it simple style standardSigned-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
Current simple-card can get clock via DT clocks or
"system-clock-frequency" property.
This patch makes it simple style standardSigned-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown
02 Aug, 2016
1 commit
-
Merge drm updates from Dave Airlie:
"This is the main drm pull request for 4.8.I'm down with a cold at the moment so hopefully this isn't in too bad
a state, I finished pulling stuff last week mostly (nouveau fixes just
went in today), so only this message should be influenced by illness.
Apologies to anyone who's major feature I missed :-)Core:
Lockless GEM BO freeing
Non-blocking atomic work
Documentation changes (rst/sphinx)
Prep for new fencing changes
Simple display helpers
Master/auth changes
Register/unregister rework
Loads of trivial patches/fixes.New stuff:
ARM Mali display driver (not the 3D chip)
sii902x RGB->HDMI bridgePanel:
Support for new panels
Improved backlight supportBridge:
Convert ADV7511 to bridge driver
ADV7533 support
TC358767 (DSI/DPI to eDP) encoder chip supporti915:
BXT support enabled by default
GVT-g infrastructure
GuC command submission and fixes
BXT workarounds
SKL/BKL workarounds
Demidlayering device registration
Thundering herd fixes
Missing pci ids
Atomic updatesamdgpu/radeon:
ATPX improvements for better dGPU power control on PX systems
New power features for CZ/BR/ST
Pipelined BO moves and evictions in TTM
GPU scheduler improvements
GPU reset improvements
Overclocking on dGPUs with amdgpu
Polaris powermanagement enablednouveau:
GK20A/GM20B volt and clock improvements.
Initial support for GP100/GP104 GPUs, GP104 will not yet support
acceleration due to NVIDIA having not released firmware for them as of yet.exynos:
Exynos5433 SoC with IOMMU support.vc4:
Shader validation for branchingimx-drm:
Atomic mode setting conversion
Reworked DMFC FIFO allocation
External bridge supportanalogix-dp:
RK3399 eDP support
Lots of fixes.rockchip:
Lots of small fixes.msm:
DT bindings cleanups
Shrinker and madvise support
ASoC HDMI codec supporttegra:
Host1x driver cleanups
SOR reworking for DP support
Runtime PM supportomapdrm:
PLL enhancements
Header refactoring
Gamma table supportarcgpu:
Simulator supportvirtio-gpu:
Atomic modesetting fixes.rcar-du:
Misc fixes.mediatek:
MT8173 HDMI supportsti:
ASOC HDMI codec support
Minor fixesfsl-dcu:
Suspend/resume support
Bridge supportamdkfd:
Minor fixes.etnaviv:
Enable GPU clock gatinghisilicon:
Vblank and other fixes"* tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux: (1575 commits)
drm/nouveau/gr/nv3x: fix instobj write offsets in gr setup
drm/nouveau/acpi: fix lockup with PCIe runtime PM
drm/nouveau/acpi: check for function 0x1B before using it
drm/nouveau/acpi: return supported DSM functions
drm/nouveau/acpi: ensure matching ACPI handle and supported functions
drm/nouveau/fbcon: fix font width not divisible by 8
drm/amd/powerplay: remove enable_clock_power_gatings_tasks from initialize and resume events
drm/amd/powerplay: move clockgating to after ungating power in pp for uvd/vce
drm/amdgpu: add query device id and revision id into system info entry at CGS
drm/amdgpu: add new definition in bif header
drm/amd/powerplay: rename smum header guards
drm/amdgpu: enable UVD context buffer for older HW
drm/amdgpu: fix default UVD context size
drm/amdgpu: fix incorrect type of info_id
drm/amdgpu: make amdgpu_cgs_call_acpi_method as static
drm/amdgpu: comment out unused defaults_staturn_pro static const structure to fix the build
drm/amdgpu: enable UVD VM only on polaris
drm/amdgpu: increase timeout of IB test
drm/amdgpu: add destroy session when generate VCE destroy msg.
drm/amd: fix deadlock of job_list_lock V2
...
25 Jul, 2016
6 commits
-
…opic/rt5670' and 'asoc/topic/s8' into asoc-next
-
…pic/rockchip' into asoc-next
-
…topic/maintainers' and 'asoc/topic/max8960' into asoc-next
-
…wc' and 'asoc/topic/fsl' into asoc-next
-
…opic/bt-sco', 'asoc/topic/compress' and 'asoc/topic/cs35l33' into asoc-next
-
…opic/adsp', 'asoc/topic/ak4613' and 'asoc/topic/ak4642' into asoc-next
16 Jul, 2016
2 commits
-
simple-card needs to get its card name.
This patch makes this method simple style standard.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown -
Current simple-card is creating dai_link->name / dai_link->stream_name.
These are based on CPU + Codec name, or "fe.CPU" or "be.Codec" if it
was DPCM.
This patch adds asoc_simple_card_set_dailink_name() and set dailink
name as common method.Signed-off-by: Kuninori Morimoto
Signed-off-by: Mark Brown
05 Jul, 2016
1 commit
-
This is useful outside the core, when one dapm element is added
at a time.Signed-off-by: Subhransu S. Prusty
Signed-off-by: Vinod Koul
Signed-off-by: Mark Brown