15 Dec, 2014
1 commit
-
Set SNDRV_PCM_HW_PARAM_BUFFER_BYTES contraint that matches with
SNDRV_PCM_HW_PARAM_PERIOD_BYTES constraint.For some reason setting the hw params with snd_pcm_hw_params_*_near()
functions sometimes fails if the period bytes constraint is set
without a matching buffer bytes constraint.Signed-off-by: Jyri Sarha
13 Nov, 2014
4 commits
-
The HDMI sound uses a simple card created programatically, so
the preferred card id cannot be passed through an alias via DT.
The card id hint is taken from the HDMI HW IP's alias instead,
which does have a DT entry.Signed-off-by: Misael Lopez Cruz
-
The card id hint for the DT case is covered by ASoC core, so
id hint for the non-DT case has to be explicitly handled by
the simple card driver.Signed-off-by: Misael Lopez Cruz
-
Pass a card id hint through the device-tree alias in order to
provide preferred card order othen than probe() order.Signed-off-by: Misael Lopez Cruz
Signed-off-by: Peter Ujfalusi -
Via slots_reserved module param array one can specify which card slots
should not be considered when assigning card slots automatically.
These reserved slots can only be taken if a card driver specifically
requests the slot via snd_card_create().Signed-off-by: Peter Ujfalusi
10 Nov, 2014
17 commits
-
An underrun (playback) event occurs when the serializer transfer
data from the XRBUF buffer to the XRSR shift register, but the
XRBUF hasn't been filled. Similarly, the overrun (capture) event
occurs when data from the XRSR shift register is transferred to
the XRBUF but it hasn't been read yet.These events are handled as XRUN events that cause the pcm to stop.
The stream has to be explicitly restarted by the userspace which
ensures that after stopping/starting McASP the data transfer is
aligned with DMA. The other possibility was to internally stop and
start McASP without DMA even knowing about it.Signed-off-by: Misael Lopez Cruz
Signed-off-by: Peter Ujfalusi -
When the bus is configured to have more BCLK then the data type demands we
need to use the rotation to move the data to correct place.Reported-by: Misael Lopez Cruz
Signed-off-by: Peter Ujfalusi -
In IIS mode the tx and rx configuration is symmetric, the BCLK and FSYNC is
shared.Signed-off-by: Peter Ujfalusi
-
Active slots count depends on the number of channels in the stream
and the number of active serializers. Each serializer will handle
at most the number of channels specified via 'tdm-slots' parameter
in DT.There are two possible scenarios:
- Single serializer: channel count fits in the max slots supported by
McASP serializers, active slots is same as channel count- Multiple serializers: channel count is bigger than max slots supported
by a serializer. Channel count determines how many serializers are
needed at their max slot count configurationSigned-off-by: Misael Lopez Cruz
Signed-off-by: Peter Ujfalusi -
In IIS (I2S, TDM, etc) mode the maximum number of allowed channels for
either direction can be:
number of serializers for the direction * tdm_slots.
This constraint applicable for the first stream, while consequent stream
should not have more channels then the first stream.Signed-off-by: Peter Ujfalusi
-
Instead of validating the tdm_slots parameter every time at hw_params we
can do it once during probe. If the parameter is not valid (32)
print an error and fix it up.Signed-off-by: Peter Ujfalusi
-
TDM support is achieved using DSP transfer mode and setting a
programmable offset which specifies where data begins with
respect to the frame sync.It requires 256-clock mode if CODEC is master (not currently
supported in the driver). No additional dependency if CODEC
is slave.Signed-off-by: Misael Lopez Cruz
Signed-off-by: Peter Ujfalusi -
Output driver has two parameters that can be configured to reduce
pop noise: power-on delay and ramp-up step time. Two new kcontrols
have been added to set these parameters.Signed-off-by: Misael Lopez Cruz
Signed-off-by: Peter Ujfalusi -
[ Upstream commit bb372af0f7040fb637bfe0859aaa0ba49018506b ]
In this way the start code for tx/rx going to be located at the same place.
Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
[ Upstream commit 0380866a9131646787dc60d19a6d5d2c22dffdd1 ]
The AFIFO should not be stopped (or started for that matter) when McASP is
running since it can cause unpredictable issues because we are switching off
AFIFO for the direction which was handling the requests from McASP and was
generating DMA request toward the system DMA.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
[ Upstream commit 4498273551d4e27c93d3585bc7e4676623c46da8 ]
Follow the sequence described in the TRMs when starting RX.
Write to RXBUF register was not correct and there is no need to release the
RX state machine/Receive frame sync generator twice.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
[ Upstream commit 36bcecd0a73eb4a11c9748bc96c2d254d5364d12 ]
Follow the sequence described in the TRMs when starting TX. This sequence
will make sure that we are not facing with initial channel swap caused by
no data available in McASP for transmit.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
[ Upstream commit 96665e312940a0915e74a98cf75938a57d12c723 ]
In order to show the option under 'CODEC drivers' we need to have text in
Kconfig.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
[ Upstream commit a9ef83f287b63ec8a753a3a7c6eac124f708544b ]
The codec can be configured via I2C and using regmap_i2c.
Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
[ Upstream commit 4d1a77224bac47c994ecdc776f0c09c9a0ed9d49 ]
Now they're visible they get a bit noisy.
Signed-off-by: Mark Brown
-
[ Upstream commit 1291e14175e6b83efe1464f32189acb21bc4be09 ]
Now that we have a generic card driver we can't rely on the card driver
selecting the CODECs for us so make the CODECs that can be enabled with
OF directly selectable in Kconfig. For the platforms not using OF it's
not clear that we don't still want to have some board specific selection
since the kernel needs to contain code to register the devices; ACPI could
provide this from firmware does not yet support any kind of generic card.It may also be desirable to hide these if OF is not enabled to reduce
noise.Signed-off-by: Mark Brown
-
[ Upstream commit 37119dd791f3195ab35cb3b9cccec94bdc709c57 ]
In order to be able to use simple-card with McASP on TI SoC based boards we
need to be able to select the McASP via menuconfig.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown
30 Sep, 2014
1 commit
-
If the board is suspended to a deep sleep state McASP is going to loose it's
context. We also need to save and restore the configuration of the McASP
serializers.
Since the number of serializers depend on the SoC we need to allocate the
memory for them dynamically.Signed-off-by: Peter Ujfalusi
Signed-off-by: Darren Etheridge
25 Sep, 2014
1 commit
-
We need to save and restore more registers than what we do right now in
order to be able to have the same configuration before the suspend.[detheridge@ti.com - fixed up checkpatch warning in orig patch]
Signed-off-by: Peter Ujfalusi
Signed-off-by: Darren Etheridge
18 Sep, 2014
11 commits
-
…nux-stable into ti-linux-3.14.y
This is the 3.14.19 stable release
* tag 'v3.14.19' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (114 commits)
Linux 3.14.19
KEYS: Fix termination condition in assoc array garbage collection
KEYS: Fix use-after-free in assoc_array_gc()
libceph: gracefully handle large reply messages from the mon
vfs: fix bad hashing of dentries
drm/nouveau: Bump version from 1.1.1 to 1.1.2
IB/srp: Fix deadlock between host removal and multipathd
mtd: nand: omap: Fix 1-bit Hamming code scheme, omap_calculate_ecc()
mtd/ftl: fix the double free of the buffers allocated in build_maps()
CIFS: Fix wrong restart readdir for SMB1
CIFS: Fix wrong filename length for SMB2
CIFS: Fix directory rename error
vfs: add d_is_dir()
CIFS: Fix wrong directory attributes after rename
CIFS: Possible null ptr deref in SMB2_tcon
CIFS: Fix async reading on reconnects
CIFS: Fix STATUS_CANNOT_DELETE error mapping for SMB2
libceph: do not hard code max auth ticket len
libceph: add process_one_ticket() helper
libceph: set last_piece in ceph_msg_data_pages_cursor_init() correctly
...Signed-off-by: Dan Murphy <DMurphy@ti.com>
-
commit f4821e8e8e957fe4c601a49b9a97b7399d5f7ab1 upstream.
Debugging showed Realtek RT5642 doesn't support autoincrementing writes so
driver should set the use_single_rw flag for regmap.Signed-off-by: Jarkko Nikula
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit 9301503af016eb537ccce76adec0c1bb5c84871e upstream.
This mode is unsupported, as the DMA controller can't do zero-padding
of samples.Signed-off-by: Daniel Mack
Reported-by: Johannes Stezenbach
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit 4548728981de259d7d37d0ae968a777b09794168 upstream.
There is a small memory leak if probe() fails.
Fixes: 2023c90c3a2c ('ASoC: pxa: pxa-ssp: add DT bindings')
Signed-off-by: Dan Carpenter
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit 4adeb0ccf86a5af1825bbfe290dee9e60a5ab870 upstream.
max98090.c doesn't free the threaded interrupt it requests. This causes
an oops when doing "cat /proc/interrupts" after snd-soc-max98090.ko is
unloaded.Fix this by requesting the interrupt by using devm_request_threaded_irq().
Signed-off-by: Jarkko Nikula
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit 3ad80b828b2533f37c221e2df155774efd6ed814 upstream.
Fix a long standing bug in the read register routing of adau1701.
The bytes arrive in the buffer in big-endian, so the result has to be
shifted before and-ing the bytes in the loop.Signed-off-by: Daniel Mack
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit d3d4e5247b013008a39e4d5f69ce4c60ed57f997 upstream.
We should save/restore relevant I2S registers regardless of
the dai->active flag, otherwise some settings are being lost
after system suspend/resume cycle. E.g. I2S slave mode set only
during dai initialization is not preserved and the device ends
up in master mode after system resume.Signed-off-by: Sylwester Nawrocki
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit 30443408fd7201fd1911b09daccf92fae3cc700d upstream.
The third parameter for snd_pcm_format_set_silence needs the number
of samples instead of sample bytes.Signed-off-by: Scott Jiang
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit 0a37c6efec4a2fdc2563c5a8faa472b814deee80 upstream.
Since MODULE_LICENSE is missing the module load fails,
so add this for module.Signed-off-by: Praveen Diwakar
Signed-off-by: Vinod Koul
Reviewed-by: Charles Keepax
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit 7ed9de76ff342cbd717a9cf897044b99272cb8f8 upstream.
we need to release dapm widget list after dpcm_path_get in
soc_dpcm_runtime_update. otherwise, there will be potential memory
leak. add dpcm_path_put to fix it.Signed-off-by: Qiao Zhou
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman -
commit b38314179c9ccb789e6fe967cff171fa817e8978 upstream.
wm1811_micd_stop takes the accdet_lock mutex, and is called from two
places, one of which is already holding the accdet_lock. This obviously
causes a lock up.This patch fixes this issue by removing the lock from wm1811_micd_stop
and ensuring that it is always locked externally.Signed-off-by: Charles Keepax
Signed-off-by: Mark Brown
Signed-off-by: Greg Kroah-Hartman
17 Sep, 2014
1 commit
-
…ux-kernel/audio-display-linux-feature-tree into ti-linux-3.14.y
TI-Feature: audio-display
TI-Tree: git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree.git
TI-Branch: audio-display-ti-linux-3.14.y* 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree:
ti_fragments: audio_display: make tda998x a builtin
ti_fragments: audio_display: Change HDMI encoders to builtins
ARM: DRA7: hwmod: add DMM hwmod description
OMAPDSS: DISPC: program dispc polarities to control module
ARM: DTS: dra7: add syscon reference to dispc node
drm/omap/fb: disable console switching during pm operations
ASoC: edma-pcm: Increase period_bytes_min from 32 to 512
ARM: dts: dra7-evm: move hpd_pin mux to correct place
ARM: dts: dra72-evm: move hpd_pin mux to correct place
OMAPDSS: panel-tlc59108: fix error handling
media: ti-vpfe: driver restructuring to fix a kernel panic
ti_fragments: audio_display: Enable OMAP DSS driver
ti_fragments: audio_display: Enable DRM features by defaultSigned-off-by: Dan Murphy <DMurphy@ti.com>
16 Sep, 2014
1 commit
-
32 byte period size is ridiculously small and there hardly any
practical use for it. 512 byte period size appears to work OK even
when the system is loaded.Signed-off-by: Jyri Sarha
Signed-off-by: Darren Etheridge
12 Sep, 2014
1 commit
-
…nux-stable into ti-linux-3.14.y
This is the 3.14.18 stable release
* tag 'v3.14.18' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (89 commits)
Linux 3.14.18
USB: fix build error with CONFIG_PM_RUNTIME disabled
vm_is_stack: use for_each_thread() rather then buggy while_each_thread()
NFSv4: Fix problems with close in the presence of a delegation
NFSv3: Fix another acl regression
svcrdma: Select NFSv4.1 backchannel transport based on forward channel
nfs3_list_one_acl(): check get_acl() result with IS_ERR_OR_NULL
NFSD: Decrease nfsd_users in nfsd_startup_generic fail
usb: hub: Prevent hub autosuspend if usbcore.autosuspend is -1
usb: ehci: using wIndex + 1 for hub port
USB: whiteheat: Added bounds checking for bulk command response
USB: ftdi_sio: Added PID for new ekey device
USB: ftdi_sio: add Basic Micro ATOM Nano USB2Serial PID
ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled
usb: xhci: amd chipset also needs short TX quirk
xhci: Treat not finding the event_seg on COMP_STOP the same as COMP_STOP_INVAL
staging: r8188eu: Add new USB ID
staging/rtl8188eu: add 0df6:0076 Sitecom Europe B.V.
staging: et131x: Fix errors caused by phydev->addr accesses before initialisation
jbd2: fix descriptor block size handling errors with journal_csum
...Conflicts:
arch/arm/boot/dts/am4372.dtsiSigned-off-by: Dan Murphy <DMurphy@ti.com>
06 Sep, 2014
2 commits
-
commit f3ee07d8b6e061bf34a7167c3f564e8da4360a99 upstream.
ALC269 & co have many vendor-specific setups with COEF verbs.
However, some verbs seem specific to some codec versions and they
result in the codec stalling. Typically, such a case can be avoided
by checking the return value from reading a COEF. If the return value
is -1, it implies that the COEF is invalid, thus it shouldn't be
written.This patch adds the invalid COEF checks in appropriate places
accessing ALC269 and its variants. The patch actually fixes the
resume problem on Acer AO725 laptop.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=52181
Tested-by: Francesco Muzio
Signed-off-by: Takashi Iwai
Signed-off-by: Greg Kroah-Hartman -
commit f475371aa65de84fa483a998ab7594531026b9d9 upstream.
On some HP laptops, the mute led is controlled by codec gpio.
When some machine resume from s3/s4, the codec gpio data will be
cleared to 0 by BIOS:
Before suspend:
IO[3]: enable=1, dir=1, wake=0, sticky=0, data=1, unsol=0
After resume:
IO[3]: enable=1, dir=1, wake=0, sticky=0, data=0, unsol=0To skip the AFG node to enter D3 can't fix this problem.
A workaround is to restore the gpio data when the system resume
back from s3/s4. It is safe even on the machines without this
problem.BugLink: https://bugs.launchpad.net/bugs/1358116
Tested-by: Franz Hsieh
Signed-off-by: Hui Wang
Signed-off-by: Takashi Iwai
Signed-off-by: Greg Kroah-Hartman