| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
Enables j316, j413, j415, j416
*** WARNING FOR DISTRO PACKAGERS WANTING TO APPLY THIS: ***
*** YOU ABSOLUTELY NEED THIS PATCH IN YOUR LSP-PLUGINS PACKAGE ***
https://github.com/lsp-plugins/lsp-dsp-lib/pull/20
Do NOT enable speakers without that patch, on any model. It can/will
result in nasty noise that could damage them.
Signed-off-by: Hector Martin <marcan@marcan.st>
|
|
Enables j313, j293, j493, j314, j414, j274, j375, j473, j474, j475
*** WARNING FOR DISTRO PACKAGERS WANTING TO APPLY THIS: ***
*** YOU ABSOLUTELY NEED THIS PATCH IN YOUR LSP-PLUGINS PACKAGE ***
https://github.com/lsp-plugins/lsp-dsp-lib/pull/20
Do NOT enable speakers without that patch, on any model. It can/will
result in nasty noise that could damage them.
Signed-off-by: Hector Martin <marcan@marcan.st>
|
|
*** possible v6.11 conflict: _snd_dmaengine_pcm_close
Signed-off-by: Martin Povišer <povik+lin@cutebit.org>
|
|
Signed-off-by: Martin Povišer <povik+lin@cutebit.org>
|
|
This only allows binding one VM context at once, which serializes GPU
usage between VMs and therefore prevents one faulting VM from affecting
others.
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
This eliminates a potential deadlock under load and improves the fence
signaling situation (for when we have a shrinker).
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Makes debugging a bit easier.
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
|
|
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
|
|
|
|
|
|
SCOPE_LOCAL_CPU is mostly used for CPU errata. The early feature logic
prior to this patch will enable a feature if any secondary matches it,
but will not do anything once the feature is already enabled.
However, the late CPU verification logic is more flexible, with flags:
- ARM64_CPUCAP_OPTIONAL_FOR_LATE_CPU means "any cpu" logic applies
- ARM64_CPUCAP_PERMITTED_FOR_LATE_CPU means "all cpus" logic applies
This means the early secondary feature code right now behaves as if
OPTIONAL && !PERMITTED was specified (it ignores secondaries missing the
feature and forces the system state to active if any secondary has the
feature).
Change this so that the early feature detection code inspects the flags
too and applies the logic to make feature state consistent:
- If a feature is NOT OPTIONAL and missing on a secondary, remove it
from the system set (we can do this before finalization)
- If a feature is PERMITTED and missing on the boot CPU, don't enable it
but rather leave it off.
This allows SCOPE_LOCAL_CPU to be used for feature detection as well as
CPU errata.
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
Expected to be dropped once upstream removes `remove_new().
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
fixup! rust: Add `name` argument to Module::init()
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Asahi Lina <lina@asahilina.net>
|
|
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
Fixes a race condition reported here: https://github.com/AsahiLinux/linux/issues/309#issuecomment-2238968609
The whole premise of lockless access to a single-producer-single-
consumer queue is that there is just a single producer and single
consumer. That means we can't call drm_sched_can_queue() (which is
about queueing more work to the hw, not to the spsc queue) from
anywhere other than the consumer (wq).
This call in the producer is just an optimization to avoid scheduling
the consuming worker if it cannot yet queue more work to the hw. It
is safe to drop this optimization to avoid the race condition.
Suggested-by: Asahi Lina <lina@asahilina.net>
Fixes: a78422e9dff3 ("drm/sched: implement dynamic job-flow control")
Closes: https://github.com/AsahiLinux/linux/issues/309
Cc: stable@vger.kernel.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
|
|
power_supply_property_is_writeable() gets called from the is_visible()
callback for the sysfs attributes of power_supply class devices and for
the sysfs attributes of power_supply core instantiated hwmon class devices.
These sysfs attributes get registered by the device_add() respectively
power_supply_add_hwmon_sysfs() calls in power_supply_register().
use_cnt gets initialized to 0 and is incremented only after these calls.
So when power_supply_property_is_writeable() gets called it always return
-ENODEV because of use_cnt == 0.
This causes all the attributes to have permissions of 444 even those which
should be writable. This used to be a problem only for hwmon sysfs
attributes but since commit be6299c6e55e ("power: supply: sysfs: use
power_supply_property_is_writeable()") this now also impacts power_supply
class sysfs attributes.
Fixes: be6299c6e55e ("power: supply: sysfs: use power_supply_property_is_writeable()")
Fixes: e67d4dfc9ff1 ("power: supply: Add HWMON compatibility layer")
Cc: stable@vger.kernel.org
Cc: Thomas Weißschuh <linux@weissschuh.net>
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
Implement sync, output format, and input status mixer controls, to allow
the interface to be used as a straight ADAT/SPDIF (+ Headphones) I/O
interface.
This does not implement the matrix mixer, output gain controls, or input
level meter feedback. The full mixer interface is only really usable
using a dedicated userspace control app (there are too many mixer nodes
for alsamixer to be usable), so for now we leave it up to userspace to
directly control these features using raw USB control messages. This is
similar to how it's done with some FireWire interfaces (ffado-mixer).
Signed-off-by: Asahi Lina <lina@asahilina.net>
Link: https://patch.msgid.link/20240903-rme-digiface-v2-2-71b06c912e97@asahilina.net
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Add trivial support for audio streaming on the RME Digiface USB. Binds
only to the first interface to allow userspace to directly drive the
complex I/O and matrix mixer controls.
Signed-off-by: Cyan Nyan <cyan.vtb@gmail.com>
[Lina: Added 2x/4x sample rate support & boot/format quirks]
Co-developed-by: Asahi Lina <lina@asahilina.net>
Signed-off-by: Asahi Lina <lina@asahilina.net>
Link: https://patch.msgid.link/20240903-rme-digiface-v2-1-71b06c912e97@asahilina.net
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Apply the newly introduced macros for reduce the complex expressions
and cast in the quirk table definitions. It results in a significant
code reduction, too.
There should be no functional changes.
Link: https://patch.msgid.link/20240814134844.2726-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Many entries in the USB-audio quirk tables have relatively complex
expressions. For improving the readability, introduce a few macros.
Those are applied in the following patch.
Link: https://patch.msgid.link/20240814134844.2726-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
The SMC provides an interface for manually controlling the speeds of
any fans attached to it. Expose this via the standard hwmon interface.
Once a fan is in manual control, the SMC makes no attempts to save users
from themselves. It is possible to write arbitrary values outside of the
SMC's reported safe range. The driver therefore does its own sanity
checking.
Since we are unsure whether or not leaving the fans in manual mode can
cause damage to Apple Silicon devices, this functionality is gated
behind a very explicit and scary-sounding unsafe module parameter.
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
|
|
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
If a CHLS charge threshold is configured and the current SoC is above
the start threshold report a busy BMS as not charging.
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
Gone in Sequoia firmware.
Signed-off-by: Hector Martin <marcan@marcan.st>
|
|
Since macOS Sequoia firmware, CHLS replaced CHWA and now allows an
arbitrary end charge threshold to be configured.
Prefer CHWA over CHLS since the SMC firmware from iBoot-10151.1.1
(macOS 14.0) is not compatible with our CHGLS usage. It was working
with the SMC firmware from iBoot-10151.121.1 (macOS 14.5).
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
Should be squashed into "hwmon: add macsmc-hwmon driver"
Signed-off-by: Janne Grunau <j@jannau.net>
|
|
Apple Silicon devices, particularly Macs, continue Apple's tradition of
integrating a ridiculous number of sensors on their products. Most of these
report to the System Management Controller, and their data is exposed by
the SMC firmware as simple key-value pairs.
This commit adds an hwmon drive for retrieving the data reported by the
temperature, voltage, current and power sensors, as well as fan data.
Devices each expose their own unique set of sensors and fans, even with
the SMC being baked into the SoC. This driver walks a devicetree node
in order to discover the sensors present on the current device at runtime.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
|
|
"ioft" is a 48.16 fixed point type.
Signed-off-by: Janne Grunau <j@jannau.net>
|