-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rust: samples: fix init argument #335
base: asahi
Are you sure you want to change the base?
Commits on Sep 16, 2024
-
macaudio: speaker volume safety interlocks
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bd66dcb - Browse repository at this point
Copy the full SHA bd66dcbView commit details -
alsa: pcm: Remove the qos request only if active
Fixes warning: [ 8.502802] ------------[ cut here ]------------ [ 8.503445] cpu_latency_qos_remove_request called for unknown object [ 8.504269] WARNING: CPU: 5 PID: 2790 at kernel/power/qos.c:322 cpu_latency_qos_remove_request+0x48/0x98 [ 8.505499] CPU: 5 PID: 2790 Comm: wireplumber Tainted: G W 6.5.0-asahi-00708-gb9b88240f7ae #2291 [ 8.506777] Hardware name: Apple MacBook Air (13-inch, M2, 2022) (DT) <snip regs> [ 8.519099] Call trace: [ 8.519402] cpu_latency_qos_remove_request+0x48/0x98 [ 8.520027] snd_pcm_ioctl+0x86c/0x182c [ 8.520519] __arm64_sys_ioctl+0xf8/0xbd0 [ 8.521020] invoke_syscall.constprop.0+0x78/0xc8 [ 8.521604] do_el0_svc+0x58/0x154 [ 8.522026] el0_svc+0x34/0xe4 [ 8.522409] el0t_64_sync_handler+0x120/0x12c [ 8.522951] el0t_64_sync+0x190/0x194 [ 8.523408] ---[ end trace 0000000000000000 ]--- Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ae875e3 - Browse repository at this point
Copy the full SHA ae875e3View commit details -
macaudio: Add a getter for the interlock
alsamixer/etc really don't like write-only controls... Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 07aedc7 - Browse repository at this point
Copy the full SHA 07aedc7View commit details -
ASoC: apple: mca: Do not mark clocks in use for non-providers
On the speakers PCM, this sequence: 1. Open playback 2. Open sense 3. Close playback 4. Close sense would result in the sense FE being marked as clocks in use at (2), since there is a clock provider (playback FE). Then at (4) this would WARN since there is no driver any more when closing the in use clocks. If (1) and (2) are reversed this does not happen, since the sense PCM is not marked as using the clocks when there is no provider yet. So, check explicitly whether the substream FE is a clock provider in be_prepare, and skip everything if it isn't. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2a5b0de - Browse repository at this point
Copy the full SHA 2a5b0deView commit details -
macaudio: Allow DT enabled speakers and gate them off in the driver
For machines where we do not consider things safe yet, require the commandline argument. Without it, speakers are simply disabled, we don't refuse probe entirely. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 58914fe - Browse repository at this point
Copy the full SHA 58914feView commit details -
macaudio: Enable VSENSE switches
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6af4384 - Browse repository at this point
Copy the full SHA 6af4384View commit details -
macaudio: Initialize speaker lock properly
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ce04761 - Browse repository at this point
Copy the full SHA ce04761View commit details -
macaudio: Use the same volume limit for all amps
These are unintentionally aliased. Pending a solution for this, let's just use the same limit for now. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 68fa273 - Browse repository at this point
Copy the full SHA 68fa273View commit details -
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d7d36f0 - Browse repository at this point
Copy the full SHA d7d36f0View commit details -
ASoC: tas2764: Enable main IRQs
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 08cf729 - Browse repository at this point
Copy the full SHA 08cf729View commit details -
ASoC: tas2764: Power up/down amp on mute ops
The ASoC convention is that clocks are removed after codec mute, and power up/down is more about top level power management. For these chips, the "mute" state still expects a TDM clock, and yanking the clock in this state will trigger clock errors. So, do the full shutdown<->mute<->active transition on the mute operation, so the amp is in software shutdown by the time the clocks are removed. This fixes TDM clock errors when streams are stopped. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 805b53c - Browse repository at this point
Copy the full SHA 805b53cView commit details -
ASoC: tas2764: Add SDZ regulator
Multiple amps can be connected to the same SDZ GPIO. Using raw GPIOs for this breaks, as there is no concept of refcounting/sharing. In order to model these platforms, introduce support for an SDZ "regulator". This allows us to represent the SDZ GPIO as a simple regulator-fixed, and then the regulator core takes care of refcounting so that all codecs are only powered down once all the driver instances are in the suspend state. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 749953d - Browse repository at this point
Copy the full SHA 749953dView commit details -
macaudio: Use an explicit mutex for the speaker volume lock
Otherwise we can end up recursively locking the controls lock in the start/stop path, since it can be called from a control change. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8b4fb64 - Browse repository at this point
Copy the full SHA 8b4fb64View commit details -
ASoC: tas2764: Add reg defaults for TAS2764_INT_CLK_CFG
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4bf149 - Browse repository at this point
Copy the full SHA c4bf149View commit details -
ASoC: tas2764: Mark SW_RESET as volatile
Since the bit is self-clearing. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b4ab822 - Browse repository at this point
Copy the full SHA b4ab822View commit details -
ASoC: tas2764: Fix power control mask
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 640b2c5 - Browse repository at this point
Copy the full SHA 640b2c5View commit details -
ASoC: apple: mca: Increase reset timeout
Saw this fail once, let's be safer. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d2e7faf - Browse repository at this point
Copy the full SHA d2e7fafView commit details -
ALSA: dmaengine: Always terminate DMA when a PCM is closed
When a PCM is suspended, we pause the DMA. If the PCM is then closed while in this state, it does not receive the STOP trigger (as it is not running). In this case, we fail to properly terminate the DMA, calling dmaengine_synchronize() nonetheless, which is undefined behavior. Make sure we always call dmaengine_terminate_async() on PCM close, regardless of whether it has been called previously or not in the trigger callbacks. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 445a093 - Browse repository at this point
Copy the full SHA 445a093View commit details -
ASoC: tas2764: Wait for ramp-down after shutdown
When we shut down the amp, we need to wait for the built-in ramp-down before we can remove the TDM clocks. There is no documented status regiter to poll, so the best we can do is a delay. Datasheet says 5.9ms for ramp-down and 1.5ms between shutdown and next startup, so let's do 6ms after mute and 2ms after shutdown. That gives us a cumulative 8ms for ramp-down and guaratees the required minimum shutdown time. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 40ef1f9 - Browse repository at this point
Copy the full SHA 40ef1f9View commit details -
ASoC: tas2764: Enable some Apple quirks by default
0xf seems to fix the random overcurrent behavior. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e9730c3 - Browse repository at this point
Copy the full SHA e9730c3View commit details -
macaudio: Rework platform config & add all remaining platforms
Instead of open-coding a fixup function for each platform, let's make it declarative. This is a lot less error-prone. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 30cea92 - Browse repository at this point
Copy the full SHA 30cea92View commit details -
ASoC: tas2770: Add SDZ regulator
Multiple amps can be connected to the same SDZ GPIO. Using raw GPIOs for this breaks, as there is no concept of refcounting/sharing. In order to model these platforms, introduce support for an SDZ "regulator". This allows us to represent the SDZ GPIO as a simple regulator-fixed, and then the regulator core takes care of refcounting so that all codecs are only powered down once all the driver instances are in the suspend state. This also reworks the sleep/resume logic to copy what tas2764 does, which makes more sense. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be49ef9 - Browse repository at this point
Copy the full SHA be49ef9View commit details -
ASoC: tas2770: Power cycle amp on ISENSE/VSENSE change
The ISENSE/VSENSE blocks are only powered up when the amplifier transitions from shutdown to active. This means that if those controls are flipped on while the amplifier is already playing back audio, they will have no effect. Fix this by forcing a power cycle around transitions in those controls. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 423e1ce - Browse repository at this point
Copy the full SHA 423e1ceView commit details -
ASoC: tas2770: Add zero-fill and pull-down controls
Expose the bits that control the behavior of the SDOUT pin when not actively transmitting slot data. Zero-fill is useful when there is a single amp on the SDOUT bus (e.g. Apple machines with mono speakers or a single stereo pair, where L/R are on separate buses). Pull-down is useful, though not perfect, when multiple amps share a bus. It typically takes around 2 bits for the line to transition from high to low after going Hi-Z, with the pull-down. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e1c6161 - Browse repository at this point
Copy the full SHA e1c6161View commit details -
ASoC: tas2770: Support setting the PDM TX slot
We don't actually support configuring the PDM input right now. Rather, this is useful as a hack. On Apple Silicon machines, amps are split between two I2S buses which are logically ANDed internally at the SoC. Odd and even slot groups are driven by amps on either bus respectively. Since the signals are ANDed, unused slot groups must be driven as zero to avoid corrupting the data from the other side. On most recent machines (TAS2764-based), this is accomplished using the "SDOUT zero mask" feature of that chip. Unfortunately, TAS2770 does not support this. It does support zeroing out *all* unused slots, which works well for machines with a single amp per I2S bus. That is all, except one. The 13" M1 MacBook Pro is the only machine using TAS2764 and two amps per I2S bus: L Bus: SPK0I SPK0V Hi-Z Hi-Z SPK2I SPK2V Hi-Z Hi-Z R Bus: Hi-Z Hi-Z SPK1I SPK2V Hi-Z Hi-Z SPK3I SPK3V To ensure uncorrupted data, we need to force all the Hi-Z periods to zero. We cannot use the "force all zero" feature, as that would cause a bus conflict between both amps. We can use the pull-down feature, but that leaves a few bits of garbage on the trailing edge of the speaker data, since the pull-down is weak. This is where the PDM transmit feature comes in. With PDM grounded and disabled (the default state), the PDM slot is transmitted as all zeroes. We can use that to force a zero 16-bit slot after the voltage data for each speaker, cleaning it up. Then the pull-down ensures the line stays low for the subsequent slot: L Bus: SPK0I SPK0V PDM0 PulDn SPK2I SPK2V PDM0 PulDn R Bus: PDM0 PulDn SPK1I SPK2V PDM0 PulDn SPK3I SPK3V Yes, this is a horrible hack, but it beats adding dummy slots that would be visible to the userspace capture side. There may be some other way to fix the logical AND behavior on the MCA side... that would make this unnecessary. ("How does Apple deal with this"? - they don't, macOS does not use IVSENSE on TAS2764 machines even though it's physically wired up, but we want to do so on Linux.) Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5e68b2f - Browse repository at this point
Copy the full SHA 5e68b2fView commit details -
ASoC: tas2770: Fix volume scale
The scale starts at -100dB, not -128dB. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f7110fd - Browse repository at this point
Copy the full SHA f7110fdView commit details -
macaudio: Remove -3dB safety pad from j313
This one already uses a gain lower than the others. It doesn't look like full scale no-DSP output with typical music is particularly dangerous here, and we probably want the headroom for DSP, so let's not do it for this one. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6cfbc03 - Browse repository at this point
Copy the full SHA 6cfbc03View commit details -
macaudio: Skip speaker sense PCM if no sense or no speakers
This PCM triggers speakersafetyd, so hide it if it can't work. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8deab30 - Browse repository at this point
Copy the full SHA 8deab30View commit details -
macaudio: Officially enable j313 speakers
Still hard gated on speakersafetyd for now. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4b6faf - Browse repository at this point
Copy the full SHA c4b6fafView commit details -
ASoC: tas2764: Set the SDOUT polarity correctly
TX launch polarity needs to be the opposite of RX capture polarity, to generate the right bit slot alignment. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 923d742 - Browse repository at this point
Copy the full SHA 923d742View commit details -
ASoC: tas2770: Set the SDOUT polarity correctly
TX launch polarity needs to be the opposite of RX capture polarity, to generate the right bit slot alignment. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cb67a58 - Browse repository at this point
Copy the full SHA cb67a58View commit details -
fixup! ASoC: tas2764: Add optional 'Apple quirks'
Fix fallthrough warning and remove stray spaces before tabs for indenting. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f28f7c2 - Browse repository at this point
Copy the full SHA f28f7c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 097c505 - Browse repository at this point
Copy the full SHA 097c505View commit details -
Configuration menu - View commit details
-
Copy full SHA for 84c3f6f - Browse repository at this point
Copy the full SHA 84c3f6fView commit details -
macaudio: Set the card name explicitly
This might fix a udev race, and also makes it possible to switch to a more descriptive "AppleJxxx" name (but before that we need to update userspace to avoid breaking users). Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d4c08ec - Browse repository at this point
Copy the full SHA d4c08ecView commit details -
macaudio: Change device ID form Jxxx to AppleJxxx
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc6938f - Browse repository at this point
Copy the full SHA cc6938fView commit details -
macaudio: Turn please_blow_up_my_speakers into an int
1 enables new models, 2 further removes safeties. Mostly so that people who set it to 1 for early access and forget don't get stuck without safety nets. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 30fb543 - Browse repository at this point
Copy the full SHA 30fb543View commit details -
macaudio: Sync all gains with macOS
We want the extra headroom, and speakersafetyd seems to be reliable. 3dB lower gain isn't going to buy us much safety at this point. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7584c6b - Browse repository at this point
Copy the full SHA 7584c6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 45b89c9 - Browse repository at this point
Copy the full SHA 45b89c9View commit details -
macaudio: Fix CHECK return condition checking
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 73c8c48 - Browse repository at this point
Copy the full SHA 73c8c48View commit details -
macaudio: Avoid matches against cs42l84's constrols
On systems with cs42l84 headset codec "* " can't be used as control name pattern since it would match "Jack HPF Corner Frequency". Its control is not an enum and thus will always return -EINVAL. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5588266 - Browse repository at this point
Copy the full SHA 5588266View commit details -
ASoC: apple: mca: Add delay after configuring clock
Right after the early FE setup, ADMAC gets told to start the DMA. This can end up in a weird "slip" state with the channels transposed. Waiting a bit fixes this; presumably this allows the clock to stabilize. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 766d34b - Browse repository at this point
Copy the full SHA 766d34bView commit details -
macaudio: Disable j313 and j274
We are going to enable these out of band. If you are a distro packager: ** WARNING: ** ** YOU ABSOLUTELY NEED THIS PATCH IN YOUR LSP-PLUGINS PACKAGE ** lsp-plugins/lsp-dsp-lib#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 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 98f6dce - Browse repository at this point
Copy the full SHA 98f6dceView commit details -
ASoC: apple: mca: Add more delay after configuring clock
Sigh... hope this works. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eea44e2 - Browse repository at this point
Copy the full SHA eea44e2View commit details -
¯\_(ツ)_/¯ Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a02c108 - Browse repository at this point
Copy the full SHA a02c108View commit details -
macaudio: Fix missing kconfig requirement
Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0602b40 - Browse repository at this point
Copy the full SHA 0602b40View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ab8de1 - Browse repository at this point
Copy the full SHA 2ab8de1View commit details -
HACK: ALSA: Export 'snd_pcm_known_rates'
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 65b5d83 - Browse repository at this point
Copy the full SHA 65b5d83View commit details -
spmi: add a first basic spmi driver for Apple SoC
Signed-off-by: Jean-Francois Bortolotti <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 542dad1 - Browse repository at this point
Copy the full SHA 542dad1View commit details -
mfd: Add a simple-mfd-spmi driver
This is the SPMI counterpart to simple-mfd-i2c. It merely exposes the SPMI register address space as an MFD device, such that different aspects of a device can be managed by separate drivers. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2cbc8b4 - Browse repository at this point
Copy the full SHA 2cbc8b4View commit details -
nvmem: Add spmi-mfd-nvmem driver
This driver exposes part of an SPMI MFD device as an NVMEM device. It is intended to be used with e.g. PMUs/PMICs that are used to hold power-management configuration, such as used on Apple Silicon Macs. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9f7f0dc - Browse repository at this point
Copy the full SHA 9f7f0dcView commit details -
nvmem: spmi-mfd-nvmem: use legacy fixed layout
Fixes probing of nvmem cells in v6.8-rc6 Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0e7bd6f - Browse repository at this point
Copy the full SHA 0e7bd6fView commit details -
drm/probe_helper: fix the warning reported when calling drm_kms_helpe…
…r_poll_disable during suspend When drivers call drm_kms_helper_poll_disable from their device suspend implementation without enabled output polling before, following warning will be reported,due to work->func not be initialized: [ 55.141361] WARNING: CPU: 3 PID: 372 at kernel/workqueue.c:3066 __flush_work+0x22f/0x240 [ 55.141382] Modules linked in: nls_iso8859_1 snd_hda_codec_generic ledtrig_audio snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq intel_rapl_msr intel_rapl_common bochs drm_vram_helper drm_ttm_helper snd_seq_device nfit ttm crct10dif_pclmul snd_timer ghash_clmulni_intel binfmt_misc sha512_ssse3 aesni_intel drm_kms_helper joydev input_leds syscopyarea crypto_simd snd cryptd sysfillrect sysimgblt mac_hid serio_raw soundcore qemu_fw_cfg sch_fq_codel msr parport_pc ppdev lp parport drm ramoops reed_solomon pstore_blk pstore_zone efi_pstore virtio_rng ip_tables x_tables autofs4 hid_generic usbhid hid ahci virtio_net i2c_i801 crc32_pclmul psmouse virtio_scsi libahci i2c_smbus lpc_ich xhci_pci net_failover virtio_blk xhci_pci_renesas failover [ 55.141430] CPU: 3 PID: 372 Comm: kworker/u16:9 Not tainted 6.2.0-rc6+ Rust-for-Linux#16 [ 55.141433] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014 [ 55.141435] Workqueue: events_unbound async_run_entry_fn [ 55.141441] RIP: 0010:__flush_work+0x22f/0x240 [ 55.141444] Code: 8b 43 28 48 8b 53 30 89 c1 e9 f9 fe ff ff 4c 89 f7 e8 b5 95 d9 00 e8 00 53 08 00 45 31 ff e9 11 ff ff ff 0f 0b e9 0a ff ff ff <0f> 0b 45 31 ff e9 00 ff ff ff e8 e2 54 d8 00 66 90 90 90 90 90 90 [ 55.141446] RSP: 0018:ff59221940833c18 EFLAGS: 00010246 [ 55.141449] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff9b72bcbe [ 55.141450] RDX: 0000000000000001 RSI: 0000000000000001 RDI: ff3ea01e4265e330 [ 55.141451] RBP: ff59221940833c90 R08: 0000000000000000 R09: 8080808080808080 [ 55.141453] R10: ff3ea01e42b3caf4 R11: 000000000000000f R12: ff3ea01e4265e330 [ 55.141454] R13: 0000000000000001 R14: ff3ea01e505e5e80 R15: 0000000000000001 [ 55.141455] FS: 0000000000000000(0000) GS:ff3ea01fb7cc0000(0000) knlGS:0000000000000000 [ 55.141456] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 55.141458] CR2: 0000563543ad1546 CR3: 000000010ee82005 CR4: 0000000000771ee0 [ 55.141464] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 55.141465] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 55.141466] PKRU: 55555554 [ 55.141467] Call Trace: [ 55.141469] <TASK> [ 55.141472] ? pcie_wait_cmd+0xdf/0x220 [ 55.141478] ? mptcp_seq_show+0xe0/0x180 [ 55.141484] __cancel_work_timer+0x124/0x1b0 [ 55.141487] cancel_delayed_work_sync+0x17/0x20 [ 55.141490] drm_kms_helper_poll_disable+0x26/0x40 [drm_kms_helper] [ 55.141516] drm_mode_config_helper_suspend+0x25/0x90 [drm_kms_helper] [ 55.141531] ? __pm_runtime_resume+0x64/0x90 [ 55.141536] bochs_pm_suspend+0x16/0x20 [bochs] [ 55.141540] pci_pm_suspend+0x8b/0x1b0 [ 55.141545] ? __pfx_pci_pm_suspend+0x10/0x10 [ 55.141547] dpm_run_callback+0x4c/0x160 [ 55.141550] __device_suspend+0x14c/0x4c0 [ 55.141553] async_suspend+0x24/0xa0 [ 55.141555] async_run_entry_fn+0x34/0x120 [ 55.141557] process_one_work+0x21a/0x3f0 [ 55.141560] worker_thread+0x4e/0x3c0 [ 55.141563] ? __pfx_worker_thread+0x10/0x10 [ 55.141565] kthread+0xf2/0x120 [ 55.141568] ? __pfx_kthread+0x10/0x10 [ 55.141570] ret_from_fork+0x29/0x50 [ 55.141575] </TASK> [ 55.141575] ---[ end trace 0000000000000000 ]--- Fixes: a4e7717 ("drm/probe_helper: sort out poll_running vs poll_enabled") Signed-off-by: Zongmin Zhou<[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 63e3b3d - Browse repository at this point
Copy the full SHA 63e3b3dView commit details -
drm/apple: Remove simpledrm framebuffer before DRM device alloc
Should result in drm apple to be registered as first DRM device replacing simpledrm. Should resolve problems with userspace assuming that card0 is the main displays device. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a6cc54e - Browse repository at this point
Copy the full SHA a6cc54eView commit details -
drm/apple: Mark DCP as being in the wakeup path
This prevents the PD from being shut down on suspend, which we need until we support runtime PM properly again. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4d17014 - Browse repository at this point
Copy the full SHA 4d17014View commit details -
drm: apple: iomfb: Increase modeset timeout to 2.5 seconds
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 51030f2 - Browse repository at this point
Copy the full SHA 51030f2View commit details -
drm: apple: Only match backlight service on DCP with panel
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c1cfe32 - Browse repository at this point
Copy the full SHA c1cfe32View commit details -
drm: apple: iomfb: limit backlight updates to integrated panels
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f7eb35b - Browse repository at this point
Copy the full SHA f7eb35bView commit details -
drm: apple: backlight: avoid updating the brightness with a commit
An atomic_commit for brightness changes will consume a DCP swap without frame buffer updates and will result in a lost frame. After updating the next brightness values wait for 1 frame duration (at 23.976 fps). Check if the brightness update still needs to be send to DVCP or if a swap did that in the meintime. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b541b10 - Browse repository at this point
Copy the full SHA b541b10View commit details -
drm/apple: Get rid of the piodma dummy driver
It's only needed to configure the display contoller's iommu to share buffers between the DCP co-processor and the display controller. Possible concern is runtime PM for it and its iommu. If we don't set it up the power domain might never go to lower power states even if it could. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4195ecc - Browse repository at this point
Copy the full SHA 4195eccView commit details -
drm/apple: Use iommu domain for piodma maps
The current use of of dma_get_sgtable/dma_map_sgtable is deemed unsafe. Replace it with an unmanaged iommu domain for the piodma iommu to map the buffers. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d83500e - Browse repository at this point
Copy the full SHA d83500eView commit details -
drm: apple: Align PIODMA buffers to SZ_16K
The iommu scatter table/list mapping can only map full iommu page size extents. Just align the actual the allocation to the iommu page size. This could be handled differently using DARTs subpage protection but there's no easy way to integrate that. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1d23f8e - Browse repository at this point
Copy the full SHA 1d23f8eView commit details -
drm: apple: Add D129 allocate_bandwidth iomfb callback
Used on M2 Ultra During startup. Units are unclear. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a67d3e0 - Browse repository at this point
Copy the full SHA a67d3e0View commit details -
drm: apple: Update supported firmware versions to 12.3 and 13.5
Removes support for all firmware versions which report as compatible to 13.3 except 13.5. This will be removed after m1n1 reports firmware 13.5 as "apple,firmware-compat" for a while. The files with "v13_3" will be renamed at a later point to avoid conflicts with development trees. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d2f2217 - Browse repository at this point
Copy the full SHA d2f2217View commit details -
drm: apple: dcp: Port over to DEFINE_SIMPLE_DEV_PM_OPS
Avoids ugly "__maybe_unused". Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a16f58c - Browse repository at this point
Copy the full SHA a16f58cView commit details -
drm: apple: dcp: Remove cargo-culted devm_of_platform_populate
It does not do anything for dcp and its iommu only child node. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e744cf6 - Browse repository at this point
Copy the full SHA e744cf6View commit details -
drm: apple: iomfb: implement abort_swaps_dcp
To match macOS behavior and in the hope to fix dcpext crashes on t8112. Crashes still occur but let's keep this. Shouldn;t make a difference since we're on the swaps to finish. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 498edd6 - Browse repository at this point
Copy the full SHA 498edd6View commit details -
drm: apple: iomfb: Increase modeset tiemout to 8.5 seconds
DCP itself uses with the 13.5 firmware a timeout of 8 seconds for modesets. Using a longer timeout prevents overlapping calls to dcp and might improve reliabilty with slower displays. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c01bb47 - Browse repository at this point
Copy the full SHA c01bb47View commit details -
drm: apple: Remove explicit asc-dram-mask handling
This is no longer necessary after introducing "apple,dma-range" for the dart driver. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fd0ad71 - Browse repository at this point
Copy the full SHA fd0ad71View commit details -
mux: apple DP xbar: Add Apple silicon DisplayPort crossbar
This drivers adds support for the display crossbar used to route display controller streams to the three different modes (DP AltMode, USB4 Tunnel #0/Rust-for-Linux#1) of the Type-C ports. Signed-off-by: Sven Peter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8e2abeb - Browse repository at this point
Copy the full SHA 8e2abebView commit details -
mux: apple dp crossbar: Support t8112 varient
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6640cf6 - Browse repository at this point
Copy the full SHA 6640cf6View commit details -
mux: apple dp crossbar: FIFO_RD_UNK_EN seems to use 2 bits per dispext*
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6f36dfc - Browse repository at this point
Copy the full SHA 6f36dfcView commit details -
mux: apple dp crossbar: Read UNK_TUNABLE before and after writing it
Makes traces easier to compare with macOS. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 584ec64 - Browse repository at this point
Copy the full SHA 584ec64View commit details -
mux: apple dp crossbar: Support t602x DP cross bar variant
This is a simplified version and probably should live in a separate file. Even the shared registers are quite different. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9831b17 - Browse repository at this point
Copy the full SHA 9831b17View commit details -
gpu: drm: apple: Add utility functions for matching on dict keys
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e2020bf - Browse repository at this point
Copy the full SHA e2020bfView commit details -
gpu: drm: apple: Add 'parse_blob'
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 966de8f - Browse repository at this point
Copy the full SHA 966de8fView commit details -
gpu: drm: apple: Add sound mode parsing
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 38c0602 - Browse repository at this point
Copy the full SHA 38c0602View commit details -
drm: apple: DCP AFK/EPIC support
Signed-off-by: Sven Peter <[email protected]> Co-developed-by: Martin Povišer <[email protected]> Signed-off-by: Martin Povišer <[email protected]> Co-developed-by: Janne Grunau <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dfc4ecf - Browse repository at this point
Copy the full SHA dfc4ecfView commit details -
drm: apple: afk: Use linear array of services
"Channel numbers" as received by AFK/EPIC are constantly increasing over restarts of the endpoint. Use a linear array of services and match based on the channel number. The number of services per endpoint is too small to make a difference. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2173291 - Browse repository at this point
Copy the full SHA 2173291View commit details -
This is required for DP Altmode, DP Thunderbolt tunneling and HDMI output on 14/16-inch Macbook Pros and M2* desktop devices. M2* desktops and 14 and 16 inch Macbook Pros expose a DisplayPort to HDMI converter which is driven by the DP output of one of the DCP/DCPext display coprocessor/controller blocks. Two gpio pins are used for power control. Another gpio pin acts as HDMI hpd. Do not use the hpd as direct drm_connector interrupt since that is already wired to DCPs hotplug notification. Instead use it to trigger link setup via the dptx endpoint. Signed-off-by: Sven Peter <[email protected]> Co-developed-by: Janne Grunau <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b872ac - Browse repository at this point
Copy the full SHA 4b872acView commit details -
drm: apple: Move offsets for rt_bandwidth callback to DT
The offsets differ for every DCP instance. Instead of hardcoding offsets for each SoC family offsets and calculate the instance offset move everything to the device tree. This helps multi die SoCs since there is and unexpected offset between both dies. On multi die SoCs device tree changes were necessary to avoid translating the PMGR reg via the seconds die "ranges" property. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 702c1d2 - Browse repository at this point
Copy the full SHA 702c1d2View commit details -
drm: apple: iomfb: Do not match/create PMU service for dcpext
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e7a2d1 - Browse repository at this point
Copy the full SHA 4e7a2d1View commit details -
drm: apple: afk: Adapt to macOS 13.3 firmware
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2b646c6 - Browse repository at this point
Copy the full SHA 2b646c6View commit details -
drm: apple: dptx: Port APCALL to macOS 13.3 firmware
The 13.3 firmware has an additional get_max_lane_count call inserted with ID 10. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 226453d - Browse repository at this point
Copy the full SHA 226453dView commit details -
drm: apple: dptx: port interface to macOS 13.5 firmware
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ce6d929 - Browse repository at this point
Copy the full SHA ce6d929View commit details -
drm: apple: dptx: Add set_active_lanes APCALL
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c146fe7 - Browse repository at this point
Copy the full SHA c146fe7View commit details -
drm: apple: dptx: Add DPTX_APCALL_ACTIVATE
Configures the phy to the correct dcp(ext) source by abusing submode in the phy_set_mode_ext() call. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7ffd8fd - Browse repository at this point
Copy the full SHA 7ffd8fdView commit details -
drm: apple: dptx: Adapt dptxport_connect() to observed behavior
Adapt to behavior seen on j474s with dcp0 driving lpdptx-phy and dp2hdmi using the macOS 13.5 firmware. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e259d4c - Browse repository at this point
Copy the full SHA e259d4cView commit details -
drm: apple: afk: Clear commands before sending them
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8fbad71 - Browse repository at this point
Copy the full SHA 8fbad71View commit details -
drm: apple: Fix missing unlock path in dcp_dptx_connect
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f3547bd - Browse repository at this point
Copy the full SHA f3547bdView commit details -
drm: apple: dptxep: Fix reply size check
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 739d789 - Browse repository at this point
Copy the full SHA 739d789View commit details -
drm: apple: dptxep: Implement drive settings stuff
Just in case, for consistency with macOS. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 60aabd3 - Browse repository at this point
Copy the full SHA 60aabd3View commit details -
drm/apple: Add missing sound Kconfig dependencies
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 411b25d - Browse repository at this point
Copy the full SHA 411b25dView commit details -
drm: apple: HACK: Do not delete piodma platform device
of_platform_device_destroy() can trigger several NULL pointer dereference which have been elusive so far. Comment this for now since the oopses causes the shutdown to hang. Since dcp can not be reloaded this leaks the platform device on shutdown and reboot. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5a24fc5 - Browse repository at this point
Copy the full SHA 5a24fc5View commit details -
drm: apple: afk: Update read pointer before processing message
Avoids out of order messages and already unmapped buffers while tracing with hv/trace_dcp.py. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 44beafe - Browse repository at this point
Copy the full SHA 44beafeView commit details -
drm: apple: Implement D592 callback
This callback is occasionally seen around (failed) modesets. There seems to be no need to handle it so just trace it. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 32926ba - Browse repository at this point
Copy the full SHA 32926baView commit details -
drm: apple: Keep information at which swap_id fb are still referenced
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fb93437 - Browse repository at this point
Copy the full SHA fb93437View commit details -
Revert "drm: apple: iomfb: Do not match/create PMU service for dcpext"
This reverts commit ab69434.
Configuration menu - View commit details
-
Copy full SHA for 9bc9625 - Browse repository at this point
Copy the full SHA 9bc9625View commit details -
drm: apple: dptx: Implement APCALL_DEACTIVATE and reset the phy
This mirrors what macOS does and should make reconnections more reliable. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ee5214e - Browse repository at this point
Copy the full SHA ee5214eView commit details -
drm: apple: Disconnect dptx When the CRTC is powered down
Seems to make disconnect / reconnect more reliable and almost fixes suspend/resume. The drm device tries to modeset too early on resume which leaves the screen blank. This should reduce power consumption after disconnecting the HDMI port. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 06e13b1 - Browse repository at this point
Copy the full SHA 06e13b1View commit details -
drm: apple: dptx: Wait for completion of dptx_connect.
Makes connects more reliable. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b02100 - Browse repository at this point
Copy the full SHA 4b02100View commit details -
drm: apple: HPD: Only act on connect IRQs
DCP notices the disconnects on its own and the parallel handling just results in confusion (both on DRM and developer side). Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d998f16 - Browse repository at this point
Copy the full SHA d998f16View commit details -
drm: apple: iomfb: Improve hotplug related logging
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4a8fc9d - Browse repository at this point
Copy the full SHA 4a8fc9dView commit details -
drm: apple: Extract modeset crtc's atomic_flush()
Triggering modesets from drm_connector_helper_funcs.atomic_check is more in line with DRM/KMS' design and allows returning errors from failed modesets. Ignore hotplug callbacks from DCP during modeset. DCP always does disconnected -> connected on (at least the initial) modeset. Shield drm helpers from this. This improves reliability with externel (dptx based) displays. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9cd0ab7 - Browse repository at this point
Copy the full SHA 9cd0ab7View commit details -
drm: apple: dptx: Log connect/disconnect calls
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b70e5ca - Browse repository at this point
Copy the full SHA b70e5caView commit details -
drm: apple: Move modeset into drm_crtc's atomic_enable
squash! drm: apple: Extract modeset crtc's atomic_flush() Fixes: 99d7bb8 ("drm: apple: Extract modeset crtc's atomic_flush()") Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a7bed8e - Browse repository at this point
Copy the full SHA a7bed8eView commit details -
drm: apple: Fix DPTX hotplug handling
- Do not trigger an hotplug event from disconnect. DCP/iomfb notices that itself. - Check HPD status before disconnecting DPTX in the crtc disable path. - disconnect on suspend to allow an orderly re-connect on resume Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1da8438 - Browse repository at this point
Copy the full SHA 1da8438View commit details -
drm: apple: iomfb: Use drm_kms_helper_connector_hotplug_event
Avoid device wide hotplugs as DCP knowns the affected connector. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3d20d7b - Browse repository at this point
Copy the full SHA 3d20d7bView commit details -
drm : apple: iomfb: Handle OOB ASYNC/CB context
Only observed with dcp/dptx in linux after initialisation and reset in m1n1. On the initial startup dcp sends two D576 (hotPlug_notify_gated) presumendly due to state confusion due to the multiple dptx connections. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cd422b9 - Browse repository at this point
Copy the full SHA cd422b9View commit details -
drm: apple: iomfb: Extend hotplug/mode parsing logging
Under unknown but slightly broken conditions dcp sends timing modes without linked color modes. Log a warning when this happens and log the number of valid modes before emitting HPD events. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d962807 - Browse repository at this point
Copy the full SHA d962807View commit details -
drm: apple: Adjust startup sequence and timing for dptx
DPTX setup from an initialized connection and display with sleeping and reset dcp is unfortunately quite fragile. The display connection has to be stopped and reestablished. Goodbye flicker free boot. If the IOMFB endpoint is started too early dcp might provide incomplete timing modes which prevent modesets. On display standby a HPD is triggered should result in a fully initialized dcp. If not a display cable unplug and plug should help. MacOS doesn't handle this at all and just gives up. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 09fb993 - Browse repository at this point
Copy the full SHA 09fb993View commit details -
drm: apple: dcp: Fix resume with DPTX based display outputs
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dbce6ad - Browse repository at this point
Copy the full SHA dbce6adView commit details -
drm: apple: Be less noisy about teardown notifies without service
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7e2f6ca - Browse repository at this point
Copy the full SHA 7e2f6caView commit details -
drm: apple: dptx: Wait for link config on connect
Should make connect more reliable by avoiding hardcoded waits which are either to long or too short. In the second case the display can't be brought up since dcp fails to report any modes during start. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bdac34f - Browse repository at this point
Copy the full SHA bdac34fView commit details -
drm: apple: Prefer RGB SDR modes
DCP color mode scoring seems to prefer high bit depth color modes even when it it would require DSC. For example 12-bit 4k 60 Hz YCbCr 4:4:4 over a 600 MHz HDMI 2.0 link. Prefer 8-/10-bit RGB or YCbCr 4:4:4 modes if available. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b98462d - Browse repository at this point
Copy the full SHA b98462dView commit details -
drm: apple: iomfb: Always parse DisplayAttributes
Fixes missing physical display dimensions for HDMI display on Macbook Pros. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 61bf5b3 - Browse repository at this point
Copy the full SHA 61bf5b3View commit details -
drm: apple: parser: constify parser data
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f45d369 - Browse repository at this point
Copy the full SHA f45d369View commit details -
drm: apple: epic: Pass full notfiy/report payload to handler
The payload is not necessarily epic_std_service_ap_call. The powerlog service on the system endpoint passes serialized dictionaries as payload. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 54d9b55 - Browse repository at this point
Copy the full SHA 54d9b55View commit details -
drm: apple: epic: systemep: Parse "mNits" log events
The 13.5 firmware has stopped updating the NITS property on backlight brightness changes. Parse system log events instead which report backlight's brightness in millinits. Fixes the backlight device's "actual_brightness" property used by the systemd backlight service to save and restore brightness. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bd06892 - Browse repository at this point
Copy the full SHA bd06892View commit details -
drm: apple: mark local functions static
With linux-6.8, the kernel warns about functions that have no extern declaration, so mark both of these static. Fixes: 2d782b0 ("gpu: drm: apple: Add sound mode parsing") Signed-off-by: Arnd Bergmann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 11eca5f - Browse repository at this point
Copy the full SHA 11eca5fView commit details -
drm/apple: Add missing RTKit Kconfig dependency
Signed-off-by: Alyssa Ross <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be506e9 - Browse repository at this point
Copy the full SHA be506e9View commit details -
Signed-off-by: Jonathan Gray <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bb85648 - Browse repository at this point
Copy the full SHA bb85648View commit details -
drm: apple: backlight: force backlight update after resume
If the DCP firmware indicates that it didn't restore the brightness, schedule an update. Wait for 1 frame duration and check if the brightness update has been taken care of by a swap that happened in the meantime. Fixes restoring the brightness after resume when running on a dumb framebuffer where swaps may not happen for a very long time. Signed-off-by: Mark Kettenis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 55d0ca3 - Browse repository at this point
Copy the full SHA 55d0ca3View commit details -
drm: apple: Fix/remove log messages
Add missing training '\n' and remove leftover dev_dbg() statements. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e8b4788 - Browse repository at this point
Copy the full SHA e8b4788View commit details -
drm: apple: dptx: Debounce HPD by simple msleep()
Not necessarily only a debounce but 500ms sleep in the HPD interrupt handler seems to make the modeset more reliable on M2* desktop devices. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 85f95b0 - Browse repository at this point
Copy the full SHA 85f95b0View commit details -
drm: apple: Add Kconfig option for audio
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 456beee - Browse repository at this point
Copy the full SHA 456beeeView commit details -
drm: apple: iomfb: export property dicts in connector debugfs
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72f9c5c - Browse repository at this point
Copy the full SHA 72f9c5cView commit details -
gpu: drm: apple: Expose injecting of EPIC calls via debugfs
Signed-off-by: Martin Povišer <[email protected]> Co-developed-by: Janne Grunau <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c43cbc9 - Browse repository at this point
Copy the full SHA c43cbc9View commit details -
gpu: drm: apple: Set up client of AV endpoint
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 84775d3 - Browse repository at this point
Copy the full SHA 84775d3View commit details -
drm: apple: av: Support macOS 12.3 and 13.5 firmware APIs
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 105764e - Browse repository at this point
Copy the full SHA 105764eView commit details -
drm: apple: av: Do not open AV service from afk receive handler
Use a completion to do it from avep_init() instead. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 617b1e2 - Browse repository at this point
Copy the full SHA 617b1e2View commit details -
gpu: drm: apple: Add DCP audio driver
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be8ab0c - Browse repository at this point
Copy the full SHA be8ab0cView commit details -
drm: apple: dptx: Remove DPTX disconnect/connect on init
This was only necessary for dcp0 on M2* devices presumably because the reset in m1n1 doesn't work as intended. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 160d97b - Browse repository at this point
Copy the full SHA 160d97bView commit details -
drm: apple: audio: init AV endpoint later
This seems to get rid of initialization timeouts / failures. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 846aca8 - Browse repository at this point
Copy the full SHA 846aca8View commit details -
drm: apple: av: Use a workqueue
Functionally a revert of "drm: apple: av: Do not open AV service from afk receive handler" with more workqueues. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 54cb247 - Browse repository at this point
Copy the full SHA 54cb247View commit details -
drm: apple: audio: move the audio driver into the DCP module
Those two drivers are closely linked and should always exists together. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for de23abd - Browse repository at this point
Copy the full SHA de23abdView commit details -
drm: apple: audio: Make the DP/HDMI audio driver a full driver
The main advantage is that it allows runtime PM which would have been manually implemented with the ad-hoc instantiated platform driver. This also probes the devices as component of the DRM driver which allows to simplify the the interface between the av endpoint and the audio driver. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 946fcad - Browse repository at this point
Copy the full SHA 946fcadView commit details -
drm: apple: audio: Avoid probe errors
Now that the DP audio driver is a component of the display sub-system probe errors will bring down the whole display initialization. To prevent that the audio driver must not fail. Allow delayed sound card initialization if the DMA controller is not ready, for example because the apple-sio module is missing (at all or just in the initeramfs). In the case apple-sio is available later provide as sysfs file "probe_snd_card" to trigger initialization. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2f7776d - Browse repository at this point
Copy the full SHA 2f7776dView commit details -
drm/apple: fix double words in comments
Signed-off-by: Jonathan Gray <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1263c4a - Browse repository at this point
Copy the full SHA 1263c4aView commit details -
drm: apple: backlight: release lock in error path
Signed-off-by: Caspar Schutijser <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be70c65 - Browse repository at this point
Copy the full SHA be70c65View commit details -
drm: apple: Switch back to drm_atomic_helper_commit_tail_rpm()
The custom commit_tail implementation stopped making after "drm/apple: Disable fake vblank IRQ machinery" which stopped calling drm_vblank_init(). Revert back to the standard helper implementation. Avoids or at least significantly reduces page flips taking approximately one frame time in kwin_wayland 6. Fixes: ("drm/apple: Switch to nonblocking commit handling") Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7ebce2b - Browse repository at this point
Copy the full SHA 7ebce2bView commit details -
drm: apple: Fix broken MemDescRelay::release_descriptor callback number
Two callbacks for IOMFB::MemDescRelay seems to be dropped between 12.3 and 13.5 DCP firmware. This results in the renumbering of MemDescRelay::release_descriptor from D456 to D454. Noticed while when switching the display refresh rate to 50 Hz with a 14.5 system firmware on a M1 Max Macbook Pro. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf4fa2f - Browse repository at this point
Copy the full SHA cf4fa2fView commit details -
drm: apple: Reduce log spam about busy command channel
The most likely cause for this is an unexpected callback form which the current driver doesn't recover. Warn only once about it. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7fce142 - Browse repository at this point
Copy the full SHA 7fce142View commit details -
drm: apple: av: Warn only once about failed calls
Reduce log spam while errors are still likely due missing state checks.
Configuration menu - View commit details
-
Copy full SHA for 93e905f - Browse repository at this point
Copy the full SHA 93e905fView commit details -
drm: apple: disable HDMI audio by default
Can be still enabled by adding `apple_dcp.hdmi_audio` the kernel command line. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eabe29d - Browse repository at this point
Copy the full SHA eabe29dView commit details -
drm: apple: Override drm_vblank's page flip event handling [HACK]
Since we don't init/uses drm's vblank support our page flip timestamps are CLOCK_MONOTONIC timestamps during the event generation. Since compositors use the timestamp to schedule their next kms commit this is timing sensitive sop move it under the drivers control. Take the timestamp directly in the swap_complete callback. Framebuffer swaps are unfortunately not fast with DCP. Measured time from swap_submit to swap_complete is ~1.5 ms for dcp and ~2.3 ms for dcpext. This warrants further investigation. Presentation timestamps might help if delay on dcp firmware side occurs after the actual swap. In the meantime doctor the time stamps and move the page flip completion up to 1 ms earler. This fixes half rate refresh on external displays displays using dcpext. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6451d63 - Browse repository at this point
Copy the full SHA 6451d63View commit details -
drm/apple: Explicitly stop AFK endpoints on shutdown
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 92400b7 - Browse repository at this point
Copy the full SHA 92400b7View commit details -
drm/apple: audio: Create a device link to the DMA device
This works even before the DMA device probes. Might help deal with runtime-pm ordering, though it doesn't solve the deferred ordering problem (since we're creating the link while already probing)... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b636ac7 - Browse repository at this point
Copy the full SHA b636ac7View commit details -
drm/apple: audio: Defer DMA channel acquisition to device open
Allow the DMA device driver to probe late, and still create the sound device upfront. Instead try to request the DMA channel on first PCM open. This should be safe as long as we bail early and don't allow the process to continue to configuring buffers (since that requires the DMA to be configured). Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dd842f7 - Browse repository at this point
Copy the full SHA dd842f7View commit details -
drm/apple: audio: Fix hotplug notifications
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 64c1390 - Browse repository at this point
Copy the full SHA 64c1390View commit details -
drm: apple: Add oob hotplug event
Signed-off-by: Sven Peter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6c87f69 - Browse repository at this point
Copy the full SHA 6c87f69View commit details -
drm: apple: dptx: Fix get_drive_settings retcode
This appears to be lane count as "2" is observed for USB-C DP alt mode in shared DP/USB3 mode. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dc80c79 - Browse repository at this point
Copy the full SHA dc80c79View commit details -
drm: apple: dptxport: get_max_lane_count: Retrieve lane count from phy
This unfortunately doesn't work relieably with typec-altmode-displayport since the oob hotplug notification arrives before atc-phy is configured to the appropiate DP mode. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d45531b - Browse repository at this point
Copy the full SHA d45531bView commit details -
drm/apple: Fix missing mode init (feel free to squash)
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d82b423 - Browse repository at this point
Copy the full SHA d82b423View commit details -
drm: apple: iomfb: Align buffer size on unmap/free as well
Fixes failure to unmap buffers in dcpep_cb_unmap_piodma() due to the unaligned size. Further along this causes kernel log splat when DCP tries to map the buffers again since thye IOVA is still in use. This causes no apparent issue although map_piodma callback signals an errror and returns 0 (unmapped as DVA). It's not clear why this presents only randomly. Possibly some build or uninitialized memory triggers this unmap/free and immediate allocate/map cycle in the DCP firmware. I never notices this with a clang-built kernel on j314c. It showed with gcc build with the Fedora config at least on 6.8.8 based kernels. This did not reproduce on j375d. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dea5f9a - Browse repository at this point
Copy the full SHA dea5f9aView commit details -
Revert "drm: apple: HACK: Do not delete piodma platform device"
This reverts commit fa86f31. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 45eb5c4 - Browse repository at this point
Copy the full SHA 45eb5c4View commit details -
drm: apple: afk: Optionally match against EPICName
The dpavserv endpoint uses various EPICProviderClass depending on the connected display. Observed values: - "AppleDCPAgileCDIDPDisplay" (j134c, dcp, panel) - "AppleDCPMCDP29XX" (j274, dcp, hdmi) - "AppleDCPPS190" (j474s, dcpext0, hdmi) - "DCPDPService" (j474s, dcpext1, typec) So match against against EPICName which is consistent in all cases. This also allows the distinction between 'dcpav-service-epic' and 'dcpdp-service-epic'. Not sure what the second EPIC service is used for. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ac232b0 - Browse repository at this point
Copy the full SHA ac232b0View commit details -
drm: apple: Add dcpav-service-ep
Known uses EDID retrieval and raw I2C access. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for de0cab6 - Browse repository at this point
Copy the full SHA de0cab6View commit details -
drm: apple: iomfb: Provide the EDID as connector property
External display only since the EDID provided by integrated panels holds no useful / correct information. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1ba0496 - Browse repository at this point
Copy the full SHA 1ba0496View commit details -
platform/apple: Add new Apple Mac SMC driver
This driver implements support for the SMC (System Management Controller) in Apple Macs. In contrast to the existing applesmc driver, it uses pluggable backends that allow it to support different SMC implementations, and uses the MFD subsystem to expose the core SMC functionality so that specific features (gpio, hwmon, battery, etc.) can be implemented by separate drivers in their respective downstream subsystems. The initial RTKit backend adds support for Apple Silicon Macs (M1 et al). We hope a backend for T2 Macs will be written in the future (since those are not supported by applesmc), and eventually an x86 backend would allow us to fully deprecate applesmc in favor of this driver. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1d51544 - Browse repository at this point
Copy the full SHA 1d51544View commit details -
gpio: Add new gpio-macsmc driver for Apple Macs
This driver implements the GPIO service on top of the SMC framework on Apple Mac machines. In particular, these are the GPIOs present in the PMU IC which are used to control power to certain on-board devices. Although the underlying hardware supports various pin config settings (input/output, open drain, etc.), this driver does not implement that functionality and leaves it up to the firmware to configure things properly. We also don't yet support interrupts/events. This is sufficient for device power control, which is the only thing we need to support at this point. More features will be implemented when needed. To our knowledge, only Apple Silicon Macs implement this SMC feature. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b232bd4 - Browse repository at this point
Copy the full SHA b232bd4View commit details -
power: supply: macsmc_power: Driver for Apple SMC power/battery stats
This driver implements support for battery stats on top of the macsmc framework, to support Apple M1 Mac machines. Co-authored-by: Joey Gouly <[email protected]> Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 10b60d6 - Browse repository at this point
Copy the full SHA 10b60d6View commit details -
power: supply: macsmc_power: Add cycle count and health props
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 826d6bb - Browse repository at this point
Copy the full SHA 826d6bbView commit details -
power: supply: macsmc_power: Add present prop
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dfd71ff - Browse repository at this point
Copy the full SHA dfd71ffView commit details -
power: supply: macsmc_power: Add more props, rework others
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bc7d93e - Browse repository at this point
Copy the full SHA bc7d93eView commit details -
power: supply: macsmc_power: Use BUIC instead of BRSC for charge
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 708007a - Browse repository at this point
Copy the full SHA 708007aView commit details -
power: supply: macsmc_power: Turn off OBC flags if macOS left them on
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ab63aef - Browse repository at this point
Copy the full SHA ab63aefView commit details -
power: supply: macsmc_power: Add AC power supply
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5a7a912 - Browse repository at this point
Copy the full SHA 5a7a912View commit details -
power: reset: macsmc-reboot: Add driver for rebooting via Apple SMC
This driver implements the reboot/shutdown support exposed by the SMC on Apple Silicon machines, such as Apple M1 Macs. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dea6880 - Browse repository at this point
Copy the full SHA dea6880View commit details -
rtc: Add new rtc-macsmc driver for Apple Silicon Macs
Apple Silicon Macs (M1, etc.) have an RTC that is part of the PMU IC, but most of the PMU functionality is abstracted out by the SMC. On T600x machines, the RTC counter must be accessed via the SMC to get full functionality, and it seems likely that future machines will move towards making SMC handle all RTC functionality. The SMC RTC counter access is implemented on all current machines as of the time of this writing, on firmware 12.x. However, the RTC offset (needed to set the time) is still only accessible via direct PMU access. To handle this, we expose the RTC offset as an NVMEM cell from the SPMI PMU device node, and this driver consumes that cell and uses it to compute/set the current time. Alarm functionality is not yet implemented. This would also go via the PMU today, but could change in the future. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0603c50 - Browse repository at this point
Copy the full SHA 0603c50View commit details -
Input: macsmc-hid: New driver to handle the Apple Mac SMC buttons/lid
This driver implements power button and lid switch support for Apple Mac devices using SMC controllers driven by the macsmc driver. In addition to basic input support, this also responds to the final shutdown warning (when the power button is held down long enough) by doing an emergency kernel poweroff. This allows the NVMe controller to be cleanly shut down, which prevents data loss for in-cache data. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f444ed1 - Browse repository at this point
Copy the full SHA f444ed1View commit details -
Input: macsmc-hid: Support button/lid wakeups
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b9a8545 - Browse repository at this point
Copy the full SHA b9a8545View commit details -
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4020c77 - Browse repository at this point
Copy the full SHA 4020c77View commit details -
Input: macsmc-hid: Support the power button on desktops
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c83571b - Browse repository at this point
Copy the full SHA c83571bView commit details -
power: supply: macsmc_power: Add critical level shutdown & misc events
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c59a890 - Browse repository at this point
Copy the full SHA c59a890View commit details -
platform/apple: smc: Add apple_smc_read_f32_scaled
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c093775 - Browse repository at this point
Copy the full SHA c093775View commit details -
power: supply: macsmc_power: Add a debug mode to print power usage
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d0773ec - Browse repository at this point
Copy the full SHA d0773ecView commit details -
macsmc: Fix race between backend and core on notifications
The core enables notifications (NTAP) before returning from the probe function, before the backend has a chance to set smc->core. This leads to a race if a notification arrives early. We already rely on the core setting the drvdata to itself, so move that ahead of NTAP=1 and drop smc->core entirely. That way it's safe for the backend notification callback to fire before the core probe function returns. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6862613 - Browse repository at this point
Copy the full SHA 6862613View commit details -
power: supply: macsmc_power: Log power data on button presses
This helps catch s2idle power stats, since we get early data when the system resumes due to a power button press. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4f0a0e8 - Browse repository at this point
Copy the full SHA 4f0a0e8View commit details -
power: supply: macsmc_power: Add CHWA charge thresholds
This is a hardcoded charge threshold feature present in firmware 13.0 or newer. Userspace settings are rounded to one of the two possible behaviors. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e6d285d - Browse repository at this point
Copy the full SHA e6d285dView commit details -
power: supply: macsmc_power: Report available charge_behaviours
The generic handling if charge_behaviours in the power_supply core requires power_supply_desc.charge_behaviours to be set. Signed-off-by: Thomas Weißschuh <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2ace298 - Browse repository at this point
Copy the full SHA 2ace298View commit details -
power: supply: macsmc_power: Add more properties
Report more voltages from the battery, and also fudge energy numbers from charge numbers. This way userspace doesn't try to convert on its own (and gets it very wrong). Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1ff187a - Browse repository at this point
Copy the full SHA 1ff187aView commit details -
platform/apple: smc: Add apple_smc_read_ioft_scaled
"ioft" is a 48.16 fixed point type. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3845431 - Browse repository at this point
Copy the full SHA 3845431View commit details -
hwmon: add macsmc-hwmon driver
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 <[email protected]> Signed-off-by: Janne Grunau <[email protected]> Signed-off-by: James Calligeros <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f0da76 - Browse repository at this point
Copy the full SHA 3f0da76View commit details -
hwmon: macsmc: Avoid global writable hwmon_chip_info
Should be squashed into "hwmon: add macsmc-hwmon driver" Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7949af4 - Browse repository at this point
Copy the full SHA 7949af4View commit details -
power: supply: macsmc_power: Add CHLS charge thresholds
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 <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9e19732 - Browse repository at this point
Copy the full SHA 9e19732View commit details -
power: supply: macsmc_power: Remove CSIL
Gone in Sequoia firmware. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d82cb3e - Browse repository at this point
Copy the full SHA d82cb3eView commit details -
power: supply: macsmc_power: Report not charging for CHLS thresholds
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 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4bf83d9 - Browse repository at this point
Copy the full SHA 4bf83d9View commit details -
platform/apple: smc: Add apple_smc_write_f32_scaled
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ca16ba0 - Browse repository at this point
Copy the full SHA ca16ba0View commit details -
hwmon: macsmc: wire up manual fan control support
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 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a566fd3 - Browse repository at this point
Copy the full SHA a566fd3View commit details
Commits on Sep 18, 2024
-
ALSA: usb-audio: Define macros for quirk table entries
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/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 51021c2 - Browse repository at this point
Copy the full SHA 51021c2View commit details -
ALSA: usb-audio: Replace complex quirk lines with macros
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/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d2c34a4 - Browse repository at this point
Copy the full SHA d2c34a4View commit details -
ALSA: usb-audio: Add quirk for RME Digiface USB
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 <[email protected]> [Lina: Added 2x/4x sample rate support & boot/format quirks] Co-developed-by: Asahi Lina <[email protected]> Signed-off-by: Asahi Lina <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c34ddb3 - Browse repository at this point
Copy the full SHA c34ddb3View commit details -
ALSA: usb-audio: Add mixer quirk for RME Digiface USB
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 <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 08d7e2a - Browse repository at this point
Copy the full SHA 08d7e2aView commit details -
power: supply: Drop use_cnt check from power_supply_property_is_write…
…able() 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 be6299c ("power: supply: sysfs: use power_supply_property_is_writeable()") this now also impacts power_supply class sysfs attributes. Fixes: be6299c ("power: supply: sysfs: use power_supply_property_is_writeable()") Fixes: e67d4df ("power: supply: Add HWMON compatibility layer") Cc: [email protected] Cc: Thomas Weißschuh <[email protected]> Cc: Andrey Smirnov <[email protected]> Signed-off-by: Hans de Goede <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bcc9ecf - Browse repository at this point
Copy the full SHA bcc9ecfView commit details
Commits on Sep 21, 2024
-
drm/sched: Fix dynamic job-flow control race
Fixes a race condition reported here: AsahiLinux#309 (comment) 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 <[email protected]> Fixes: a78422e ("drm/sched: implement dynamic job-flow control") Closes: AsahiLinux#309 Cc: [email protected] Signed-off-by: Rob Clark <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b90e51e - Browse repository at this point
Copy the full SHA b90e51eView commit details -
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7a2a6e4 - Browse repository at this point
Copy the full SHA 7a2a6e4View commit details -
drm/asahi: file: Update to newer VM_BIND API
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e210500 - Browse repository at this point
Copy the full SHA e210500View commit details -
drm/asahi: Signal soft fault support to userspace
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bec3baf - Browse repository at this point
Copy the full SHA bec3bafView commit details -
drm/asahi: Enable soft faults by default
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 455679b - Browse repository at this point
Copy the full SHA 455679bView commit details -
rust: kernel: net: phy: Fix Module::init() signature
fixup! rust: Add `name` argument to Module::init() Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf6863e - Browse repository at this point
Copy the full SHA cf6863eView commit details -
drm/asahi: Fix u32 mult overflow on large tilebufs/TPCs
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3cd3694 - Browse repository at this point
Copy the full SHA 3cd3694View commit details -
Configuration menu - View commit details
-
Copy full SHA for 245c4ce - Browse repository at this point
Copy the full SHA 245c4ceView commit details -
rust: kernel::platform: Adapt to anon union for remove()/remove_new()
Expected to be dropped once upstream removes `remove_new(). Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1c2dcab - Browse repository at this point
Copy the full SHA 1c2dcabView commit details -
rust: block: rnull: Adapt to asahi's rust base branch
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e242c62 - Browse repository at this point
Copy the full SHA e242c62View commit details
Commits on Sep 23, 2024
-
drm/asahi: Workqueue: Add more debug
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 503e280 - Browse repository at this point
Copy the full SHA 503e280View commit details -
drm/asahi: Fix event tracking when JobSubmission is dropped
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c08e3ef - Browse repository at this point
Copy the full SHA c08e3efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 28ad75b - Browse repository at this point
Copy the full SHA 28ad75bView commit details -
drm/asahi: gpu: Show unknown field in timeouts
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e669000 - Browse repository at this point
Copy the full SHA e669000View commit details -
Configuration menu - View commit details
-
Copy full SHA for ef96bc4 - Browse repository at this point
Copy the full SHA ef96bc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 20398d9 - Browse repository at this point
Copy the full SHA 20398d9View commit details -
drm/asahi: Handle channel errors
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c881c40 - Browse repository at this point
Copy the full SHA c881c40View commit details
Commits on Sep 24, 2024
-
drm/asahi: event: Initialize stamps to different values
Makes debugging a bit easier. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 974528c - Browse repository at this point
Copy the full SHA 974528cView commit details -
drm/asahi: workqueue,queue: More debug
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1e4b90c - Browse repository at this point
Copy the full SHA 1e4b90cView commit details -
drm/asahi: workqueue: Fix "Cannot submit, but queue is empty?" bug
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4af79b7 - Browse repository at this point
Copy the full SHA 4af79b7View commit details -
drm/asahi: Clean up jobs in a workqueue
This eliminates a potential deadlock under load and improves the fence signaling situation (for when we have a shrinker). Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f3841ab - Browse repository at this point
Copy the full SHA f3841abView commit details -
drm/asahi: Add robust_isolation kernel parameter
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 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e9d356b - Browse repository at this point
Copy the full SHA e9d356bView commit details -
ALSA: Introduce 'snd_interval_rate_bits'
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 12e720e - Browse repository at this point
Copy the full SHA 12e720eView commit details -
ALSA: Support nonatomic dmaengine PCMs
*** possible v6.11 conflict: _snd_dmaengine_pcm_close Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 654e07b - Browse repository at this point
Copy the full SHA 654e07bView commit details -
READ COMMIT MESSAGE! macaudio: Enable first round of models
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 *** lsp-plugins/lsp-dsp-lib#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 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f1fa254 - Browse repository at this point
Copy the full SHA f1fa254View commit details -
READ COMMIT MESSAGE! macaudio: Enable second round of models
Enables j316, j413, j415, j416 *** WARNING FOR DISTRO PACKAGERS WANTING TO APPLY THIS: *** *** YOU ABSOLUTELY NEED THIS PATCH IN YOUR LSP-PLUGINS PACKAGE *** lsp-plugins/lsp-dsp-lib#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 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f8cddd8 - Browse repository at this point
Copy the full SHA f8cddd8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2812dea - Browse repository at this point
Copy the full SHA 2812deaView commit details -
Configuration menu - View commit details
-
Copy full SHA for b59a10c - Browse repository at this point
Copy the full SHA b59a10cView commit details -
Configuration menu - View commit details
-
Copy full SHA for fca8dbb - Browse repository at this point
Copy the full SHA fca8dbbView commit details -
Configuration menu - View commit details
-
Copy full SHA for d025ffc - Browse repository at this point
Copy the full SHA d025ffcView commit details -
drm/asahi: HACK: Disable compute preemption for now
Possibly because we don't have support in the helper program, this is broken and causes channel errors. Hack in high priority for now, which works around it. Use debug_flags 0x1000000000000 to re-enable for testing. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1bbe2a3 - Browse repository at this point
Copy the full SHA 1bbe2a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for b130516 - Browse repository at this point
Copy the full SHA b130516View commit details -
Configuration menu - View commit details
-
Copy full SHA for 315dff2 - Browse repository at this point
Copy the full SHA 315dff2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f538dd - Browse repository at this point
Copy the full SHA 0f538ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b24bff - Browse repository at this point
Copy the full SHA 9b24bffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 81eb391 - Browse repository at this point
Copy the full SHA 81eb391View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0aff27d - Browse repository at this point
Copy the full SHA 0aff27dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d27f16 - Browse repository at this point
Copy the full SHA 9d27f16View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fda233 - Browse repository at this point
Copy the full SHA 6fda233View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6dc09ad - Browse repository at this point
Copy the full SHA 6dc09adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 98a9a8b - Browse repository at this point
Copy the full SHA 98a9a8bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 120d36c - Browse repository at this point
Copy the full SHA 120d36cView commit details -
Configuration menu - View commit details
-
Copy full SHA for cd18cb3 - Browse repository at this point
Copy the full SHA cd18cb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbd6e96 - Browse repository at this point
Copy the full SHA fbd6e96View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb8d3bd - Browse repository at this point
Copy the full SHA bb8d3bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8050b5d - Browse repository at this point
Copy the full SHA 8050b5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fd42227 - Browse repository at this point
Copy the full SHA fd42227View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a2ce75 - Browse repository at this point
Copy the full SHA 4a2ce75View commit details -
Configuration menu - View commit details
-
Copy full SHA for 34a83bd - Browse repository at this point
Copy the full SHA 34a83bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1198847 - Browse repository at this point
Copy the full SHA 1198847View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8353e91 - Browse repository at this point
Copy the full SHA 8353e91View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e85b23 - Browse repository at this point
Copy the full SHA 6e85b23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52d44bd - Browse repository at this point
Copy the full SHA 52d44bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for de1c5a8 - Browse repository at this point
Copy the full SHA de1c5a8View commit details
Commits on Oct 18, 2024
-
rust: samples: fix init argument
After commit c96b547: rust: Add `name` argument to Module::init() init needs a name argument. Since both rust samples were made before that, they fail to compile. Signed-off-by: Bruno Oliveira <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 016690d - Browse repository at this point
Copy the full SHA 016690dView commit details