Alsa-devel
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
January 2023
- 175 participants
- 316 discussions
10 Mar '23
From: Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
Update code to remove mix between legacy and SOF definitions. No
functionality change.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao(a)linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan(a)linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi(a)linux.intel.com>
---
sound/soc/sof/intel/hda-loader.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c
index d680562edb35..de8d9ad89bc7 100644
--- a/sound/soc/sof/intel/hda-loader.c
+++ b/sound/soc/sof/intel/hda-loader.c
@@ -321,13 +321,13 @@ int hda_cl_copy_fw(struct snd_sof_dev *sdev, struct hdac_ext_stream *hext_stream
int hda_dsp_cl_boot_firmware_iccmax(struct snd_sof_dev *sdev)
{
struct hdac_ext_stream *iccmax_stream;
- struct hdac_bus *bus = sof_to_bus(sdev);
struct snd_dma_buffer dmab_bdl;
int ret, ret1;
u8 original_gb;
/* save the original LTRP guardband value */
- original_gb = snd_hdac_chip_readb(bus, VS_LTRP) & HDA_VS_INTEL_LTRP_GB_MASK;
+ original_gb = snd_sof_dsp_read8(sdev, HDA_DSP_HDA_BAR, HDA_VS_INTEL_LTRP) &
+ HDA_VS_INTEL_LTRP_GB_MASK;
/*
* Prepare capture stream for ICCMAX. We do not need to store
@@ -356,7 +356,8 @@ int hda_dsp_cl_boot_firmware_iccmax(struct snd_sof_dev *sdev)
}
/* restore the original guardband value after FW boot */
- snd_hdac_chip_updateb(bus, VS_LTRP, HDA_VS_INTEL_LTRP_GB_MASK, original_gb);
+ snd_sof_dsp_update8(sdev, HDA_DSP_HDA_BAR, HDA_VS_INTEL_LTRP,
+ HDA_VS_INTEL_LTRP_GB_MASK, original_gb);
return ret;
}
--
2.39.0
2
1
Switch the driver from legacy gpio API that is deprecated to the newer
gpiod API that respects line polarities described in ACPI/DT.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov(a)gmail.com>
---
sound/soc/codecs/ak5386.c | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/sound/soc/codecs/ak5386.c b/sound/soc/codecs/ak5386.c
index 0c5e00679c7d..0562890b5dc7 100644
--- a/sound/soc/codecs/ak5386.c
+++ b/sound/soc/codecs/ak5386.c
@@ -6,11 +6,12 @@
* (c) 2013 Daniel Mack <zonque(a)gmail.com>
*/
+
+#include <linux/err.h>
+#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
-#include <linux/of_device.h>
#include <linux/regulator/consumer.h>
#include <sound/soc.h>
#include <sound/pcm.h>
@@ -21,7 +22,7 @@ static const char * const supply_names[] = {
};
struct ak5386_priv {
- int reset_gpio;
+ struct gpio_desc *reset_gpio;
struct regulator_bulk_data supplies[ARRAY_SIZE(supply_names)];
};
@@ -111,8 +112,8 @@ static int ak5386_hw_params(struct snd_pcm_substream *substream,
* the AK5386 in power-down mode (PDN pin = “L”).
*/
- if (gpio_is_valid(priv->reset_gpio))
- gpio_set_value(priv->reset_gpio, 1);
+ if (priv->reset_gpio)
+ gpiod_set_value(priv->reset_gpio, 0);
return 0;
}
@@ -123,8 +124,8 @@ static int ak5386_hw_free(struct snd_pcm_substream *substream,
struct snd_soc_component *component = dai->component;
struct ak5386_priv *priv = snd_soc_component_get_drvdata(component);
- if (gpio_is_valid(priv->reset_gpio))
- gpio_set_value(priv->reset_gpio, 0);
+ if (priv->reset_gpio)
+ gpiod_set_value(priv->reset_gpio, 1);
return 0;
}
@@ -168,7 +169,6 @@ static int ak5386_probe(struct platform_device *pdev)
if (!priv)
return -ENOMEM;
- priv->reset_gpio = -EINVAL;
dev_set_drvdata(dev, priv);
for (i = 0; i < ARRAY_SIZE(supply_names); i++)
@@ -179,15 +179,13 @@ static int ak5386_probe(struct platform_device *pdev)
if (ret < 0)
return ret;
- if (of_match_device(of_match_ptr(ak5386_dt_ids), dev))
- priv->reset_gpio = of_get_named_gpio(dev->of_node,
- "reset-gpio", 0);
+ priv->reset_gpio = devm_gpiod_get_optional(dev, "reset",
+ GPIOD_OUT_HIGH);
+ ret = PTR_ERR_OR_ZERO(priv->reset_gpio);
+ if (ret)
+ return ret;
- if (gpio_is_valid(priv->reset_gpio))
- if (devm_gpio_request_one(dev, priv->reset_gpio,
- GPIOF_OUT_INIT_LOW,
- "AK5386 Reset"))
- priv->reset_gpio = -EINVAL;
+ gpiod_set_consumer_name(priv->reset_gpio, "AK5386 Reset");
return devm_snd_soc_register_component(dev, &soc_component_ak5386,
&ak5386_dai, 1);
--
2.38.1.431.g37b22c650d-goog
3
16
Hi all,
I am looking for any existing user space test utilities to test
SOUNDWIRE SUBSYSTEM in Linux kernel. Can someone please point me to
this.
--
Thanks,
Sekhar
2
4
28 Feb '23
Changes in v2:
XHCI:
- Replaced XHCI and HCD changes with Mathias' XHCI interrupter changes
in his tree:
https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=feat…
Adjustments made to Mathias' changes:
- Created xhci-intr.h to export/expose interrupter APIs versus exposing xhci.h.
Moved dependent structures to this file as well. (so clients can parse out
information from "struct xhci_interrupter")
- Added some basic locking when requesting interrupters.
- Fixed up some sanity checks.
- Removed clearing of the ERSTBA during freeing of the interrupter. (pending
issue where SMMU fault occurs if DMA addr returned is 64b - TODO)
- Clean up pending events in the XHCI secondary interrupter. While testing USB
bus suspend, it was seen that on bus resume, the xHCI HC would run into a command
timeout.
- Added offloading APIs to xHCI to fetch transfer and event ring information.
ASoC:
- Modified soc-usb to allow for multiple USB port additions. For this to work,
the USB offload driver has to have a reference to the USB backend by adding
a "usb-soc-be" DT entry to the device saved into XHCI sysdev.
- Created separate dt-bindings for defining USB_RX port.
- Increased APR timeout to accommodate the situation where the AFE port start
command could be delayed due to having to issue a USB bus resume while
handling the QMI stream start command.
USB SND:
- Added a platform ops during usb_audio_suspend(). This allows for the USB
offload driver to halt the audio stream when system enters PM suspend. This
ensures the audio DSP is not issuing transfers on the USB bus.
- Do not override platform ops if they are already populated.
- Introduce a shared status variable between the USB offload and USB SND layers,
to ensure that only one path is active at a time. If the USB bus is occupied,
then userspace is notified that the path is busy.
Several Qualcomm based chipsets can support USB audio offloading to a
dedicated audio DSP, which can take over issuing transfers to the USB
host controller. The intention is to reduce the load on the main
processors in the SoC, and allow them to be placed into lower power modes.
There are several parts to this design:
1. Adding ASoC binding layer
2. Create a USB backend for Q6DSP
3. Introduce XHCI interrupter support
4. Create vendor ops for the USB SND driver
Adding ASoC binding layer:
soc-usb: Intention is to treat a USB port similar to a headphone jack.
The port is always present on the device, but cable/pin status can be
enabled/disabled. Expose mechanisms for USB backend ASoC drivers to
communicate with USB SND.
Create a USB backend for Q6DSP:
q6usb: Basic backend driver that will be responsible for maintaining the
resources needed to initiate a playback stream using the Q6DSP. Will
be the entity that checks to make sure the connected USB audio device
supports the requested PCM format. If it does not, the PCM open call will
fail, and userpsace ALSA can take action accordingly.
Introduce XHCI interrupter support:
XHCI HCD supports multiple interrupters, which allows for events to be routed
to different event rings. This is determined by "Interrupter Target" field
specified in Section "6.4.1.1 Normal TRB" of the XHCI specification.
Events in the offloading case will be routed to an event ring that is assigned
to the audio DSP.
Create vendor ops for the USB SND driver:
qc_audio_offload: This particular driver has several components associated
with it:
- QMI stream request handler
- XHCI interrupter and resource management
- audio DSP memory management
When the audio DSP wants to enable a playback stream, the request is first
received by the ASoC platform sound card. Depending on the selected route,
ASoC will bring up the individual DAIs in the path. The Q6USB backend DAI
will send an AFE port start command (with enabling the USB playback path), and
the audio DSP will handle the request accordingly.
Part of the AFE USB port start handling will have an exchange of control
messages using the QMI protocol. The qc_audio_offload driver will populate the
buffer information:
- Event ring base address
- EP transfer ring base address
and pass it along to the audio DSP. All endpoint management will now be handed
over to the DSP, and the main processor is not involved in transfers.
Overall, implementing this feature will still expose separate sound card and PCM
devices for both the platorm card and USB audio device:
0 [SM8250MTPWCD938]: sm8250 - SM8250-MTP-WCD9380-WSA8810-VA-D
SM8250-MTP-WCD9380-WSA8810-VA-DMIC
1 [Audio ]: USB-Audio - USB Audio
Generic USB Audio at usb-xhci-hcd.1.auto-1.4, high speed
This is to ensure that userspace ALSA entities can decide which route to take
when executing the audio playback. In the above, if card#1 is selected, then
USB audio data will take the legacy path over the USB PCM drivers, etc...
This feature was validated using:
- tinymix: set/enable the multimedia path to route to USB backend
- tinyplay: issue playback on platform card
Mathias Nyman (4):
xhci: fix event ring segment table related masks and variables in
header
xhci: remove xhci_test_trb_in_td_math early development check
xhci: Refactor interrupter code for initial multi interrupter support.
xhci: Add support to allocate several interrupters
Wesley Cheng (18):
usb: xhci: Add XHCI APIs to support USB offloading
usb: host: xhci-mem: Cleanup pending secondary event ring events
ASoC: Add SOC USB APIs for adding an USB backend
ASoC: dt-bindings: Add USB_RX port
ASoC: qcom: qdsp6: Introduce USB AFE port to q6dsp
ASoC: qdsp6: q6afe: Increase APR timeout
ASoC: qcom: Add USB backend ASoC driver for Q6
sound: usb: card: Introduce USB SND platform op callbacks
sound: usb: Export USB SND APIs for modules
dt-bindings: usb: dwc3: Add snps,num-hc-interrupters definition
usb: dwc3: Add DT parameter to specify maximum number of interrupters
sound: usb: Introduce QC USB SND offloading support
sound: usb: card: Check for support for requested audio format
sound: soc: soc-usb: Add PCM format check API for USB backend
sound: soc: qcom: qusb6: Ensure PCM format is supported by USB audio
device
sound: usb: Prevent starting of audio stream if in use
ASoC: dt-bindings: Add Q6USB backend bindings
ASoC: dt-bindings: Update example for enabling USB offload on SM8250
.../bindings/sound/qcom,q6usb-dais.yaml | 55 +
.../bindings/sound/qcom,sm8250.yaml | 13 +
.../devicetree/bindings/usb/snps,dwc3.yaml | 12 +
drivers/usb/dwc3/core.c | 12 +
drivers/usb/dwc3/core.h | 2 +
drivers/usb/dwc3/host.c | 5 +-
drivers/usb/host/xhci-debugfs.c | 2 +-
drivers/usb/host/xhci-mem.c | 471 +++--
drivers/usb/host/xhci-ring.c | 68 +-
drivers/usb/host/xhci.c | 199 +-
drivers/usb/host/xhci.h | 81 +-
.../sound/qcom,q6dsp-lpass-ports.h | 1 +
include/linux/usb/xhci-intr.h | 94 +
include/sound/pcm_params.h | 4 +
include/sound/q6usboffload.h | 20 +
include/sound/soc-usb.h | 36 +
sound/core/oss/pcm_oss.c | 58 -
sound/core/pcm_lib.c | 65 +
sound/soc/Makefile | 2 +-
sound/soc/qcom/Kconfig | 4 +
sound/soc/qcom/qdsp6/Makefile | 1 +
sound/soc/qcom/qdsp6/q6afe-dai.c | 48 +
sound/soc/qcom/qdsp6/q6afe.c | 185 +-
sound/soc/qcom/qdsp6/q6afe.h | 46 +-
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 23 +
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.h | 1 +
sound/soc/qcom/qdsp6/q6routing.c | 8 +
sound/soc/qcom/qdsp6/q6usb.c | 234 +++
sound/soc/soc-usb.c | 215 ++
sound/usb/Kconfig | 14 +
sound/usb/Makefile | 2 +-
sound/usb/card.c | 58 +
sound/usb/card.h | 29 +
sound/usb/endpoint.c | 2 +
sound/usb/helper.c | 1 +
sound/usb/pcm.c | 28 +-
sound/usb/pcm.h | 12 +
sound/usb/qcom/Makefile | 2 +
sound/usb/qcom/qc_audio_offload.c | 1789 +++++++++++++++++
sound/usb/qcom/usb_audio_qmi_v01.c | 892 ++++++++
sound/usb/qcom/usb_audio_qmi_v01.h | 162 ++
41 files changed, 4546 insertions(+), 410 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6usb-dais.yaml
create mode 100644 include/linux/usb/xhci-intr.h
create mode 100644 include/sound/q6usboffload.h
create mode 100644 include/sound/soc-usb.h
create mode 100644 sound/soc/qcom/qdsp6/q6usb.c
create mode 100644 sound/soc/soc-usb.c
create mode 100644 sound/usb/qcom/Makefile
create mode 100644 sound/usb/qcom/qc_audio_offload.c
create mode 100644 sound/usb/qcom/usb_audio_qmi_v01.c
create mode 100644 sound/usb/qcom/usb_audio_qmi_v01.h
8
72
[regression] Bug 216909 - Avantree Leaf USB audio device does not play sound in applications run via wine
by Linux kernel regression tracking (Thorsten Leemhuis) 19 Feb '23
by Linux kernel regression tracking (Thorsten Leemhuis) 19 Feb '23
19 Feb '23
Hi, this is your Linux kernel regression tracker.
I noticed a regression report in bugzilla.kernel.org. As many (most?)
kernel developer don't keep an eye on it, I decided to forward it by
mail. Quoting from https://bugzilla.kernel.org/show_bug.cgi?id=216909 :
> Bernd Steinhauser 2023-01-10 14:45:18 UTC
>
> Created attachment 303568 [details]
> lsusb -v -d 0a12:1004
>
> On my second PC, I'm using a USB audio device called "Avantree Leaf" to pass audio via bluetooth to a receiver. About 1-2 months ago, I noticed that I have no audio with this device when playing sounds via wine applications (e.g. foobar2000 or any kind of game via proton/wine), neither via the pulseaudio output, nor alsa.
> Native Linux applications work fine (or at least I haven't found one yet that doesn't work) via both pulse or alsa output.
> If I select another audio device (e.g. the speakers of the screen via HDMI) in winecfg for the respective wine prefix, then the audio does work.
> Also, if I "prime" the device by playing audio via a native application and then the audio works.
>
> I'm using pipewire-0.3.63 with pipewire-pulse as an audio server, but I've also tried with recent pulseaudio and they are both affected.
> For pipewire, I played a bit with the settings and found:
> Brings back audio:
> clock.min-quantum 512 (lower values don't work)
>
> Doesn't change the outcome:
> ["api.alsa.period-size"] = 16 up to 1024
> ["api.alsa.disable-batch"] = true/false (in combination with the above)
> ["api.alsa.headroom"] = 64 up to 1024
>
> The output I get from `cat /proc/asound/Leaf/pcm0p/sub0/hw_params`:
> Native application:
> access: MMAP_INTERLEAVED
> format: S16_LE
> subformat: STD
> channels: 2
> rate: 48000 (48000/1)
> period_size: 256
> buffer_size: 32768
>
> foobar2000 via wine:
> access: MMAP_INTERLEAVED
> format: S16_LE
> subformat: STD
> channels: 2
> rate: 48000 (48000/1)
> period_size: 128
> buffer_size: 32768
>
> So they are the same, except for the period_size.
>
> Yesterday, I finally made some effort to track this down and I had to go back all the way to v5.14 to find the commit that is responsible:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
>
> If I test the revision before that commit, everything works as expected. If I test this revision, then the audio fails.
> Of course with such an old commit, I'm not 100% sure that this is the only thing, as I can't simply revert it on a newer kernel. Too much change happened in sound/usb since then.
> I did however test every mainline kernel version since 5.10 and the behavior was consistent.
> Please let me know if you need any further information.
See the ticket for more details.
BTW, let me use this mail to also add the report to the list of tracked
regressions to ensure it's doesn't fall through the cracks:
#regzbot introduced: 307cc9baac5c07b23d
https://bugzilla.kernel.org/show_bug.cgi?id=216909
#regzbot title: sound: avantree Leaf USB audio device stopped playing
sound in applications run via wine
#regzbot ignore-activity
This isn't a regression? This issue or a fix for it are already
discussed somewhere else? It was fixed already? You want to clarify when
the regression started to happen? Or point out I got the title or
something else totally wrong? Then just reply and tell me -- ideally
while also telling regzbot about it, as explained by the page listed in
the footer of this mail.
Developers: When fixing the issue, remember to add 'Link:' tags pointing
to the report (e.g. the buzgzilla ticket and maybe this mail as well, if
this thread sees some discussion). See page linked in footer for details.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.
2
1
Wrap the hw_ptr using the total position of the slave hw_ptr, including
boundary wraps. Otherwise, small errors can creep in due to residuals
(when boundary is not a multiple of period size) and which can
accumulate.
Signed-off-by: Alan Young <consult.awy(a)gmail.com>
Fixes: 7570e5d7 ("pcm: rate: fix the hw_ptr update until the boundary available")
---
src/pcm/pcm_rate.c | 54 ++++++++++++++++++++++++++++++----------------
1 file changed, 36 insertions(+), 18 deletions(-)
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
index c8076859..a29fc5a9 100644
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -52,6 +52,7 @@ struct _snd_pcm_rate {
snd_pcm_generic_t gen;
snd_pcm_uframes_t appl_ptr, hw_ptr, last_slave_hw_ptr;
snd_pcm_uframes_t last_commit_ptr;
+ u_int64_t slave_hw_ptr_wrap;
snd_pcm_uframes_t orig_avail_min;
snd_pcm_sw_params_t sw_params;
snd_pcm_format_t sformat;
@@ -562,6 +563,8 @@ static int snd_pcm_rate_init(snd_pcm_t *pcm)
if (rate->ops.reset)
rate->ops.reset(rate->obj);
rate->last_commit_ptr = 0;
+ rate->last_slave_hw_ptr = 0;
+ rate->slave_hw_ptr_wrap = 0;
rate->start_pending = 0;
return 0;
}
@@ -638,33 +641,48 @@ snd_pcm_rate_read_areas1(snd_pcm_t *pcm,
static inline void snd_pcm_rate_sync_hwptr0(snd_pcm_t *pcm, snd_pcm_uframes_t slave_hw_ptr)
{
snd_pcm_rate_t *rate;
- snd_pcm_sframes_t slave_hw_ptr_diff;
- snd_pcm_sframes_t last_slave_hw_ptr_frac;
+ snd_pcm_uframes_t new_hw_ptr;
+ snd_pcm_uframes_t slave_residual;
if (pcm->stream != SND_PCM_STREAM_PLAYBACK)
return;
rate = pcm->private_data;
- slave_hw_ptr_diff = pcm_frame_diff(slave_hw_ptr, rate->last_slave_hw_ptr, rate->gen.slave->boundary);
- if (slave_hw_ptr_diff == 0)
+ if (slave_hw_ptr == rate->last_slave_hw_ptr)
return;
- last_slave_hw_ptr_frac = rate->last_slave_hw_ptr % rate->gen.slave->period_size;
- /* While handling fraction part fo slave period, rounded value will be
- * introduced by input_frames().
- * To eliminate rounding issue on rate->hw_ptr, subtract last rounded
- * value from rate->hw_ptr and add new rounded value of present
- * slave_hw_ptr fraction part to rate->hw_ptr. Hence,
- * rate->hw_ptr += [ (no. of updated slave periods * pcm rate period size) -
- * fractional part of last_slave_hw_ptr rounded value +
- * fractional part of updated slave hw ptr's rounded value ]
+
+ /*
+ * Our hw_ptr may wrap at a different time to that of the slave as the
+ * number of period / boundary may differ. It is essential that our hw_ptr
+ * wraps at the correct point, along with our appl_ptr. Otherwise the
+ * avail calculation will be incorrect.
+ *
+ * Track the number of slave hw_ptr boundary wraps and use that to calculate
+ * our new_hw_ptr from the total number of samples converted.
*/
- rate->hw_ptr += (
- (((last_slave_hw_ptr_frac + slave_hw_ptr_diff) / rate->gen.slave->period_size) * pcm->period_size) -
- rate->ops.input_frames(rate->obj, last_slave_hw_ptr_frac) +
- rate->ops.input_frames(rate->obj, (last_slave_hw_ptr_frac + slave_hw_ptr_diff) % rate->gen.slave->period_size));
+ if (slave_hw_ptr < rate->last_slave_hw_ptr) {
+ rate->slave_hw_ptr_wrap += rate->gen.slave->boundary;
+ }
rate->last_slave_hw_ptr = slave_hw_ptr;
- rate->hw_ptr %= pcm->boundary;
+ /*
+ * Calculate rate->hw_ptr using total number of frames consumed by slave hw_ptr,
+ * including any boundary wraps.
+ */
+ if (rate->slave_hw_ptr_wrap) {
+ /*
+ * Restrict explicit 64-bit calculations to case where rate->slave_hw_ptr_wrap
+ * is non-zero, which will only happen in 32-bit environments.
+ */
+ u_int64_t wrapped_slave_hw_ptr = slave_hw_ptr + rate->slave_hw_ptr_wrap;
+ new_hw_ptr = ((wrapped_slave_hw_ptr / rate->gen.slave->period_size) * pcm->period_size) % pcm->boundary;
+ slave_residual = wrapped_slave_hw_ptr % rate->gen.slave->period_size;
+ } else {
+ new_hw_ptr = (slave_hw_ptr / rate->gen.slave->period_size) * pcm->period_size;
+ slave_residual = slave_hw_ptr % rate->gen.slave->period_size;
+ }
+ new_hw_ptr += rate->ops.input_frames(rate->obj, slave_residual);
+ rate->hw_ptr = new_hw_ptr % pcm->boundary;
}
static inline void snd_pcm_rate_sync_hwptr(snd_pcm_t *pcm)
--
2.25.1
2
3
16 Feb '23
Hi,
This series adds support for audio using the QMC controller available in
some Freescale PowerQUICC SoCs.
This series contains three parts in order to show the different blocks
hierarchy and their usage in this support.
The first one is related to TSA (Time Slot Assigner).
The TSA handles the data present at the pin level (TDM with up to 64
time slots) and dispatchs them to one or more serial controller (SCC).
The second is related to QMC (QUICC Multichannel Controller).
The QMC handles the data at the serial controller (SCC) level and splits
again the data to creates some virtual channels.
The last one is related to the audio component (QMC audio).
It is the glue between the QMC controller and the ASoC component. It
handles one or more QMC virtual channels and creates one DAI per QMC
virtual channels handled.
Compared to the previous iteration
https://lore.kernel.org/linux-kernel/20230113103759.327698-1-herve.codina@b…
this v4 series mainly:
- updates code comment format (feedback received on v2 series and
forgot to update in v3),
- fixes bindings,
- Replaces the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle and update the TSA related API,
- Adds some missing lock in tsa_serial_connect() and
tsa_serial_disconnect().
Best regards,
Herve Codina
Changes v3 -> v4
- patches 2, 6 and 9
Update code comment format.
- patch 1
Fix some description formats.
Add 'additionalProperties: false' in subnode.
Move fsl,mode to fsl,diagnostic-mode.
Change clocks and clock-names properties.
Add '#serial-cells' property related to the newly introduced
fsl,tsa-serial phandle.
- patch 2
Move fsl,mode to fsl,diagnostic-mode.
Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle and update the related API.
Add missing locks.
- patch 5
Fix some description format.
Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle.
Rename fsl,mode to fsl,operational-mode and update its description.
- patch 6
Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
fsl,tsa-serial phandle and use the TSA updated API.
Rename fsl,mode to fsl,operational-mode.
- patch 8
Add 'Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski(a)linaro.org>'
Changes v2 -> v3
- All bindings
Rename fsl-tsa.h to fsl,tsa.h
Add missing vendor prefix
Various fixes (quotes, node names, upper/lower case)
- patches 1 and 2 (TSA binding specific)
Remove 'reserved' values in the routing tables
Remove fsl,grant-mode
Add a better description for 'fsl,common-rxtx-pins'
Fix clocks/clocks-name handling against fsl,common-rxtx-pins
Add information related to the delays unit
Removed FSL_CPM_TSA_NBCELL
Fix license in binding header file fsl,tsa.h
- patches 5 and 6 (QMC binding specific)
Remove fsl,cpm-command property
Add interrupt property constraint
- patches 8 and 9 (QMC audio binding specific)
Remove 'items' in compatible property definition
Add missing 'dai-common.yaml' reference
Fix the qmc_chan phandle definition
- patch 2 and 6
Use io{read,write}be{32,16}
Change commit subjects and logs
- patch 4
Add 'Acked-by: Christophe Leroy <christophe.leroy(a)csgroup.eu>'
Changes v1 -> v2:
- patch 2 and 6
Fix kernel test robot errors
- other patches
No changes
Herve Codina (10):
dt-bindings: soc: fsl: cpm_qe: Add TSA controller
soc: fsl: cpm1: Add support for TSA
MAINTAINERS: add the Freescale TSA controller entry
powerpc/8xx: Use a larger CPM1 command check mask
dt-bindings: soc: fsl: cpm_qe: Add QMC controller
soc: fsl: cmp1: Add support for QMC
MAINTAINERS: add the Freescale QMC controller entry
dt-bindings: sound: Add support for QMC audio
ASoC: fsl: Add support for QMC audio
MAINTAINERS: add the Freescale QMC audio entry
.../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml | 167 ++
.../bindings/soc/fsl/cpm_qe/fsl,tsa.yaml | 261 +++
.../bindings/sound/fsl,qmc-audio.yaml | 117 ++
MAINTAINERS | 25 +
arch/powerpc/platforms/8xx/cpm1.c | 2 +-
drivers/soc/fsl/qe/Kconfig | 23 +
drivers/soc/fsl/qe/Makefile | 2 +
drivers/soc/fsl/qe/qmc.c | 1533 +++++++++++++++++
drivers/soc/fsl/qe/tsa.c | 864 ++++++++++
drivers/soc/fsl/qe/tsa.h | 42 +
include/dt-bindings/soc/fsl,tsa.h | 13 +
include/soc/fsl/qe/qmc.h | 71 +
sound/soc/fsl/Kconfig | 9 +
sound/soc/fsl/Makefile | 2 +
sound/soc/fsl/fsl_qmc_audio.c | 735 ++++++++
15 files changed, 3865 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml
create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,tsa.yaml
create mode 100644 Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
create mode 100644 drivers/soc/fsl/qe/qmc.c
create mode 100644 drivers/soc/fsl/qe/tsa.c
create mode 100644 drivers/soc/fsl/qe/tsa.h
create mode 100644 include/dt-bindings/soc/fsl,tsa.h
create mode 100644 include/soc/fsl/qe/qmc.h
create mode 100644 sound/soc/fsl/fsl_qmc_audio.c
--
2.39.0
6
21
14 Feb '23
Correct many spelling errors in Documentation/ as reported by codespell.
Maintainers of specific kernel subsystems are only Cc-ed on their
respective patches, not the entire series. [if all goes well]
These patches are based on linux-next-20230125.
[PATCH 01/35] Documentation: arm64: correct spelling
[PATCH 02/35] Documentation: arm: correct spelling
[PATCH 03/35] Documentation: block: correct spelling
[PATCH 04/35] Documentation: bpf: correct spelling
[PATCH 05/35] Documentation: core-api: correct spelling
[PATCH 06/35] Documentation: fault-injection: correct spelling
[PATCH 07/35] Documentation: fb: correct spelling
[PATCH 08/35] Documentation: features: correct spelling
[PATCH 09/35] Documentation: firmware-guide/acpi: correct spelling
[PATCH 10/35] Documentation: hid: correct spelling
[PATCH 11/35] Documentation: i2c: correct spelling
[PATCH 12/35] Documentation: input: correct spelling
[PATCH 13/35] Documentation: isdn: correct spelling
[PATCH 14/35] Documentation: leds: correct spelling
[PATCH 15/35] Documentation: litmus-tests: correct spelling
[PATCH 16/35] Documentation: livepatch: correct spelling
[PATCH 17/35] Documentation: locking: correct spelling
[PATCH 18/35] Documentation: mm: correct spelling
[PATCH 19/35] Documentation: openrisc: correct spelling
[PATCH 20/35] Documentation: PCI: correct spelling
[PATCH 21/35] Documentation: powerpc: correct spelling
[PATCH 22/35] Documentation: power: correct spelling
[PATCH 23/35] Documentation: s390: correct spelling
[PATCH 24/35] Documentation: scheduler: correct spelling
[PATCH 25/35] Documentation: security: correct spelling
[PATCH 26/35] Documentation: sound: correct spelling
[PATCH 27/35] Documentation: spi: correct spelling
[PATCH 28/35] Documentation: target: correct spelling
[PATCH 29/35] Documentation: timers: correct spelling
[PATCH 30/35] Documentation: tools/rtla: correct spelling
[PATCH 31/35] Documentation: trace: correct spelling
[PATCH 32/35] Documentation: usb: correct spelling
[PATCH 33/35] Documentation: w1: correct spelling
[PATCH 34/35] Documentation: x86: correct spelling
[PATCH 35/35] Documentation: xtensa: correct spelling
Documentation/PCI/endpoint/pci-vntb-howto.rst | 2 -
Documentation/PCI/msi-howto.rst | 2 -
Documentation/arm/arm.rst | 2 -
Documentation/arm/ixp4xx.rst | 4 +-
Documentation/arm/keystone/knav-qmss.rst | 2 -
Documentation/arm/stm32/stm32-dma-mdma-chaining.rst | 6 +--
Documentation/arm/sunxi/clocks.rst | 2 -
Documentation/arm/swp_emulation.rst | 2 -
Documentation/arm/tcm.rst | 2 -
Documentation/arm/vlocks.rst | 2 -
Documentation/arm64/booting.rst | 2 -
Documentation/arm64/elf_hwcaps.rst | 2 -
Documentation/arm64/sve.rst | 4 +-
Documentation/block/data-integrity.rst | 2 -
Documentation/bpf/libbpf/libbpf_naming_convention.rst | 6 +--
Documentation/bpf/map_xskmap.rst | 2 -
Documentation/bpf/ringbuf.rst | 4 +-
Documentation/bpf/verifier.rst | 2 -
Documentation/core-api/packing.rst | 2 -
Documentation/core-api/padata.rst | 2 -
Documentation/fault-injection/fault-injection.rst | 2 -
Documentation/fb/sm712fb.rst | 2 -
Documentation/fb/sstfb.rst | 2 -
Documentation/features/core/thread-info-in-task/arch-support.txt | 2 -
Documentation/firmware-guide/acpi/acpi-lid.rst | 2 -
Documentation/firmware-guide/acpi/namespace.rst | 2 -
Documentation/hid/hid-alps.rst | 2 -
Documentation/hid/hid-bpf.rst | 2 -
Documentation/hid/hiddev.rst | 2 -
Documentation/hid/hidraw.rst | 2 -
Documentation/hid/intel-ish-hid.rst | 2 -
Documentation/i2c/gpio-fault-injection.rst | 2 -
Documentation/i2c/smbus-protocol.rst | 2 -
Documentation/input/devices/iforce-protocol.rst | 2 -
Documentation/input/multi-touch-protocol.rst | 2 -
Documentation/isdn/interface_capi.rst | 2 -
Documentation/isdn/m_isdn.rst | 2 -
Documentation/leds/leds-qcom-lpg.rst | 4 +-
Documentation/litmus-tests/README | 2 -
Documentation/livepatch/reliable-stacktrace.rst | 2 -
Documentation/locking/lockdep-design.rst | 4 +-
Documentation/locking/locktorture.rst | 2 -
Documentation/locking/locktypes.rst | 2 -
Documentation/locking/preempt-locking.rst | 2 -
Documentation/mm/hmm.rst | 4 +-
Documentation/mm/hwpoison.rst | 2 -
Documentation/openrisc/openrisc_port.rst | 4 +-
Documentation/power/suspend-and-interrupts.rst | 2 -
Documentation/powerpc/kasan.txt | 2 -
Documentation/powerpc/papr_hcalls.rst | 2 -
Documentation/powerpc/qe_firmware.rst | 4 +-
Documentation/powerpc/vas-api.rst | 4 +-
Documentation/s390/pci.rst | 4 +-
Documentation/s390/vfio-ccw.rst | 2 -
Documentation/scheduler/sched-bwc.rst | 2 -
Documentation/scheduler/sched-energy.rst | 4 +-
Documentation/security/digsig.rst | 4 +-
Documentation/security/keys/core.rst | 2 -
Documentation/security/secrets/coco.rst | 2 -
Documentation/sound/alsa-configuration.rst | 8 ++--
Documentation/sound/cards/audigy-mixer.rst | 2 -
Documentation/sound/cards/maya44.rst | 2 -
Documentation/sound/cards/sb-live-mixer.rst | 2 -
Documentation/sound/designs/jack-controls.rst | 2 -
Documentation/sound/designs/seq-oss.rst | 2 -
Documentation/sound/hd-audio/notes.rst | 2 -
Documentation/spi/pxa2xx.rst | 12 +++---
Documentation/spi/spi-lm70llp.rst | 2 -
Documentation/spi/spi-summary.rst | 2 -
Documentation/target/tcmu-design.rst | 2 -
Documentation/timers/hrtimers.rst | 2 -
Documentation/tools/rtla/rtla-timerlat-top.rst | 2 -
Documentation/trace/coresight/coresight-etm4x-reference.rst | 2 -
Documentation/trace/events.rst | 6 +--
Documentation/trace/fprobe.rst | 2 -
Documentation/trace/ftrace-uses.rst | 2 -
Documentation/trace/hwlat_detector.rst | 2 -
Documentation/trace/rv/runtime-verification.rst | 2 -
Documentation/trace/uprobetracer.rst | 2 -
Documentation/usb/chipidea.rst | 19 +++++-----
Documentation/usb/gadget-testing.rst | 2 -
Documentation/usb/mass-storage.rst | 2 -
Documentation/w1/w1-netlink.rst | 2 -
Documentation/x86/boot.rst | 2 -
Documentation/x86/buslock.rst | 2 -
Documentation/x86/mds.rst | 2 -
Documentation/x86/resctrl.rst | 2 -
Documentation/x86/sgx.rst | 2 -
Documentation/xtensa/atomctl.rst | 2 -
89 files changed, 124 insertions(+), 123 deletions(-)
Cc: Jonathan Corbet <corbet(a)lwn.net>
Cc: Catalin Marinas <catalin.marinas(a)arm.com>
Cc: Will Deacon <will(a)kernel.org>
Cc: Russell King <linux(a)armlinux.org.uk>
Cc: Jens Axboe <axboe(a)kernel.dk>
Cc: Andrii Nakryiko <andrii(a)kernel.org>
Cc: Alexei Starovoitov <ast(a)kernel.org>
Cc: Daniel Borkmann <daniel(a)iogearbox.net>
Cc: Vladimir Oltean <olteanv(a)gmail.com>
Cc: Steffen Klassert <steffen.klassert(a)secunet.com>
Cc: Daniel Jordan <daniel.m.jordan(a)oracle.com>
Cc: Akinobu Mita <akinobu.mita(a)gmail.com>
Cc: Helge Deller <deller(a)gmx.de>
Cc: "Rafael J. Wysocki" <rafael(a)kernel.org>
Cc: Jiri Kosina <jikos(a)kernel.org>
Cc: Benjamin Tissoires <benjamin.tissoires(a)redhat.com>
Cc: Srinivas Pandruvada <srinivas.pandruvada(a)linux.intel.com>
Cc: Wolfram Sang <wsa(a)kernel.org>
Cc: Dmitry Torokhov <dmitry.torokhov(a)gmail.com>
Cc: Henrik Rydberg <rydberg(a)bitmath.org>
Cc: Karsten Keil <isdn(a)linux-pingi.de>
Cc: Pavel Machek <pavel(a)ucw.cz>
Cc: Lee Jones <lee(a)kernel.org>
Cc: Josh Poimboeuf <jpoimboe(a)kernel.org>
Cc: Miroslav Benes <mbenes(a)suse.cz>
Cc: Petr Mladek <pmladek(a)suse.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: Jérôme Glisse <jglisse(a)redhat.com>
Cc: Naoya Horiguchi <naoya.horiguchi(a)nec.com>
Cc: Miaohe Lin <linmiaohe(a)huawei.com>
Cc: Jonas Bonn <jonas(a)southpole.se>
Cc: Stefan Kristiansson <stefan.kristiansson(a)saunalahti.fi>
Cc: Stafford Horne <shorne(a)gmail.com>
Cc: Bjorn Helgaas <bhelgaas(a)google.com>
Cc: Lorenzo Pieralisi <lpieralisi(a)kernel.org>
Cc: Marc Zyngier <maz(a)kernel.org>
Cc: Michael Ellerman <mpe(a)ellerman.id.au>
Cc: Len Brown <len.brown(a)intel.com>
Cc: Heiko Carstens <hca(a)linux.ibm.com>
Cc: Vasily Gorbik <gor(a)linux.ibm.com>
Cc: Alexander Gordeev <agordeev(a)linux.ibm.com>
Cc: Juri Lelli <juri.lelli(a)redhat.com>
Cc: Vincent Guittot <vincent.guittot(a)linaro.org>
Cc: David Howells <dhowells(a)redhat.com>
Cc: Jarkko Sakkinen <jarkko(a)kernel.org>
Cc: Paul Moore <paul(a)paul-moore.com>
Cc: James Morris <jmorris(a)namei.org>
Cc: "Serge E. Hallyn" <serge(a)hallyn.com>
Cc: Jaroslav Kysela <perex(a)perex.cz>
Cc: Takashi Iwai <tiwai(a)suse.com>
Cc: Mark Brown <broonie(a)kernel.org>
Cc: "Martin K. Petersen" <martin.petersen(a)oracle.com>
Cc: Daniel Bristot de Oliveira <bristot(a)kernel.org>
Cc: Steven Rostedt <rostedt(a)goodmis.org>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Cc: Masami Hiramatsu <mhiramat(a)kernel.org>
Cc: Mathieu Poirier <mathieu.poirier(a)linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose(a)arm.com>
Cc: Evgeniy Polyakov <zbr(a)ioremap.net>
Cc: Fenghua Yu <fenghua.yu(a)intel.com>
Cc: Reinette Chatre <reinette.chatre(a)intel.com>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: Borislav Petkov <bp(a)alien8.de>
Cc: Chris Zankel <chris(a)zankel.net>
Cc: Max Filippov <jcmvbkbc(a)gmail.com>
Cc: alsa-devel(a)alsa-project.org
Cc: coresight(a)lists.linaro.org
Cc: bpf(a)vger.kernel.org
Cc: dri-devel(a)lists.freedesktop.org
Cc: isdn4linux(a)listserv.isdn4linux.de
Cc: keyrings(a)vger.kernel.org
Cc: linux-acpi(a)vger.kernel.org
Cc: linux-block(a)vger.kernel.org
Cc: linux-crypto(a)vger.kernel.org
Cc: linux-doc(a)vger.kernel.org
Cc: linux-fbdev(a)vger.kernel.org
Cc: linux-i2c(a)vger.kernel.org
Cc: linux-input(a)vger.kernel.org
Cc: linux-leds(a)vger.kernel.org
Cc: linux-pci(a)vger.kernel.org
Cc: linux-s390(a)vger.kernel.org
Cc: linux-scsi(a)vger.kernel.org
Cc: linux-sgx(a)vger.kernel.org
Cc: linux-spi(a)vger.kernel.org
Cc: linux-trace-devel(a)vger.kernel.org
Cc: linux-trace-kernel(a)vger.kernel.org
Cc: live-patching(a)vger.kernel.org
Cc: linux-pm(a)vger.kernel.org
Cc: linux-security-module(a)vger.kernel.org
Cc: linux-usb(a)vger.kernel.org
Cc: netdev(a)vger.kernel.org
Cc: target-devel(a)vger.kernel.org
Cc: linux-mm(a)kvack.org
Cc: openrisc(a)lists.librecores.org
Cc: linux-arm-kernel(a)lists.infradead.org
Cc: linux-xtensa(a)linux-xtensa.org
Cc: linuxppc-dev(a)lists.ozlabs.org
Cc: x86(a)kernel.org
6
6
Hi all,
arch/sh has been a long drag because it supports a lot of SOCs, and most
of them haven't even been converted to device tree infrastructure. These
SOCs are generally obsolete as well, and all of the support has been barely
maintained for almost 10 years, and not at all for more than 1 year.
Drop arch/sh and everything that depends on it.
Diffstat:
Documentation/sh/booting.rst | 12
Documentation/sh/features.rst | 3
Documentation/sh/index.rst | 56
Documentation/sh/new-machine.rst | 277 -
Documentation/sh/register-banks.rst | 40
arch/sh/Kbuild | 7
arch/sh/Kconfig | 793 ----
arch/sh/Kconfig.cpu | 100
arch/sh/Kconfig.debug | 78
arch/sh/Makefile | 215 -
arch/sh/boards/Kconfig | 400 --
arch/sh/boards/Makefile | 20
arch/sh/boards/board-apsh4a3a.c | 182
arch/sh/boards/board-apsh4ad0a.c | 132
arch/sh/boards/board-edosk7705.c | 79
arch/sh/boards/board-edosk7760.c | 178
arch/sh/boards/board-espt.c | 105
arch/sh/boards/board-magicpanelr2.c | 390 --
arch/sh/boards/board-polaris.c | 156
arch/sh/boards/board-secureedge5410.c | 75
arch/sh/boards/board-sh2007.c | 146
arch/sh/boards/board-sh7757lcr.c | 604 ---
arch/sh/boards/board-sh7785lcr.c | 384 --
arch/sh/boards/board-shmin.c | 35
arch/sh/boards/board-titan.c | 21
arch/sh/boards/board-urquell.c | 218 -
arch/sh/boards/mach-ap325rxa/Makefile | 3
arch/sh/boards/mach-ap325rxa/sdram.S | 66
arch/sh/boards/mach-ap325rxa/setup.c | 573 ---
arch/sh/boards/mach-dreamcast/Makefile | 7
arch/sh/boards/mach-dreamcast/irq.c | 155
arch/sh/boards/mach-dreamcast/rtc.c | 96
arch/sh/boards/mach-dreamcast/setup.c | 39
arch/sh/boards/mach-ecovec24/Makefile | 10
arch/sh/boards/mach-ecovec24/sdram.S | 108
arch/sh/boards/mach-ecovec24/setup.c | 1521 --------
arch/sh/boards/mach-highlander/Kconfig | 26
arch/sh/boards/mach-highlander/Makefile | 12
arch/sh/boards/mach-highlander/irq-r7780mp.c | 71
arch/sh/boards/mach-highlander/irq-r7780rp.c | 64
arch/sh/boards/mach-highlander/irq-r7785rp.c | 83
arch/sh/boards/mach-highlander/pinmux-r7785rp.c | 17
arch/sh/boards/mach-highlander/psw.c | 119
arch/sh/boards/mach-highlander/setup.c | 416 --
arch/sh/boards/mach-hp6xx/Makefile | 8
arch/sh/boards/mach-hp6xx/hp6xx_apm.c | 109
arch/sh/boards/mach-hp6xx/pm.c | 156
arch/sh/boards/mach-hp6xx/pm_wakeup.S | 39
arch/sh/boards/mach-hp6xx/setup.c | 172
arch/sh/boards/mach-kfr2r09/Makefile | 5
arch/sh/boards/mach-kfr2r09/lcd_wqvga.c | 275 -
arch/sh/boards/mach-kfr2r09/sdram.S | 77
arch/sh/boards/mach-kfr2r09/setup.c | 649 ---
arch/sh/boards/mach-landisk/Makefile | 6
arch/sh/boards/mach-landisk/gio.c | 164
arch/sh/boards/mach-landisk/irq.c | 63
arch/sh/boards/mach-landisk/psw.c | 140
arch/sh/boards/mach-landisk/setup.c | 102
arch/sh/boards/mach-lboxre2/Makefile | 6
arch/sh/boards/mach-lboxre2/irq.c | 27
arch/sh/boards/mach-lboxre2/setup.c | 79
arch/sh/boards/mach-microdev/Makefile | 6
arch/sh/boards/mach-microdev/fdc37c93xapm.c | 157
arch/sh/boards/mach-microdev/io.c | 123
arch/sh/boards/mach-microdev/irq.c | 150
arch/sh/boards/mach-microdev/setup.c | 197 -
arch/sh/boards/mach-migor/Kconfig | 16
arch/sh/boards/mach-migor/Makefile | 3
arch/sh/boards/mach-migor/lcd_qvga.c | 163
arch/sh/boards/mach-migor/sdram.S | 66
arch/sh/boards/mach-migor/setup.c | 649 ---
arch/sh/boards/mach-r2d/Kconfig | 24
arch/sh/boards/mach-r2d/Makefile | 6
arch/sh/boards/mach-r2d/irq.c | 156
arch/sh/boards/mach-r2d/setup.c | 305 -
arch/sh/boards/mach-rsk/Kconfig | 29
arch/sh/boards/mach-rsk/Makefile | 5
arch/sh/boards/mach-rsk/devices-rsk7203.c | 137
arch/sh/boards/mach-rsk/devices-rsk7264.c | 55
arch/sh/boards/mach-rsk/devices-rsk7269.c | 57
arch/sh/boards/mach-rsk/setup.c | 84
arch/sh/boards/mach-sdk7780/Kconfig | 17
arch/sh/boards/mach-sdk7780/Makefile | 6
arch/sh/boards/mach-sdk7780/irq.c | 43
arch/sh/boards/mach-sdk7780/setup.c | 96
arch/sh/boards/mach-sdk7786/Makefile | 5
arch/sh/boards/mach-sdk7786/fpga.c | 69
arch/sh/boards/mach-sdk7786/gpio.c | 46
arch/sh/boards/mach-sdk7786/irq.c | 45
arch/sh/boards/mach-sdk7786/nmi.c | 80
arch/sh/boards/mach-sdk7786/setup.c | 266 -
arch/sh/boards/mach-sdk7786/sram.c | 69
arch/sh/boards/mach-se/7206/Makefile | 6
arch/sh/boards/mach-se/7206/irq.c | 151
arch/sh/boards/mach-se/7206/setup.c | 96
arch/sh/boards/mach-se/7343/Makefile | 6
arch/sh/boards/mach-se/7343/irq.c | 123
arch/sh/boards/mach-se/7343/setup.c | 182
arch/sh/boards/mach-se/770x/Makefile | 6
arch/sh/boards/mach-se/770x/irq.c | 109
arch/sh/boards/mach-se/770x/setup.c | 205 -
arch/sh/boards/mach-se/7721/Makefile | 2
arch/sh/boards/mach-se/7721/irq.c | 42
arch/sh/boards/mach-se/7721/setup.c | 92
arch/sh/boards/mach-se/7722/Makefile | 11
arch/sh/boards/mach-se/7722/irq.c | 116
arch/sh/boards/mach-se/7722/setup.c | 190
arch/sh/boards/mach-se/7724/Makefile | 11
arch/sh/boards/mach-se/7724/irq.c | 143
arch/sh/boards/mach-se/7724/sdram.S | 128
arch/sh/boards/mach-se/7724/setup.c | 986 -----
arch/sh/boards/mach-se/7751/Makefile | 6
arch/sh/boards/mach-se/7751/irq.c | 51
arch/sh/boards/mach-se/7751/setup.c | 60
arch/sh/boards/mach-se/7780/Makefile | 11
arch/sh/boards/mach-se/7780/irq.c | 65
arch/sh/boards/mach-se/7780/setup.c | 111
arch/sh/boards/mach-se/Makefile | 11
arch/sh/boards/mach-se/board-se7619.c | 27
arch/sh/boards/mach-sh03/Makefile | 7
arch/sh/boards/mach-sh03/rtc.c | 143
arch/sh/boards/mach-sh03/setup.c | 97
arch/sh/boards/mach-sh7763rdp/Makefile | 2
arch/sh/boards/mach-sh7763rdp/irq.c | 42
arch/sh/boards/mach-sh7763rdp/setup.c | 213 -
arch/sh/boards/mach-x3proto/Makefile | 4
arch/sh/boards/mach-x3proto/gpio.c | 136
arch/sh/boards/mach-x3proto/ilsel.c | 156
arch/sh/boards/mach-x3proto/setup.c | 270 -
arch/sh/boards/of-generic.c | 172
arch/sh/boot/.gitignore | 5
arch/sh/boot/Makefile | 115
arch/sh/boot/compressed/.gitignore | 2
arch/sh/boot/compressed/Makefile | 66
arch/sh/boot/compressed/ashiftrt.S | 2
arch/sh/boot/compressed/ashldi3.c | 2
arch/sh/boot/compressed/ashlsi3.S | 2
arch/sh/boot/compressed/ashrsi3.S | 2
arch/sh/boot/compressed/cache.c | 13
arch/sh/boot/compressed/head_32.S | 126
arch/sh/boot/compressed/head_64.S | 159
arch/sh/boot/compressed/lshrsi3.S | 2
arch/sh/boot/compressed/misc.c | 146
arch/sh/boot/compressed/vmlinux.scr | 10
arch/sh/boot/dts/Makefile | 2
arch/sh/boot/dts/j2_mimas_v2.dts | 99
arch/sh/boot/romimage/Makefile | 30
arch/sh/boot/romimage/head.S | 85
arch/sh/boot/romimage/mmcif-sh7724.c | 78
arch/sh/boot/romimage/vmlinux.scr | 8
arch/sh/cchips/Kconfig | 46
arch/sh/cchips/hd6446x/Makefile | 4
arch/sh/cchips/hd6446x/hd64461.c | 112
arch/sh/configs/ap325rxa_defconfig | 103
arch/sh/configs/apsh4a3a_defconfig | 91
arch/sh/configs/apsh4ad0a_defconfig | 122
arch/sh/configs/dreamcast_defconfig | 72
arch/sh/configs/ecovec24-romimage_defconfig | 58
arch/sh/configs/ecovec24_defconfig | 132
arch/sh/configs/edosk7705_defconfig | 35
arch/sh/configs/edosk7760_defconfig | 114
arch/sh/configs/espt_defconfig | 114
arch/sh/configs/hp6xx_defconfig | 60
arch/sh/configs/j2_defconfig | 42
arch/sh/configs/kfr2r09-romimage_defconfig | 53
arch/sh/configs/kfr2r09_defconfig | 84
arch/sh/configs/landisk_defconfig | 115
arch/sh/configs/lboxre2_defconfig | 62
arch/sh/configs/magicpanelr2_defconfig | 90
arch/sh/configs/microdev_defconfig | 43
arch/sh/configs/migor_defconfig | 94
arch/sh/configs/polaris_defconfig | 83
arch/sh/configs/r7780mp_defconfig | 109
arch/sh/configs/r7785rp_defconfig | 107
arch/sh/configs/rsk7201_defconfig | 63
arch/sh/configs/rsk7203_defconfig | 121
arch/sh/configs/rsk7264_defconfig | 71
arch/sh/configs/rsk7269_defconfig | 56
arch/sh/configs/rts7751r2d1_defconfig | 91
arch/sh/configs/rts7751r2dplus_defconfig | 96
arch/sh/configs/sdk7780_defconfig | 139
arch/sh/configs/sdk7786_defconfig | 217 -
arch/sh/configs/se7206_defconfig | 108
arch/sh/configs/se7343_defconfig | 96
arch/sh/configs/se7619_defconfig | 43
arch/sh/configs/se7705_defconfig | 54
arch/sh/configs/se7712_defconfig | 101
arch/sh/configs/se7721_defconfig | 127
arch/sh/configs/se7722_defconfig | 56
arch/sh/configs/se7724_defconfig | 132
arch/sh/configs/se7750_defconfig | 55
arch/sh/configs/se7751_defconfig | 46
arch/sh/configs/se7780_defconfig | 106
arch/sh/configs/secureedge5410_defconfig | 53
arch/sh/configs/sh03_defconfig | 126
arch/sh/configs/sh2007_defconfig | 199 -
arch/sh/configs/sh7710voipgw_defconfig | 55
arch/sh/configs/sh7724_generic_defconfig | 41
arch/sh/configs/sh7757lcr_defconfig | 85
arch/sh/configs/sh7763rdp_defconfig | 116
arch/sh/configs/sh7770_generic_defconfig | 43
arch/sh/configs/sh7785lcr_32bit_defconfig | 149
arch/sh/configs/sh7785lcr_defconfig | 117
arch/sh/configs/shmin_defconfig | 52
arch/sh/configs/shx3_defconfig | 103
arch/sh/configs/titan_defconfig | 272 -
arch/sh/configs/ul2_defconfig | 84
arch/sh/configs/urquell_defconfig | 147
arch/sh/drivers/Kconfig | 20
arch/sh/drivers/Makefile | 11
arch/sh/drivers/dma/Kconfig | 74
arch/sh/drivers/dma/Makefile | 9
arch/sh/drivers/dma/dma-api.c | 417 --
arch/sh/drivers/dma/dma-g2.c | 197 -
arch/sh/drivers/dma/dma-pvr2.c | 102
arch/sh/drivers/dma/dma-sh.c | 414 --
arch/sh/drivers/dma/dma-sysfs.c | 164
arch/sh/drivers/dma/dmabrg.c | 196 -
arch/sh/drivers/heartbeat.c | 152
arch/sh/drivers/pci/Makefile | 27
arch/sh/drivers/pci/common.c | 159
arch/sh/drivers/pci/fixups-dreamcast.c | 84
arch/sh/drivers/pci/fixups-landisk.c | 57
arch/sh/drivers/pci/fixups-r7780rp.c | 18
arch/sh/drivers/pci/fixups-rts7751r2d.c | 64
arch/sh/drivers/pci/fixups-sdk7780.c | 40
arch/sh/drivers/pci/fixups-sdk7786.c | 64
arch/sh/drivers/pci/fixups-se7751.c | 113
arch/sh/drivers/pci/fixups-sh03.c | 33
arch/sh/drivers/pci/fixups-snapgear.c | 37
arch/sh/drivers/pci/fixups-titan.c | 36
arch/sh/drivers/pci/ops-dreamcast.c | 79
arch/sh/drivers/pci/ops-sh4.c | 105
arch/sh/drivers/pci/ops-sh7786.c | 168
arch/sh/drivers/pci/pci-dreamcast.c | 97
arch/sh/drivers/pci/pci-sh4.h | 182
arch/sh/drivers/pci/pci-sh7751.c | 179
arch/sh/drivers/pci/pci-sh7751.h | 126
arch/sh/drivers/pci/pci-sh7780.c | 407 --
arch/sh/drivers/pci/pci-sh7780.h | 43
arch/sh/drivers/pci/pci.c | 298 -
arch/sh/drivers/pci/pcie-sh7786.c | 609 ---
arch/sh/drivers/pci/pcie-sh7786.h | 577 ---
arch/sh/drivers/platform_early.c | 340 -
arch/sh/drivers/push-switch.c | 136
arch/sh/drivers/superhyway/Makefile | 7
arch/sh/drivers/superhyway/ops-sh4-202.c | 168
arch/sh/include/asm/Kbuild | 5
arch/sh/include/asm/adc.h | 12
arch/sh/include/asm/addrspace.h | 63
arch/sh/include/asm/alignment.h | 22
arch/sh/include/asm/asm-offsets.h | 2
arch/sh/include/asm/atomic-grb.h | 86
arch/sh/include/asm/atomic-irq.h | 72
arch/sh/include/asm/atomic-llsc.h | 88
arch/sh/include/asm/atomic.h | 38
arch/sh/include/asm/barrier.h | 45
arch/sh/include/asm/bitops-cas.h | 94
arch/sh/include/asm/bitops-grb.h | 173
arch/sh/include/asm/bitops-llsc.h | 147
arch/sh/include/asm/bitops-op32.h | 143
arch/sh/include/asm/bitops.h | 72
arch/sh/include/asm/bl_bit.h | 2
arch/sh/include/asm/bl_bit_32.h | 34
arch/sh/include/asm/bug.h | 121
arch/sh/include/asm/bugs.h | 74
arch/sh/include/asm/cache.h | 46
arch/sh/include/asm/cache_insns.h | 2
arch/sh/include/asm/cache_insns_32.h | 22
arch/sh/include/asm/cacheflush.h | 106
arch/sh/include/asm/checksum.h | 2
arch/sh/include/asm/checksum_32.h | 203 -
arch/sh/include/asm/clock.h | 17
arch/sh/include/asm/cmpxchg-cas.h | 25
arch/sh/include/asm/cmpxchg-grb.h | 95
arch/sh/include/asm/cmpxchg-irq.h | 54
arch/sh/include/asm/cmpxchg-llsc.h | 53
arch/sh/include/asm/cmpxchg-xchg.h | 50
arch/sh/include/asm/cmpxchg.h | 74
arch/sh/include/asm/device.h | 17
arch/sh/include/asm/dma-register.h | 50
arch/sh/include/asm/dma.h | 140
arch/sh/include/asm/dmabrg.h | 24
arch/sh/include/asm/dwarf.h | 417 --
arch/sh/include/asm/elf.h | 211 -
arch/sh/include/asm/entry-macros.S | 123
arch/sh/include/asm/extable.h | 7
arch/sh/include/asm/fb.h | 20
arch/sh/include/asm/fixmap.h | 86
arch/sh/include/asm/flat.h | 33
arch/sh/include/asm/fpu.h | 69
arch/sh/include/asm/freq.h | 12
arch/sh/include/asm/ftrace.h | 48
arch/sh/include/asm/futex-cas.h | 35
arch/sh/include/asm/futex-irq.h | 25
arch/sh/include/asm/futex-llsc.h | 42
arch/sh/include/asm/futex.h | 72
arch/sh/include/asm/gpio.h | 50
arch/sh/include/asm/hardirq.h | 11
arch/sh/include/asm/hd64461.h | 252 -
arch/sh/include/asm/heartbeat.h | 19
arch/sh/include/asm/hugetlb.h | 38
arch/sh/include/asm/hw_breakpoint.h | 70
arch/sh/include/asm/hw_irq.h | 36
arch/sh/include/asm/i2c-sh7760.h | 21
arch/sh/include/asm/io.h | 294 -
arch/sh/include/asm/io_generic.h | 19
arch/sh/include/asm/io_noioport.h | 86
arch/sh/include/asm/io_trapped.h | 59
arch/sh/include/asm/irq.h | 58
arch/sh/include/asm/irqflags.h | 10
arch/sh/include/asm/kdebug.h | 19
arch/sh/include/asm/kexec.h | 72
arch/sh/include/asm/kgdb.h | 38
arch/sh/include/asm/kprobes.h | 57
arch/sh/include/asm/linkage.h | 8
arch/sh/include/asm/machvec.h | 41
arch/sh/include/asm/mmiowb.h | 12
arch/sh/include/asm/mmu.h | 107
arch/sh/include/asm/mmu_context.h | 178
arch/sh/include/asm/mmu_context_32.h | 51
arch/sh/include/asm/mmzone.h | 45
arch/sh/include/asm/module.h | 14
arch/sh/include/asm/page.h | 186
arch/sh/include/asm/pci.h | 91
arch/sh/include/asm/perf_event.h | 30
arch/sh/include/asm/pgalloc.h | 40
arch/sh/include/asm/pgtable-2level.h | 24
arch/sh/include/asm/pgtable-3level.h | 59
arch/sh/include/asm/pgtable.h | 150
arch/sh/include/asm/pgtable_32.h | 462 --
arch/sh/include/asm/platform_early.h | 61
arch/sh/include/asm/posix_types.h | 2
arch/sh/include/asm/processor.h | 173
arch/sh/include/asm/processor_32.h | 202 -
arch/sh/include/asm/ptrace.h | 139
arch/sh/include/asm/ptrace_32.h | 14
arch/sh/include/asm/push-switch.h | 32
arch/sh/include/asm/reboot.h | 22
arch/sh/include/asm/romimage-macros.h | 74
arch/sh/include/asm/rtc.h | 15
arch/sh/include/asm/seccomp.h | 21
arch/sh/include/asm/sections.h | 12
arch/sh/include/asm/setup.h | 25
arch/sh/include/asm/sfp-machine.h | 80
arch/sh/include/asm/sh7760fb.h | 198 -
arch/sh/include/asm/sh_bios.h | 28
arch/sh/include/asm/shmparam.h | 19
arch/sh/include/asm/siu.h | 20
arch/sh/include/asm/smc37c93x.h | 191 -
arch/sh/include/asm/smp-ops.h | 52
arch/sh/include/asm/smp.h | 83
arch/sh/include/asm/sparsemem.h | 12
arch/sh/include/asm/spi.h | 14
arch/sh/include/asm/spinlock-cas.h | 89
arch/sh/include/asm/spinlock-llsc.h | 198 -
arch/sh/include/asm/spinlock.h | 19
arch/sh/include/asm/spinlock_types.h | 22
arch/sh/include/asm/sram.h | 39
arch/sh/include/asm/stackprotector.h | 21
arch/sh/include/asm/stacktrace.h | 21
arch/sh/include/asm/string.h | 2
arch/sh/include/asm/string_32.h | 102
arch/sh/include/asm/suspend.h | 97
arch/sh/include/asm/switch_to.h | 7
arch/sh/include/asm/switch_to_32.h | 131
arch/sh/include/asm/syscall.h | 9
arch/sh/include/asm/syscall_32.h | 69
arch/sh/include/asm/syscalls.h | 14
arch/sh/include/asm/syscalls_32.h | 27
arch/sh/include/asm/thread_info.h | 171
arch/sh/include/asm/timex.h | 24
arch/sh/include/asm/tlb.h | 29
arch/sh/include/asm/tlbflush.h | 52
arch/sh/include/asm/topology.h | 28
arch/sh/include/asm/traps.h | 18
arch/sh/include/asm/traps_32.h | 61
arch/sh/include/asm/types.h | 16
arch/sh/include/asm/uaccess.h | 133
arch/sh/include/asm/uaccess_32.h | 227 -
arch/sh/include/asm/uncached.h | 59
arch/sh/include/asm/unistd.h | 31
arch/sh/include/asm/unwinder.h | 32
arch/sh/include/asm/user.h | 55
arch/sh/include/asm/vermagic.h | 30
arch/sh/include/asm/vga.h | 7
arch/sh/include/asm/vmalloc.h | 4
arch/sh/include/asm/vmlinux.lds.h | 18
arch/sh/include/asm/watchdog.h | 159
arch/sh/include/asm/word-at-a-time.h | 54
arch/sh/include/cpu-common/cpu/addrspace.h | 16
arch/sh/include/cpu-common/cpu/mmu_context.h | 13
arch/sh/include/cpu-common/cpu/pfc.h | 18
arch/sh/include/cpu-common/cpu/rtc.h | 9
arch/sh/include/cpu-common/cpu/sigcontext.h | 18
arch/sh/include/cpu-common/cpu/timer.h | 7
arch/sh/include/cpu-sh2/cpu/cache.h | 40
arch/sh/include/cpu-sh2/cpu/freq.h | 15
arch/sh/include/cpu-sh2/cpu/watchdog.h | 66
arch/sh/include/cpu-sh2a/cpu/addrspace.h | 11
arch/sh/include/cpu-sh2a/cpu/cache.h | 40
arch/sh/include/cpu-sh2a/cpu/freq.h | 13
arch/sh/include/cpu-sh2a/cpu/rtc.h | 9
arch/sh/include/cpu-sh2a/cpu/sh7203.h | 144
arch/sh/include/cpu-sh2a/cpu/sh7264.h | 169
arch/sh/include/cpu-sh2a/cpu/sh7269.h | 213 -
arch/sh/include/cpu-sh2a/cpu/watchdog.h | 2
arch/sh/include/cpu-sh3/cpu/adc.h | 29
arch/sh/include/cpu-sh3/cpu/cache.h | 40
arch/sh/include/cpu-sh3/cpu/dac.h | 42
arch/sh/include/cpu-sh3/cpu/dma-register.h | 38
arch/sh/include/cpu-sh3/cpu/dma.h | 19
arch/sh/include/cpu-sh3/cpu/freq.h | 24
arch/sh/include/cpu-sh3/cpu/gpio.h | 78
arch/sh/include/cpu-sh3/cpu/mmu_context.h | 42
arch/sh/include/cpu-sh3/cpu/serial.h | 11
arch/sh/include/cpu-sh3/cpu/sh7720.h | 175
arch/sh/include/cpu-sh3/cpu/watchdog.h | 22
arch/sh/include/cpu-sh4/cpu/addrspace.h | 41
arch/sh/include/cpu-sh4/cpu/cache.h | 41
arch/sh/include/cpu-sh4/cpu/dma-register.h | 98
arch/sh/include/cpu-sh4/cpu/dma.h | 18
arch/sh/include/cpu-sh4/cpu/fpu.h | 30
arch/sh/include/cpu-sh4/cpu/freq.h | 74
arch/sh/include/cpu-sh4/cpu/mmu_context.h | 79
arch/sh/include/cpu-sh4/cpu/rtc.h | 14
arch/sh/include/cpu-sh4/cpu/sh7722.h | 252 -
arch/sh/include/cpu-sh4/cpu/sh7723.h | 285 -
arch/sh/include/cpu-sh4/cpu/sh7724.h | 319 -
arch/sh/include/cpu-sh4/cpu/sh7734.h | 307 -
arch/sh/include/cpu-sh4/cpu/sh7757.h | 290 -
arch/sh/include/cpu-sh4/cpu/sh7785.h | 260 -
arch/sh/include/cpu-sh4/cpu/sh7786.h | 138
arch/sh/include/cpu-sh4/cpu/shx3.h | 65
arch/sh/include/cpu-sh4/cpu/sigcontext.h | 25
arch/sh/include/cpu-sh4/cpu/sq.h | 33
arch/sh/include/cpu-sh4/cpu/watchdog.h | 41
arch/sh/include/cpu-sh4a/cpu/dma.h | 72
arch/sh/include/cpu-sh4a/cpu/serial.h | 8
arch/sh/include/mach-common/mach/highlander.h | 208 -
arch/sh/include/mach-common/mach/hp6xx.h | 59
arch/sh/include/mach-common/mach/lboxre2.h | 24
arch/sh/include/mach-common/mach/magicpanelr2.h | 64
arch/sh/include/mach-common/mach/mangle-port.h | 46
arch/sh/include/mach-common/mach/microdev.h | 69
arch/sh/include/mach-common/mach/r2d.h | 71
arch/sh/include/mach-common/mach/romimage.h | 12
arch/sh/include/mach-common/mach/sdk7780.h | 79
arch/sh/include/mach-common/mach/secureedge5410.h | 47
arch/sh/include/mach-common/mach/sh2007.h | 118
arch/sh/include/mach-common/mach/sh7763rdp.h | 50
arch/sh/include/mach-common/mach/sh7785lcr.h | 58
arch/sh/include/mach-common/mach/shmin.h | 10
arch/sh/include/mach-common/mach/titan.h | 20
arch/sh/include/mach-common/mach/urquell.h | 69
arch/sh/include/mach-dreamcast/mach/dma.h | 29
arch/sh/include/mach-dreamcast/mach/maple.h | 38
arch/sh/include/mach-dreamcast/mach/pci.h | 24
arch/sh/include/mach-dreamcast/mach/sysasic.h | 46
arch/sh/include/mach-ecovec24/mach/partner-jet-setup.txt | 82
arch/sh/include/mach-ecovec24/mach/romimage.h | 48
arch/sh/include/mach-kfr2r09/mach/kfr2r09.h | 24
arch/sh/include/mach-kfr2r09/mach/partner-jet-setup.txt | 144
arch/sh/include/mach-kfr2r09/mach/romimage.h | 31
arch/sh/include/mach-landisk/mach/gio.h | 38
arch/sh/include/mach-landisk/mach/iodata_landisk.h | 46
arch/sh/include/mach-migor/mach/migor.h | 16
arch/sh/include/mach-sdk7786/mach/fpga.h | 156
arch/sh/include/mach-sdk7786/mach/irq.h | 8
arch/sh/include/mach-se/mach/mrshpc.h | 53
arch/sh/include/mach-se/mach/se.h | 120
arch/sh/include/mach-se/mach/se7206.h | 14
arch/sh/include/mach-se/mach/se7343.h | 143
arch/sh/include/mach-se/mach/se7721.h | 68
arch/sh/include/mach-se/mach/se7722.h | 98
arch/sh/include/mach-se/mach/se7724.h | 69
arch/sh/include/mach-se/mach/se7751.h | 75
arch/sh/include/mach-se/mach/se7780.h | 106
arch/sh/include/mach-sh03/mach/io.h | 26
arch/sh/include/mach-sh03/mach/sh03.h | 19
arch/sh/include/mach-x3proto/mach/hardware.h | 13
arch/sh/include/mach-x3proto/mach/ilsel.h | 46
arch/sh/include/uapi/asm/Kbuild | 4
arch/sh/include/uapi/asm/auxvec.h | 39
arch/sh/include/uapi/asm/byteorder.h | 11
arch/sh/include/uapi/asm/cachectl.h | 20
arch/sh/include/uapi/asm/cpu-features.h | 28
arch/sh/include/uapi/asm/hw_breakpoint.h | 5
arch/sh/include/uapi/asm/ioctls.h | 116
arch/sh/include/uapi/asm/posix_types.h | 2
arch/sh/include/uapi/asm/posix_types_32.h | 23
arch/sh/include/uapi/asm/ptrace.h | 30
arch/sh/include/uapi/asm/ptrace_32.h | 78
arch/sh/include/uapi/asm/sigcontext.h | 25
arch/sh/include/uapi/asm/signal.h | 18
arch/sh/include/uapi/asm/sockios.h | 18
arch/sh/include/uapi/asm/stat.h | 78
arch/sh/include/uapi/asm/swab.h | 50
arch/sh/include/uapi/asm/unistd.h | 2
arch/sh/kernel/.gitignore | 2
arch/sh/kernel/Makefile | 49
arch/sh/kernel/asm-offsets.c | 60
arch/sh/kernel/cpu/Makefile | 21
arch/sh/kernel/cpu/adc.c | 37
arch/sh/kernel/cpu/clock-cpg.c | 78
arch/sh/kernel/cpu/clock.c | 52
arch/sh/kernel/cpu/fpu.c | 92
arch/sh/kernel/cpu/init.c | 366 -
arch/sh/kernel/cpu/irq/Makefile | 6
arch/sh/kernel/cpu/irq/imask.c | 85
arch/sh/kernel/cpu/irq/ipr.c | 80
arch/sh/kernel/cpu/pfc.c | 25
arch/sh/kernel/cpu/proc.c | 151
arch/sh/kernel/cpu/sh2/Makefile | 12
arch/sh/kernel/cpu/sh2/clock-sh7619.c | 74
arch/sh/kernel/cpu/sh2/entry.S | 373 -
arch/sh/kernel/cpu/sh2/ex.S | 44
arch/sh/kernel/cpu/sh2/probe.c | 71
arch/sh/kernel/cpu/sh2/setup-sh7619.c | 205 -
arch/sh/kernel/cpu/sh2/smp-j2.c | 136
arch/sh/kernel/cpu/sh2a/Makefile | 25
arch/sh/kernel/cpu/sh2a/clock-sh7201.c | 82
arch/sh/kernel/cpu/sh2a/clock-sh7203.c | 78
arch/sh/kernel/cpu/sh2a/clock-sh7206.c | 80
arch/sh/kernel/cpu/sh2a/clock-sh7264.c | 157
arch/sh/kernel/cpu/sh2a/clock-sh7269.c | 181
arch/sh/kernel/cpu/sh2a/entry.S | 247 -
arch/sh/kernel/cpu/sh2a/ex.S | 70
arch/sh/kernel/cpu/sh2a/fpu.c | 572 ---
arch/sh/kernel/cpu/sh2a/opcode_helper.c | 51
arch/sh/kernel/cpu/sh2a/pinmux-sh7203.c | 27
arch/sh/kernel/cpu/sh2a/pinmux-sh7264.c | 27
arch/sh/kernel/cpu/sh2a/pinmux-sh7269.c | 28
arch/sh/kernel/cpu/sh2a/probe.c | 57
arch/sh/kernel/cpu/sh2a/setup-mxg.c | 175
arch/sh/kernel/cpu/sh2a/setup-sh7201.c | 418 --
arch/sh/kernel/cpu/sh2a/setup-sh7203.c | 355 -
arch/sh/kernel/cpu/sh2a/setup-sh7206.c | 291 -
arch/sh/kernel/cpu/sh2a/setup-sh7264.c | 552 --
arch/sh/kernel/cpu/sh2a/setup-sh7269.c | 568 --
arch/sh/kernel/cpu/sh3/Makefile | 34
arch/sh/kernel/cpu/sh3/clock-sh3.c | 86
arch/sh/kernel/cpu/sh3/clock-sh7705.c | 81
arch/sh/kernel/cpu/sh3/clock-sh7706.c | 81
arch/sh/kernel/cpu/sh3/clock-sh7709.c | 82
arch/sh/kernel/cpu/sh3/clock-sh7710.c | 75
arch/sh/kernel/cpu/sh3/clock-sh7712.c | 68
arch/sh/kernel/cpu/sh3/entry.S | 509 --
arch/sh/kernel/cpu/sh3/ex.S | 56
arch/sh/kernel/cpu/sh3/pinmux-sh7720.c | 27
arch/sh/kernel/cpu/sh3/probe.c | 108
arch/sh/kernel/cpu/sh3/serial-sh770x.c | 34
arch/sh/kernel/cpu/sh3/serial-sh7710.c | 21
arch/sh/kernel/cpu/sh3/serial-sh7720.c | 38
arch/sh/kernel/cpu/sh3/setup-sh3.c | 69
arch/sh/kernel/cpu/sh3/setup-sh7705.c | 190
arch/sh/kernel/cpu/sh3/setup-sh770x.c | 246 -
arch/sh/kernel/cpu/sh3/setup-sh7710.c | 189
arch/sh/kernel/cpu/sh3/setup-sh7720.c | 286 -
arch/sh/kernel/cpu/sh3/swsusp.S | 144
arch/sh/kernel/cpu/sh4/Makefile | 37
arch/sh/kernel/cpu/sh4/clock-sh4-202.c | 174
arch/sh/kernel/cpu/sh4/clock-sh4.c | 77
arch/sh/kernel/cpu/sh4/fpu.c | 425 --
arch/sh/kernel/cpu/sh4/perf_event.c | 265 -
arch/sh/kernel/cpu/sh4/probe.c | 260 -
arch/sh/kernel/cpu/sh4/setup-sh4-202.c | 139
arch/sh/kernel/cpu/sh4/setup-sh7750.c | 359 -
arch/sh/kernel/cpu/sh4/setup-sh7760.c | 297 -
arch/sh/kernel/cpu/sh4/softfloat.c | 930 ----
arch/sh/kernel/cpu/sh4/sq.c | 414 --
arch/sh/kernel/cpu/sh4a/Makefile | 53
arch/sh/kernel/cpu/sh4a/clock-sh7343.c | 277 -
arch/sh/kernel/cpu/sh4a/clock-sh7366.c | 270 -
arch/sh/kernel/cpu/sh4a/clock-sh7722.c | 253 -
arch/sh/kernel/cpu/sh4a/clock-sh7723.c | 301 -
arch/sh/kernel/cpu/sh4a/clock-sh7724.c | 367 -
arch/sh/kernel/cpu/sh4a/clock-sh7734.c | 256 -
arch/sh/kernel/cpu/sh4a/clock-sh7757.c | 152
arch/sh/kernel/cpu/sh4a/clock-sh7763.c | 116
arch/sh/kernel/cpu/sh4a/clock-sh7770.c | 70
arch/sh/kernel/cpu/sh4a/clock-sh7780.c | 122
arch/sh/kernel/cpu/sh4a/clock-sh7785.c | 174
arch/sh/kernel/cpu/sh4a/clock-sh7786.c | 189
arch/sh/kernel/cpu/sh4a/clock-shx3.c | 148
arch/sh/kernel/cpu/sh4a/intc-shx3.c | 31
arch/sh/kernel/cpu/sh4a/perf_event.c | 299 -
arch/sh/kernel/cpu/sh4a/pinmux-sh7722.c | 21
arch/sh/kernel/cpu/sh4a/pinmux-sh7723.c | 27
arch/sh/kernel/cpu/sh4a/pinmux-sh7724.c | 32
arch/sh/kernel/cpu/sh4a/pinmux-sh7734.c | 32
arch/sh/kernel/cpu/sh4a/pinmux-sh7757.c | 32
arch/sh/kernel/cpu/sh4a/pinmux-sh7785.c | 27
arch/sh/kernel/cpu/sh4a/pinmux-sh7786.c | 32
arch/sh/kernel/cpu/sh4a/pinmux-shx3.c | 26
arch/sh/kernel/cpu/sh4a/serial-sh7722.c | 24
arch/sh/kernel/cpu/sh4a/setup-sh7343.c | 444 --
arch/sh/kernel/cpu/sh4a/setup-sh7366.c | 388 --
arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 666 ---
arch/sh/kernel/cpu/sh4a/setup-sh7723.c | 644 ---
arch/sh/kernel/cpu/sh4a/setup-sh7724.c | 1288 ------
arch/sh/kernel/cpu/sh4a/setup-sh7734.c | 621 ---
arch/sh/kernel/cpu/sh4a/setup-sh7757.c | 1242 ------
arch/sh/kernel/cpu/sh4a/setup-sh7763.c | 455 --
arch/sh/kernel/cpu/sh4a/setup-sh7770.c | 571 ---
arch/sh/kernel/cpu/sh4a/setup-sh7780.c | 505 --
arch/sh/kernel/cpu/sh4a/setup-sh7785.c | 608 ---
arch/sh/kernel/cpu/sh4a/setup-sh7786.c | 841 ----
arch/sh/kernel/cpu/sh4a/setup-shx3.c | 396 --
arch/sh/kernel/cpu/sh4a/smp-shx3.c | 146
arch/sh/kernel/cpu/sh4a/ubc.c | 130
arch/sh/kernel/cpu/shmobile/Makefile | 8
arch/sh/kernel/cpu/shmobile/cpuidle.c | 95
arch/sh/kernel/cpu/shmobile/pm.c | 153
arch/sh/kernel/cpu/shmobile/sleep.S | 402 --
arch/sh/kernel/crash_dump.c | 27
arch/sh/kernel/debugtraps.S | 38
arch/sh/kernel/disassemble.c | 572 ---
arch/sh/kernel/dma-coherent.c | 33
arch/sh/kernel/dumpstack.c | 156
arch/sh/kernel/dwarf.c | 1206 ------
arch/sh/kernel/entry-common.S | 400 --
arch/sh/kernel/ftrace.c | 365 -
arch/sh/kernel/head_32.S | 365 -
arch/sh/kernel/hw_breakpoint.c | 408 --
arch/sh/kernel/idle.c | 57
arch/sh/kernel/io.c | 111
arch/sh/kernel/io_trapped.c | 291 -
arch/sh/kernel/iomap.c | 162
arch/sh/kernel/ioport.c | 41
arch/sh/kernel/irq.c | 249 -
arch/sh/kernel/irq_32.c | 54
arch/sh/kernel/kdebugfs.c | 14
arch/sh/kernel/kgdb.c | 378 -
arch/sh/kernel/kprobes.c | 452 --
arch/sh/kernel/machine_kexec.c | 204 -
arch/sh/kernel/machvec.c | 122
arch/sh/kernel/module.c | 104
arch/sh/kernel/nmi_debug.c | 75
arch/sh/kernel/perf_callchain.c | 32
arch/sh/kernel/perf_event.c | 363 -
arch/sh/kernel/process.c | 77
arch/sh/kernel/process_32.c | 197 -
arch/sh/kernel/ptrace.c | 34
arch/sh/kernel/ptrace_32.c | 487 --
arch/sh/kernel/reboot.c | 96
arch/sh/kernel/relocate_kernel.S | 230 -
arch/sh/kernel/return_address.c | 56
arch/sh/kernel/setup.c | 356 -
arch/sh/kernel/sh_bios.c | 169
arch/sh/kernel/sh_ksyms_32.c | 118
arch/sh/kernel/signal_32.c | 507 --
arch/sh/kernel/smp.c | 471 --
arch/sh/kernel/stacktrace.c | 79
arch/sh/kernel/swsusp.c | 35
arch/sh/kernel/sys_sh.c | 96
arch/sh/kernel/sys_sh32.c | 61
arch/sh/kernel/syscalls/Makefile | 32
arch/sh/kernel/syscalls/syscall.tbl | 455 --
arch/sh/kernel/syscalls_32.S | 17
arch/sh/kernel/time.c | 45
arch/sh/kernel/topology.c | 74
arch/sh/kernel/traps.c | 204 -
arch/sh/kernel/traps_32.c | 795 ----
arch/sh/kernel/unwinder.c | 165
arch/sh/kernel/vmlinux.lds.S | 82
arch/sh/kernel/vsyscall/.gitignore | 2
arch/sh/kernel/vsyscall/Makefile | 36
arch/sh/kernel/vsyscall/vsyscall-note.S | 26
arch/sh/kernel/vsyscall/vsyscall-sigreturn.S | 75
arch/sh/kernel/vsyscall/vsyscall-syscall.S | 11
arch/sh/kernel/vsyscall/vsyscall-trapa.S | 40
arch/sh/kernel/vsyscall/vsyscall.c | 93
arch/sh/kernel/vsyscall/vsyscall.lds.S | 85
arch/sh/lib/Makefile | 32
arch/sh/lib/__clear_user.S | 109
arch/sh/lib/ashiftrt.S | 128
arch/sh/lib/ashldi3.c | 30
arch/sh/lib/ashlsi3.S | 189
arch/sh/lib/ashrdi3.c | 32
arch/sh/lib/ashrsi3.S | 179
arch/sh/lib/checksum.S | 365 -
arch/sh/lib/copy_page.S | 390 --
arch/sh/lib/delay.c | 54
arch/sh/lib/div64-generic.c | 20
arch/sh/lib/div64.S | 47
arch/sh/lib/io.c | 79
arch/sh/lib/libgcc.h | 27
arch/sh/lib/lshrdi3.c | 30
arch/sh/lib/lshrsi3.S | 188
arch/sh/lib/mcount.S | 287 -
arch/sh/lib/memchr.S | 27
arch/sh/lib/memcpy-sh4.S | 800 ----
arch/sh/lib/memcpy.S | 228 -
arch/sh/lib/memmove.S | 255 -
arch/sh/lib/memset-sh4.S | 108
arch/sh/lib/memset.S | 59
arch/sh/lib/movmem.S | 217 -
arch/sh/lib/strlen.S | 71
arch/sh/lib/udiv_qrnnd.S | 60
arch/sh/lib/udivsi3.S | 66
arch/sh/lib/udivsi3_i4i-Os.S | 128
arch/sh/lib/udivsi3_i4i.S | 645 ---
arch/sh/math-emu/Makefile | 2
arch/sh/math-emu/math.c | 506 --
arch/sh/math-emu/sfp-util.h | 73
arch/sh/mm/Kconfig | 254 -
arch/sh/mm/Makefile | 45
arch/sh/mm/alignment.c | 189
arch/sh/mm/asids-debugfs.c | 59
arch/sh/mm/cache-debugfs.c | 109
arch/sh/mm/cache-j2.c | 64
arch/sh/mm/cache-sh2.c | 90
arch/sh/mm/cache-sh2a.c | 188
arch/sh/mm/cache-sh3.c | 102
arch/sh/mm/cache-sh4.c | 390 --
arch/sh/mm/cache-sh7705.c | 194 -
arch/sh/mm/cache-shx3.c | 44
arch/sh/mm/cache.c | 360 -
arch/sh/mm/consistent.c | 65
arch/sh/mm/extable_32.c | 24
arch/sh/mm/fault.c | 504 --
arch/sh/mm/flush-sh4.c | 111
arch/sh/mm/hugetlbpage.c | 82
arch/sh/mm/init.c | 424 --
arch/sh/mm/ioremap.c | 192 -
arch/sh/mm/ioremap.h | 23
arch/sh/mm/ioremap_fixed.c | 135
arch/sh/mm/kmap.c | 65
arch/sh/mm/mmap.c | 184
arch/sh/mm/nommu.c | 98
arch/sh/mm/numa.c | 56
arch/sh/mm/pgtable.c | 57
arch/sh/mm/pmb.c | 887 ----
arch/sh/mm/sram.c | 35
arch/sh/mm/tlb-debugfs.c | 160
arch/sh/mm/tlb-pteaex.c | 106
arch/sh/mm/tlb-sh3.c | 95
arch/sh/mm/tlb-sh4.c | 108
arch/sh/mm/tlb-urb.c | 93
arch/sh/mm/tlbex_32.c | 82
arch/sh/mm/tlbflush_32.c | 137
arch/sh/mm/uncached.c | 44
arch/sh/tools/Makefile | 16
arch/sh/tools/gen-mach-types | 48
arch/sh/tools/mach-types | 67
b/Documentation/arch.rst | 1
b/Documentation/watchdog/watchdog-parameters.rst | 12
b/MAINTAINERS | 10
b/drivers/Makefile | 1
b/drivers/base/platform.c | 4
b/drivers/clocksource/sh_cmt.c | 16
b/drivers/clocksource/sh_mtu2.c | 16
b/drivers/clocksource/sh_tmu.c | 17
b/drivers/cpufreq/Kconfig | 14
b/drivers/cpufreq/Makefile | 1
b/drivers/dma/sh/Kconfig | 20
b/drivers/dma/sh/Makefile | 13
b/drivers/gpu/drm/Kconfig | 2
b/drivers/gpu/drm/Makefile | 1
b/drivers/i2c/busses/Kconfig | 13
b/drivers/i2c/busses/Makefile | 1
b/drivers/input/keyboard/Kconfig | 10
b/drivers/input/keyboard/Makefile | 1
b/drivers/media/platform/renesas/Kconfig | 11
b/drivers/media/platform/renesas/Makefile | 1
b/drivers/mmc/host/Kconfig | 6
b/drivers/mmc/host/sh_mmcif.c | 21
b/drivers/mtd/nand/raw/Kconfig | 8
b/drivers/mtd/nand/raw/Makefile | 1
b/drivers/net/ethernet/8390/Kconfig | 14
b/drivers/net/ethernet/8390/Makefile | 1
b/drivers/net/ethernet/renesas/Kconfig | 2
b/drivers/net/ethernet/smsc/Kconfig | 4
b/drivers/pinctrl/renesas/Kconfig | 63
b/drivers/pinctrl/renesas/Makefile | 27
b/drivers/pinctrl/renesas/core.c | 598 ---
b/drivers/rtc/Kconfig | 4
b/drivers/rtc/rtc-sh.c | 18
b/drivers/spi/Kconfig | 24
b/drivers/spi/Makefile | 3
b/drivers/tty/serial/Kconfig | 3
b/drivers/tty/serial/sh-sci.c | 57
b/drivers/tty/vt/keyboard.c | 2
b/drivers/usb/host/Kconfig | 18
b/drivers/usb/host/ehci-hcd.c | 7
b/drivers/usb/renesas_usbhs/Kconfig | 2
b/drivers/video/console/Kconfig | 2
b/drivers/video/fbdev/Kconfig | 17
b/drivers/video/fbdev/Makefile | 1
b/drivers/video/logo/Kconfig | 15
b/drivers/video/logo/Makefile | 3
b/drivers/video/logo/logo.c | 12
b/drivers/watchdog/Kconfig | 20
b/drivers/watchdog/Makefile | 3
b/fs/Kconfig.binfmt | 2
b/fs/minix/Kconfig | 2
b/include/linux/cpuhotplug.h | 1
b/include/linux/platform_device.h | 15
b/include/linux/sh_intc.h | 4
b/include/linux/shdma-base.h | 4
b/init/Kconfig | 2
b/kernel/sysctl.c | 3
b/lib/Kconfig.debug | 2
b/lib/math/div64.c | 4
b/lib/test_user_copy.c | 3
b/scripts/coccinelle/misc/cond_no_effect.cocci | 13
b/scripts/head-object-list.txt | 1
b/sound/Kconfig | 2
b/sound/Makefile | 2
b/sound/soc/sh/Kconfig | 48
b/sound/soc/sh/Makefile | 16
b/sound/soc/sh/fsi.c | 9
b/tools/include/asm/barrier.h | 2
b/tools/perf/util/dwarf-regs.c | 1
drivers/cpufreq/sh-cpufreq.c | 175
drivers/dma/sh/shdma-base.c | 1052 -----
drivers/dma/sh/shdma.h | 61
drivers/dma/sh/shdmac.c | 938 ----
drivers/gpu/drm/shmobile/Kconfig | 12
drivers/gpu/drm/shmobile/Makefile | 8
drivers/gpu/drm/shmobile/shmob_drm_backlight.c | 82
drivers/gpu/drm/shmobile/shmob_drm_backlight.h | 19
drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 683 ---
drivers/gpu/drm/shmobile/shmob_drm_crtc.h | 55
drivers/gpu/drm/shmobile/shmob_drm_drv.c | 303 -
drivers/gpu/drm/shmobile/shmob_drm_drv.h | 42
drivers/gpu/drm/shmobile/shmob_drm_kms.c | 150
drivers/gpu/drm/shmobile/shmob_drm_kms.h | 29
drivers/gpu/drm/shmobile/shmob_drm_plane.c | 261 -
drivers/gpu/drm/shmobile/shmob_drm_plane.h | 19
drivers/gpu/drm/shmobile/shmob_drm_regs.h | 310 -
drivers/i2c/busses/i2c-sh7760.c | 565 --
drivers/input/keyboard/sh_keysc.c | 334 -
drivers/media/platform/renesas/sh_vou.c | 1375 -------
drivers/mtd/nand/raw/sh_flctl.c | 1234 ------
drivers/net/ethernet/8390/stnic.c | 302 -
drivers/pinctrl/renesas/pfc-sh7203.c | 1577 --------
drivers/pinctrl/renesas/pfc-sh7264.c | 2131 -----------
drivers/pinctrl/renesas/pfc-sh7269.c | 2851 ---------------
drivers/pinctrl/renesas/pfc-sh7720.c | 1201 ------
drivers/pinctrl/renesas/pfc-sh7722.c | 1703 --------
drivers/pinctrl/renesas/pfc-sh7723.c | 1902 ----------
drivers/pinctrl/renesas/pfc-sh7724.c | 2177 -----------
drivers/pinctrl/renesas/pfc-sh7734.c | 2408 ------------
drivers/pinctrl/renesas/pfc-sh7757.c | 2219 -----------
drivers/pinctrl/renesas/pfc-sh7785.c | 1258 ------
drivers/pinctrl/renesas/pfc-sh7786.c | 809 ----
drivers/pinctrl/renesas/pfc-shx3.c | 557 --
drivers/sh/Kconfig | 6
drivers/sh/Makefile | 12
drivers/sh/clk/Makefile | 4
drivers/sh/clk/core.c | 624 ---
drivers/sh/clk/cpg.c | 477 --
drivers/sh/intc/Kconfig | 44
drivers/sh/intc/Makefile | 6
drivers/sh/intc/access.c | 246 -
drivers/sh/intc/balancing.c | 97
drivers/sh/intc/chip.c | 211 -
drivers/sh/intc/core.c | 501 --
drivers/sh/intc/handle.c | 306 -
drivers/sh/intc/internals.h | 191 -
drivers/sh/intc/irqdomain.c | 68
drivers/sh/intc/userimask.c | 84
drivers/sh/intc/virq-debugfs.c | 54
drivers/sh/intc/virq.c | 269 -
drivers/sh/maple/Makefile | 4
drivers/sh/maple/maple.c | 895 ----
drivers/sh/pm_runtime.c | 40
drivers/sh/superhyway/Makefile | 8
drivers/sh/superhyway/superhyway-sysfs.c | 54
drivers/sh/superhyway/superhyway.c | 234 -
drivers/spi/spi-jcore.c | 235 -
drivers/spi/spi-sh-sci.c | 197 -
drivers/spi/spi-sh.c | 474 --
drivers/usb/host/ehci-sh.c | 182
drivers/video/fbdev/sh7760fb.c | 587 ---
drivers/video/logo/logo_superh_clut224.ppm | 1604 --------
drivers/video/logo/logo_superh_vga16.ppm | 1604 --------
drivers/watchdog/shwdt.c | 344 -
include/linux/mtd/sh_flctl.h | 180
include/linux/sh_clk.h | 213 -
include/linux/superhyway.h | 107
sound/sh/Kconfig | 32
sound/sh/Makefile | 11
sound/sh/aica.c | 628 ---
sound/sh/aica.h | 68
sound/sh/sh_dac_audio.c | 412 --
sound/soc/sh/dma-sh7760.c | 334 -
sound/soc/sh/hac.c | 345 -
sound/soc/sh/migor.c | 205 -
sound/soc/sh/sh7760-ac97.c | 72
sound/soc/sh/siu.h | 180
sound/soc/sh/siu_dai.c | 799 ----
sound/soc/sh/siu_pcm.c | 553 --
sound/soc/sh/ssi.c | 403 --
896 files changed, 46 insertions(+), 138518 deletions(-)
18
96
With a Lenovo Thinkpad T14s (Gen1, Intel version), I tried to get sound
on the monitor speakers via the HDMI cable.
It didn’t work out of the box and after a bit of googling I found:
https://forums.lenovo.com/t5/ThinkPad-T400-T500-and-newer-T-series-Laptops/…
which suggested to put
snd_rn_pci_acp3x.dmic_acpi_check=0
on the kernel command line.
So I tried this:
$ cat /etc/modprobe.d/lenovot14s.conf
options snd-rn-pci-acp3x dmic_acpi_check=0
And that did make it work indeed.
I have no idea what this means and why this makes it work.
--
Mike FABIAN <mfabian(a)redhat.com>
睡眠不足はいい仕事の敵だ。
2
10