- 14 8月, 2021 1 次提交
-
-
由 Damien Zammit 提交于
This adds a second mixer control to Digidesign Mbox to select between Analog/SPDIF capture. Users will note that selecting the SPDIF input source automatically switches the clock mode to sync to SPDIF, which is a feature of the hardware. (You can change the clock source back to internal if you want to capture from spdif but not sync to its clock although this mode is probably not recommended). Unfortunately, starting the stream resets both modes to Internally clocked and Analog input mode. Signed-off-by: NDamien Zammit <damien@zamaudio.com> Tested-by: NDamien Zammit <damien@zamaudio.com> Link: https://lore.kernel.org/r/20210813113402.11849-1-damien@zamaudio.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 8月, 2021 4 次提交
-
-
由 Takashi Iwai 提交于
This is an enhancement for the SG-style page handling in vmalloc buffer handler to calculate the continuous pages. When snd_sgbuf_get_chunk_size() is called for a vmalloc buffer, currently we return only the size that fits into a single page. However, this API call is rather supposed for obtaining the continuous pages and most of vmalloc or noncontig buffers do have lots of continuous pages indeed. So, in this patch, the callback now calculates the possibly continuous pages up to the given size limit. Note that the end address in the function is calculated from the last byte, hence it's one byte shorter. This is because ofs + size can be above the actual buffer size boundary. Until now, this feature isn't really used, but it'll become useful in a later patch that adds the non-contiguous buffer type that shares the same callback function as vmalloc. Link: https://lore.kernel.org/r/20210812113818.6479-1-tiwai@suse.de Link: https://lore.kernel.org/r/20210813081645.4680-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Some of the register values set for type detection cause pops during suspend, ensure these are cleaned up after type detection completes, as well ensuring that these are cleared when we suspend. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210812183433.6330-1-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Pierre-Louis Bossart 提交于
Add missing @ Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: NPéter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: NKai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20210812225904.171529-3-pierre-louis.bossart@linux.intel.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Pierre-Louis Bossart 提交于
strlcpy is deprecated, use its safe replacement Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: NRanjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: NBard Liao <bard.liao@intel.com> Reviewed-by: NPaul Olaru <paul.olaru@oss.nxp.com> Reviewed-by: NKai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210812225904.171529-2-pierre-louis.bossart@linux.intel.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 12 8月, 2021 27 次提交
-
-
由 Stefan Binding 提交于
Codec is muted on init, and then unmuted when the stream starts. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-28-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-27-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Since delays when starting jack detection after initialization have been reduced/removed, it is necessary to add back in an extra 20ms delay after the init sequence to allow the CS42L42 to power up correctly. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-26-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-25-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
CS42L42 is configured to use a fixed sample rate of 48kHz. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-24-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Headphones codec will keep reduced maximum volume. Line Out codec will have increased maximum volume. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-23-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Dolphin devices have CS8409 HDA Bridge connected to two CS42L42 codecs. Codec 1 supports Headphone and Headset Mic. Codec 2 supports Line Out. Features: - Front and Read Jacks appear as separate jacks; Removal or connection of on jack should not affect the connection of the other. - Front Jack only shows up on jack detection. - Rear Jack is Phantom Jack. - Separate Volume Controls for each Jack Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-22-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Some hardware configurations do not support jack type detection. Instead, for those configurations, only tip detection is supported. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-21-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-20-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
To accommodate move, cs42l42_resume has been added to mirror the existing function cs42l42_suspend. Function cs42l42_reset is no longer required, since cs42l42_resume and cs42l42_suspend perform the same operations. Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-19-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-18-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
This allows mutex locks to be moved into i2c functions, as the bulk read/write functions can lock/unlock themselves to prevent interruption of sequence reads/writes. Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-17-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-16-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-15-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Only disable I2C clock 25 ms after not being used. The current implementation enables and disables the I2C clock for each I2C transaction. Each enable/disable call requires two verb transactions. This means each I2C transaction requires a total of four verb transactions to enable and disable the clock. However, if there are multiple consecutive I2C transactions, it is not necessary to enable and disable the clock each time, instead it is more efficient to enable the clock for the first transaction, and disable it after the final transaction, which would improve performance. This is achieved by using a timeout which disables the clock if no request to enable the clock has occurred for 25 ms. Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-14-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Use amp offsets as indexes for saved volumes. Remove dependencies on NID inside volume control functions. Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-13-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-12-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Cleanup interrupt masks. Remove unnecessary read/writes. Ensure Tip Sense/Type Detection interrupts are enabled/disabled when needed. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-11-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Wake events are not needed for jack detect. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-10-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
The subsequence suspend and remuse have their enable/disable unsolicited responses at the correct place already Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-9-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Ensure unsolicited responses cannot occur whilst the sub codecs are being disabled. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-8-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Also remove unnecessary repeated register writes. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-7-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Enable HSBIAS_SENSE_EN for Cyborg during jack detect to reduce pops and clicks. Do not enable this for Warlock/Bullseye, as it causes ESD issues. Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-6-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-5-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Stefan Binding 提交于
Signed-off-by: NStefan Binding <sbinding@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-4-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-3-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Lucas Tanure 提交于
Signed-off-by: NLucas Tanure <tanureal@opensource.cirrus.com> Signed-off-by: NVitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20210811185654.6837-2-vitalyr@opensource.cirrus.comSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 09 8月, 2021 7 次提交
-
-
由 Takashi Iwai 提交于
The old ISA MSND driver basically maps the iomem as the DMA buffer. For this type of buffer, we have already the standard mmap helper, snd_pcm_lib_mmap_iomem(). Correct the PCM info, set the DMA address and use the standard helper for handling the mmap on all architectures properly. Link: https://lore.kernel.org/r/20210809140532.11006-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
CS46xx driver switches the buffer depending on the number of periods, and in some cases it switches to the own buffer without updating the buffer type properly. This may cause a problem with the mmap on exotic architectures that require the own mmap call for the coherent DMA buffer. This patch addresses the potential breakage by replacing the buffer setup with the proper macro. It also simplifies the source code, too. Link: https://lore.kernel.org/r/20210809071829.22238-4-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Although the regression of the mmap was fixed in the recent commit dc0dc8a7 ("ALSA: pcm: Fix mmap breakage without explicit buffer setup"), RME9652 and HDSP drivers have still potential issues with their mmap handling. Namely, they use the default mmap handler without the standard buffer preallocation, and PCM core wouldn't use the coherent DMA mapping. It's practically OK on x86, but on some exotic architectures, it wouldn't work. This patch addresses the potential breakage by replacing the buffer setup with the proper macro. It also simplifies the source code, too. Link: https://lore.kernel.org/r/20210809071829.22238-3-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Currently we check only the substream->dma_buffer as the preset of the buffer configuration for verifying the availability of mmap. But a few drivers rather set up the buffer in the own way without the standard buffer preallocation using substream->dma_buffer, and they miss the proper checks. (Now it's working more or less fine as most of them are running only on x86). Actually, they may set up the runtime dma_buffer (referred via snd_pcm_get_dma_buf()) at the open callback, though. That is, this could have been used as the primary source. This patch changes the hw_support_mmap() function to check the runtime dma buffer at first. It's usually NULL with the standard buffer preallocation, and in that case, we continue checking substream->dma_buffer as fallback. Link: https://lore.kernel.org/r/20210809071829.22238-2-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Harmony driver never uses CONTINUOUS buffer type any longer, hence the code setting the address is superfluous. Moreover, the recent change in the ALSA core already covered the missing address field; it's already set up. So let's drop the superfluous line, which includes the full hw_params callback. Link: https://lore.kernel.org/r/20210809071250.21846-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
-
由 Takashi Iwai 提交于
The recent fix c4824ae7 ("ALSA: pcm: Fix mmap capability check") restricts the mmap capability only to the drivers that properly set up the buffers, but it caused a regression for a few drivers that manage the buffer on its own way. For those with UNKNOWN buffer type (i.e. the uninitialized / unused substream->dma_buffer), just assume that the driver handles the mmap properly and blindly trust the hardware info bit. Fixes: c4824ae7 ("ALSA: pcm: Fix mmap capability check") Reported-and-tested-by: NJeff Woods <jwoods@fnordco.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/s5him0gpghv.wl-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 08 8月, 2021 1 次提交
-
-
由 Takashi Iwai 提交于
The code refactoring to move the WC page handling into the common memalloc layer caused a breakage for HD-audio HDMI. I overlooked that the driver is using the SG-buffer, which isn't covered by the patch. This patch adds the mmap workaround for WC pages to SG-buffer handler. A caveat is that it falls back to the default handler by returning an error after setting the pgprot, so it won't work in all cases but merely for PCM (which is currently the only use case). Fixes: 623c1010 ("ALSA: memalloc: Fix pgprot for WC mmap on x86") Reported-and-tested-by: NAndy Lavr <andy.lavr@gmail.com> Link: https://lore.kernel.org/r/20210808080034.20337-1-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
-