Skip to content

Ubuntu-asahi-arm-6.12.0-1004.4 => Asahi patchset asahi-6.12.10-2 #1

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

Closed
wants to merge 1,233 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1233 commits
Select commit Hold shift + click to select a range
164390a
rust: drm: sched: Add GPU scheduler abstraction
asahilina Feb 11, 2023
91b39d4
fixup! rust: drm: sched: Add GPU scheduler abstraction
jannau Nov 9, 2024
53f1ca5
drm/gem: Add a flag to control whether objects can be exported
asahilina Feb 10, 2023
c92178a
rust: drm: gem: Add set_exportable() method
asahilina Feb 11, 2023
6f97014
drm/shmem-helper: Add lockdep asserts to vmap/vunmap
asahilina Nov 22, 2023
d0ea77a
drm/scheduler: Clean up jobs when the scheduler is torn down.
asahilina Mar 6, 2023
7df0530
rust: drm: sched: Use &mut for ArmedJob.fences()
jannau Nov 16, 2024
5160889
drm/gpuvm: Add drm_gpuvm_bo_unmap()
asahilina May 8, 2024
5e9d2b2
rust: drm: Add GPUVM Manager abstraction
asahilina May 8, 2024
6e85794
fixup! rust: drm: Add GPUVM Manager abstraction
jannau Nov 9, 2024
df532cc
HACK: rust: drm: device: Add device initialization without data
jannau Nov 10, 2024
f53a35b
HACK: rust: drm: device: Add pointless device() method
jannau Nov 10, 2024
216c366
rust: drm: gem: shmem: Add share_dma_resv() function
asahilina Jun 22, 2024
aa36ed7
rust: macros: Add versions macro
asahilina Feb 16, 2023
b8bd50e
drm/asahi: Add the Asahi driver UAPI
asahilina Feb 16, 2023
6b9b661
fixup! drm/asahi: Add the Asahi driver UAPI
asahilina Sep 23, 2024
13196af
rust: bindings: Bind the Asahi DRM UAPI
asahilina Feb 16, 2023
f1fa56d
drm/asahi: Add the Asahi driver for Apple AGX GPUs
asahilina Feb 16, 2023
c768ec3
fixup! drm/asahi: Add the Asahi driver for Apple AGX GPUs
jannau Nov 9, 2024
4c3ff5a
DO NOT MERGE: drm/asahi: Add an experimental UAPI extension
asahilina Apr 26, 2023
552a3cb
drm/asahi: render: Implement unknown value UAPI extension
asahilina Apr 26, 2023
f0bcda1
drm/asahi: hw,initdata: Initdata fixes for G14S
asahilina Jul 19, 2023
d452682
drm/asahi: hw: Drop max_dies
asahilina Jul 19, 2023
f2c09a1
fixup! drm/asahi: hw: Drop max_dies
jannau Nov 16, 2024
73688cb
drm/asahi: initdata: Fix ver_info for G13 V13.5
asahilina Jul 19, 2023
7ea4402
drm/asahi: fw/channels: Identify subpipe (?) field in tvb ack
asahilina Aug 2, 2023
d8174c3
drm/asahi: fw/channels: Document more message types a bit
asahilina Aug 2, 2023
ee10c3d
drm/asahi: initdata: Fix 13.5 field position for G13X
asahilina Aug 2, 2023
3ddc116
drm/asahi: initdata: Document more stuff
asahilina Aug 2, 2023
d50eb59
drm/asahi: fw/microseq: Document bits of has_attachments
asahilina Aug 2, 2023
eba7e04
drm/asahi: hw/t600x: Expand some mappings
asahilina Aug 2, 2023
f0aa2e2
drm/asahi: hw/t8112: Make last IOMapping read-only
asahilina Aug 2, 2023
35b421f
drm/asahi: render: Correct some values for G14
asahilina Aug 2, 2023
d9bef8e
drm/asahi: initdata: Initialize GpuStatsFrag properly
asahilina Aug 3, 2023
acee428
drm/asahi: slotalloc: Allow initializing empty slots
asahilina Aug 3, 2023
3fb1e2b
drm/asahi: fw.channels: Add static assertions for message sizes
asahilina Aug 3, 2023
5b5d649
drm/asahi: hw.t602x: Fixes for t6022
asahilina Aug 9, 2023
468999d
drm/asahi: regs: Fix cluster count for G14D
asahilina Aug 9, 2023
1a4db12
drm/asahi: Enable probing for t6022
asahilina Aug 9, 2023
13f393c
drm/asahi: Increase recursion limit
asahilina Aug 9, 2023
9d782ad
drm/asahi: initdata: Fixes for G14D
asahilina Aug 9, 2023
dd49ccf
drm/asahi: initdata,hw: Identify & set idle_off_standby_timer
asahilina Aug 9, 2023
04f10ef
drm/asahi: initdata: Fudge t3 calculation a bit
asahilina Aug 9, 2023
cf909bd
drm/asahi: gpu,hw: Fix array IOMappings
asahilina Aug 9, 2023
66b6f38
drm/asahi: hw/t602x: Increase meta/preempt sizes for G14D
asahilina Aug 9, 2023
b5a4c33
drm/asahi: Expose firmware version to userspace
asahilina Aug 16, 2023
2d71463
fixup! drm/asahi: Expose firmware version to userspace
jannau Nov 10, 2024
33d947a
drm/asahi: alloc: Support tagging array allocs
asahilina Aug 16, 2023
d77bba5
drm/asahi: alloc: Use tag as the guard marker
asahilina Aug 16, 2023
f622352
fixup! drm/asahi: alloc: Use tag as the guard marker
jannau Nov 16, 2024
8adf4af
drm/asahi: buffer: Add tags to all the buffers
asahilina Aug 16, 2023
42d23cb
drm/asahi: initdata: Tag more arrays
asahilina Aug 16, 2023
370f3fd
drm/asahi: queue/compute: Tag preempt buf
asahilina Aug 16, 2023
f0ea6d0
drm/asahi: render: Tag AuxFB
asahilina Aug 16, 2023
f1db5af
drm/asahi: workqueue: Tag GPU buf
asahilina Aug 16, 2023
cb48582
drm/asahi: buffer,render: Identify and provide layer meta buf
asahilina Aug 16, 2023
79a1b4b
drm/asahi: compute: Implement bindless samplers
asahilina Aug 16, 2023
a9b65e9
drm/asahi: render: Implement bindless samplers
asahilina Aug 16, 2023
7e96eb7
drm/asahi: fw,queue: Implement helper programs
asahilina Aug 16, 2023
1a49342
drm/asahi: render: Identify and set Z/S strides for layered rendering
asahilina Aug 16, 2023
584d282
drm/asahi: queue: Quieten some debugs
asahilina Aug 17, 2023
d5f214e
drm/asahi: Add verbose UAPI error reporting
asahilina Aug 30, 2023
ed08c4e
drm/asahi: file: Remove sync limit
asahilina Sep 1, 2023
d27880a
drm/asahi: render: Remove sync TVB growth support
asahilina Sep 1, 2023
86feafb
drm/asahi: buffer: Complain more loudly about sync requests
asahilina Sep 1, 2023
748d608
drm/asahi: Identify & add render VS spills flag
asahilina Nov 8, 2023
3818634
drm/asahi: Identify and allocate clustered layering metadata buf
asahilina Nov 10, 2023
d18b806
drm/asahi: Fix Clippy complaints
asahilina Nov 10, 2023
a7ecad4
drm/asahi: render: Fix layered rendering on G14X
asahilina Nov 10, 2023
f7d8b8e
drm/asahi: render, buffer: Fix layered rendering on G13X (again)
asahilina Nov 17, 2023
94432f5
drm/asahi: initdata: New init chain API for rebase
marcan Nov 19, 2023
0e0d7d8
fixup! drm/asahi: initdata: New init chain API for rebase
jannau Nov 10, 2024
9c8e3d9
drm/asahi: workqueue: Work around ICE in Rust 1.74
asahilina Nov 22, 2023
53b7fd7
drm/asahi: queue: Alocate the NotifierList as shared
asahilina Nov 22, 2023
0db0bc3
drm/asahi: compute: Allow no preemption flag
asahilina Jan 5, 2024
6ec78f2
drm/asahi: Identify and implement helper config register
asahilina Jan 17, 2024
96aa9b2
drm/asahi: Check command structure sizes
asahilina Jan 17, 2024
1791c80
drm/asahi: alloc: Do not allocate memory to free memory
asahilina Jun 4, 2024
fd54e91
fixup! drm/asahi: alloc: Do not allocate memory to free memory
jannau Nov 10, 2024
9764b2f
drm/asahi: microseq: Fix warnings
asahilina May 8, 2024
2c6f6ac
drm/asahi: Don't lock up when unmapping PTEs fails
asahilina May 10, 2024
1025393
fixup! drm/asahi: Don't lock up when unmapping PTEs fails
jannau Nov 16, 2024
e02a72b
drm/asahi: Convert to GPUVM and implement more VM_BIND ops
asahilina May 8, 2024
c80c0e8
fixup! drm/asahi: Convert to GPUVM and implement more VM_BIND ops
jannau Nov 9, 2024
154561e
drm/asahi: Refactor address types
asahilina May 10, 2024
d51f0e5
drm/asahi: util: Add RangeExt helpers for Range<T>
asahilina May 10, 2024
d7722fc
drm/asahi: mmu: Convert to using Range
asahilina May 10, 2024
7e99846
drm/asahi: Move the unknown dummy page to the top of the address space
asahilina May 10, 2024
ac5bf57
drm/asahi: Convert more ranges to Range<>
asahilina May 10, 2024
fbcf1fa
fixup! drm/asahi: Convert more ranges to Range<>
jannau Nov 10, 2024
ee50747
drm/asahi: mmu: Fix lockdep issues with GpuVm
asahilina Jun 15, 2024
76f28a0
drm/asahi: Implement GEM objects sharing a single DMA resv
asahilina Jun 22, 2024
e9142e3
drm/asahi: queue: Split into Queue and QueueInner
asahilina Jul 11, 2024
d048173
drm/asahi: workqueue: Tweak some debug logs
asahilina Jul 17, 2024
f72e054
fixup! drm/asahi: run rustfmt
jannau Nov 10, 2024
34031a6
drm/asahi: file: Update to newer VM_BIND API
asahilina May 10, 2024
0ca68f8
fixup! drm/asahi: file: Update to newer VM_BIND API
jannau Nov 16, 2024
43642bc
drm/asahi: Signal soft fault support to userspace
asahilina Jun 22, 2024
cbba3be
drm/asahi: Enable soft faults by default
asahilina Jul 27, 2024
ab82de5
drm/asahi: Fix u32 mult overflow on large tilebufs/TPCs
asahilina Aug 6, 2024
133e9db
drm/asahi: Workqueue: Add more debug
asahilina Sep 23, 2024
79c1f0f
drm/asahi: Fix event tracking when JobSubmission is dropped
asahilina Sep 23, 2024
98c8121
drm/asahi: gpu: Show unknown field in timeouts
asahilina Sep 23, 2024
ec81066
fixup! drm/asahi: gpu: Show unknown field in timeouts
jannau Nov 16, 2024
4405b4b
FIXUP: drm/asahi: firmware fixes
asahilina Sep 23, 2024
9c05d03
drm/asahi: Handle channel errors
asahilina Sep 23, 2024
bd33564
fixup! drm/asahi: Handle channel errors
jannau Nov 16, 2024
b0bb855
drm/asahi: event: Initialize stamps to different values
asahilina Sep 24, 2024
6128d5e
drm/asahi: workqueue,queue: More debug
asahilina Sep 24, 2024
902b23b
fixup! drm/asahi: workqueue,queue: More debug
jannau Nov 16, 2024
1ae8965
drm/asahi: workqueue: Fix "Cannot submit, but queue is empty?" bug
asahilina Sep 24, 2024
59ccede
drm/asahi: Clean up jobs in a workqueue
asahilina Sep 24, 2024
3ef5e36
fixup! drm/asahi: Clean up jobs in a workqueue
jannau Nov 10, 2024
2046963
drm/asahi: Add robust_isolation kernel parameter
asahilina Sep 24, 2024
f7fac20
FIXUP: drm/asahi: firmware fixes 2
asahilina Sep 24, 2024
9341ae4
drm/asahi: HACK: Disable compute preemption for now
asahilina Sep 24, 2024
53f9359
drm/asahi: Align kernel range to buffer::PAGE_SIZE
asahilina Oct 3, 2024
2d8978a
drm/asahi: Implement missing ASAHI_BIND_OP_UNBIND
asahilina Nov 3, 2024
224312a
drm/asahi: Implement ASAHI_GET_TIME
asahilina Nov 3, 2024
15afdf4
drm/asahi: Modify debug dev printk macros to avoid adding ".as_ref()"
jannau Nov 10, 2024
4e17f51
drm/asahi: gpu: Force Box move with manual Box<T>::into_inner()
jannau Nov 10, 2024
2c36bcd
drm/asahi: gpu: Get resources directly through DRM pricate data
jannau Nov 10, 2024
9a436e9
drm/asahi: mmu: Move closer to rust of integration
jannau Nov 10, 2024
e9f25b9
drm/asahi: regs: Get device ref from platform dev
jannau Nov 10, 2024
b63f581
drm/asahi: driver: Port to new device/driver registration
jannau Nov 10, 2024
cd90321
drm/asahi: gpu: Collect garbage for private/gpuro together
asahilina Nov 23, 2024
a087d74
drm/asahi: alloc: Be more verbose about failures
asahilina Nov 23, 2024
aa21afd
drm/asahi: gpu: Add a max object count garbage limit
asahilina Nov 23, 2024
386650d
fixup! drm/asahi: Implement ASAHI_GET_TIME
asahilina Nov 27, 2024
c18aa6f
fixup! drm/asahi: Add the Asahi driver UAPI
asahilina Nov 27, 2024
8b12670
fixup! drm/asahi: Add the Asahi driver UAPI
asahilina Nov 27, 2024
715e98e
fixup! drm/asahi: Add the Asahi driver UAPI
jannau Nov 27, 2024
6e26f12
fixup! drm/asahi: Add the Asahi driver UAPI
jannau Nov 28, 2024
2933fa4
fixup! drm/asahi: Implement ASAHI_GET_TIME
asahilina Nov 29, 2024
6d0ff1a
drm/asahi: Document timestamp ops better, refactor fields
asahilina Nov 29, 2024
200c255
fixup! drm/asahi: Add the Asahi driver UAPI
asahilina Nov 29, 2024
360b1cc
drm/asahi: alloc: Remove unused methods
asahilina Nov 29, 2024
63491e3
drm/asahi: workqueue: Restrict command objects to only job commands
asahilina Nov 29, 2024
06940ce
drm/asahi: driver: Silence unused field warning
asahilina Nov 29, 2024
ffa0f4b
drm/asahi: gpu: Remove unused wait_for_poweroff()
asahilina Nov 29, 2024
eea6157
drm/asahi: util: Commend out unused len() method
asahilina Nov 29, 2024
9eeccf6
drm/asahi: gpu: Implement mapping timestamp buffers
asahilina Nov 29, 2024
56a150a
drm/asahi: file: Implement ASAHI_GEM_BIND_OBJECT
asahilina Nov 29, 2024
002effc
drm/asahi: fw, queue: Add UserTimestamp object to job structs
asahilina Nov 29, 2024
c2d23e6
drm/asahi: queue: Plumb through objects XArray and add timestamp getter
asahilina Nov 29, 2024
c4054f7
drm/asahi: fw, queue: Plumb through UserTimestamps -> TimestampPointers
asahilina Nov 29, 2024
3c04d8c
drm/asahi: queue/render,compute: Handle cmdbuf size mismatches
asahilina Nov 29, 2024
404ed45
drm/asahi: queue/render,compute: Plumb through timestamps extension
asahilina Nov 29, 2024
60b4f7b
drm/asahi: file: Add user_timestamp_frequency_hz to params
asahilina Nov 30, 2024
f82cc59
drm/asahi: Set a bit for internal non-render barriers on G14X
asahilina Dec 1, 2024
7aa0c20
fixup! drm/asahi: Add the Asahi driver UAPI
asahilina Dec 1, 2024
2b4b915
drm/asahi: Add the USER_TIMESTAMPS feature
asahilina Dec 1, 2024
2aeedff
drm/asahi: Map all reserved-regions as cached
asahilina Dec 9, 2024
2541681
rust: drm/gpuvm: Take &GpuVmBo<T> for map_and_link_va()
asahilina Dec 11, 2024
f4d6c8f
rust: drm/gpuvm: Pass vm_bo explicitly to step_remap()
asahilina Dec 11, 2024
62888c7
rust: drm/gpuvm: bo_unmap() should take &GpuVmBo<T>, not ARef.
asahilina Dec 11, 2024
ad829a9
drm/asahi: mmu: Change step_remap() to new api
asahilina Dec 11, 2024
6e72352
prctl: Introduce PR_{SET,GET}_MEM_MODEL
marcan Apr 11, 2024
818bb11
arm64: Implement PR_{GET,SET}_MEM_MODEL for always-TSO CPUs
marcan Apr 11, 2024
19fd3c1
arm64: Introduce scaffolding to add ACTLR_EL1 to thread state
marcan Apr 11, 2024
ab2845c
arm64: Implement Apple IMPDEF TSO memory model control
marcan Apr 11, 2024
639ce34
KVM: arm64: Expose TSO capability to guests and context switch
asahilina May 25, 2024
0d3fba1
fixup! arm64: Implement Apple IMPDEF TSO memory model control
asahilina Sep 20, 2024
06081a3
arm64: cpufeature: Unify SCOPE_LOCAL_CPU early & late behavior
asahilina Sep 21, 2024
d0333c2
fixup! arm64: Implement Apple IMPDEF TSO memory model control
asahilina Sep 21, 2024
7267af0
fixup! arm64: Implement PR_{GET,SET}_MEM_MODEL for always-TSO CPUs
asahilina Sep 21, 2024
acc578d
fixup! KVM: arm64: Expose TSO capability to guests and context switch
asahilina Sep 21, 2024
8b58262
gpu: drm: adp: Add Apple Display Pipe driver
WhatAmISupposedToPutHere Apr 18, 2023
d65d7d6
gpu: drm: adp: Add a backlight driver for the Summit LCD
WhatAmISupposedToPutHere Apr 18, 2023
ea1c793
MAINTAINERS: Add entries for touchbar display driver
WhatAmISupposedToPutHere Apr 18, 2023
f8e44ba
gpu: drm: adp: Refuse X* as client in open()
jannau Jun 17, 2023
4ce55ba
gpu: drm: adp: base the max framebuffer width and height on screen size
jannau Jun 17, 2023
0ecdeab
dt-bindings: input: touchscreen: Add Z2 controller bindings.
WhatAmISupposedToPutHere Jan 28, 2023
7129dfd
input: apple_z2: Add a driver for Apple Z2 touchscreens
WhatAmISupposedToPutHere Jan 21, 2023
d7fb709
MAINTAINERS: Add entries for Apple Z2 touchscreen driver
WhatAmISupposedToPutHere Jan 28, 2023
0d1afa3
gpu: drm: adp: Use 16-bit writes for brightness
asdfugil Sep 24, 2024
c3c159a
gpu: drm: adp: Allow max brightness to be set via device tree
asdfugil Sep 24, 2024
d092de8
fixup! gpu: drm: adp: Add Apple Display Pipe driver
jannau Nov 15, 2024
8e9cfaf
fixup! input: apple_z2: Add a driver for Apple Z2 touchscreens
jannau Nov 15, 2024
9931831
fixup! input: apple_z2: Add a driver for Apple Z2 touchscreens
jannau Nov 28, 2024
ef5bc4b
media: apple: Add Apple ISP driver
eiln Aug 31, 2023
3884490
media: apple: isp: IMX558 initial support
eiln Sep 1, 2023
c185662
media: apple: isp: Use preallocated heap
marcan Sep 7, 2023
6989765
media: apple: isp: Fixup shared region arg
marcan Sep 7, 2023
5eec4f4
media: apple: isp: Enable t6000
marcan Sep 10, 2023
77d6b75
media: apple: isp: Split gpio/mbox MMIO range
eiln Sep 1, 2023
b2b5f66
media: apple: isp: Drop the DART mirroring stuff
marcan Sep 10, 2023
2d9aabb
media: apple: isp: Do not defer on failure to initialize DART
marcan Sep 10, 2023
3f9e182
media: apple: WIP: t6000 hax
marcan Sep 10, 2023
253a1b8
media: apple: isp: Set platform_id in bootargs
eiln Sep 12, 2023
ad8e578
media: apple: isp: Better document info struct fields
eiln Sep 12, 2023
0c14e49
media: apple: isp: Don't use define for bootargs size
eiln Sep 12, 2023
dc61ba8
media: apple: isp: wmb() before GPIO write
eiln Sep 12, 2023
22532dc
media: apple: isp: s/asc/coproc/
eiln Sep 12, 2023
38a27ea
media: apple: isp: rm unused bootargs members
eiln Sep 14, 2023
fa13761
media: apple: isp: rm old isp_resv struct
eiln Sep 14, 2023
e5fb906
media: apple: isp: misc isp-fw.c improvements
eiln Sep 14, 2023
e0b4861
media: apple: isp: alloc static surfaces only once
eiln Sep 14, 2023
2716fae
media: apple: isp: fix copyright
eiln Sep 14, 2023
1b19e50
media: apple: isp: Support >32bit VAs for t602x
asahilina Sep 23, 2023
7c5506c
media: apple: isp: t602x hw config
asahilina Sep 23, 2023
1fe51d2
media: apple: isp: Working t602x and multiple formats and more fixes
asahilina Sep 23, 2023
03297a4
media: apple: isp: Always enable singleplane API, make multiple a mod…
asahilina Sep 29, 2023
803e76e
media: apple: isp: Switch to threaded IRQs
asahilina Sep 29, 2023
9183b3f
media: apple: isp: Remove ioread/iowrite and stop doing raw address t…
asahilina Sep 29, 2023
0df3cef
media: apple: isp: Propagate EINTR from firmware loads
asahilina Sep 29, 2023
036facd
media: apple: isp: Implement posted commands
asahilina Sep 29, 2023
3a1da25
media: apple: isp: Add STOP and POWER_DOWN commands
asahilina Sep 29, 2023
e4b41b7
media: apple: isp: Maybe fix some DMA ordering issues
asahilina Sep 29, 2023
e1d872d
media: apple: isp: Make channel sends not interruptible
asahilina Sep 29, 2023
f781399
media: apple: isp: Use a second region for MBOX_IRQ_{DOORBELL,ACK}
jannau Sep 28, 2023
85eb7eb
media: apple: isp: t8112 HW config
jannau Sep 28, 2023
df1aa91
media: apple: isp: Limit maximal number of buffers
jannau Sep 28, 2023
706b515
media: apple: isp: t8112 fixes...
asahilina Sep 30, 2023
e275bd6
media: apple: isp: Add flicker_sensor_set cmd
asahilina Oct 4, 2023
6d192ef
media: apple: isp: Minor changes to cam flow
asahilina Oct 4, 2023
447cf0d
media: apple: isp: Make sub-pmdomain handling explicit
asahilina Oct 4, 2023
90c9ae3
media: apple: isp: Zero out pages allocated to ISP
asahilina Oct 4, 2023
c8c2b8b
media: apple: isp: Use cached IOMMU mappings
asahilina Oct 4, 2023
c58b560
media: apple: isp: Rework meta surface handling & buffer return
asahilina Oct 4, 2023
dba398f
media: apple: isp: Clear IRQs when resetting coproc
asahilina Oct 4, 2023
a8fc5a7
media: apple: isp: Add a missing read barrier (possibly?)
asahilina Oct 4, 2023
bc9de15
media: apple: isp: VMap only what is necessary, remove redundant logg…
asahilina Oct 4, 2023
623b8a7
media: apple: isp: Only reset coproc when necessary, fix minor race
asahilina Oct 4, 2023
702ae1f
media: apple: isp: Option to use CMD_STOP (ifdeffed out)
asahilina Oct 4, 2023
46017f7
media: apple: isp: Use a more user-friendly device name
marcan Oct 5, 2023
ebcfb76
media: apple: isp: Parse firmware version from device tree
jannau Oct 6, 2023
fb63b83
media: apple: isp: Show camera presets even for unsupported sensors
marcan Oct 8, 2023
096213a
media: apple: isp: Enable IMX364 sensor
marcan Oct 8, 2023
0104c96
media: apple: isp: implement ENUM_FRAMEINTERVALS trivially
marcan Oct 11, 2023
d124958
media: apple: isp: Use a mutex instead of a spinlock for channels
marcan Nov 3, 2023
da3f23d
media: apple: isp: Support system sleep
eiln Oct 13, 2023
5fd2f7b
fixup! media: apple: isp: Working t602x and multiple formats and more…
jannau Oct 2, 2024
96d818a
fixup! media: apple: isp: Working t602x and multiple formats and more…
jannau Oct 2, 2024
ddb148f
rust: WIP(?): Various bits of rust glue for AOP series
WhatAmISupposedToPutHere Nov 9, 2024
cbb8791
soc: apple: Add support for the AOP co-processor.
WhatAmISupposedToPutHere Nov 9, 2024
a2a3899
ASoC: apple: Add aop_audio driver.
WhatAmISupposedToPutHere Nov 17, 2024
7fd6b6a
iio: common: Add AOP sensor drivers.
WhatAmISupposedToPutHere Nov 9, 2024
f008277
rust: soc: apple: Add Apple mailbox abstractions
WhatAmISupposedToPutHere Nov 10, 2024
f080f10
soc: apple: Add SEP driver.
WhatAmISupposedToPutHere Nov 10, 2024
0fc6f0c
rust: bindgen: Make snd_dec_flac opaque
jannau Nov 28, 2024
fbf9c4d
fixup! ASoC: apple: Add aop_audio driver.
jannau Dec 30, 2024
71a8d42
drm/asahi: file: Reject gem_bind past the end of the object
asahilina Jan 11, 2025
38b1b1b
Asahi patchset asahi-6.12.10-2
john-cabaj Jan 20, 2025
06dfaac
UBUNTU: Start new release
john-cabaj Jan 20, 2025
a01a6ff
UBUNTU: Ubuntu-asahi-arm-6.12.0-1003.3
john-cabaj Jan 20, 2025
63d33d7
UBUNTU: [Packaging]: Fix linux-bpf-dev build error for non-main kernels
juergh Jan 13, 2025
338a14a
UBUNTU: [Config] asahi-arm: Updating configs for updated Rust toolchain
john-cabaj Jan 20, 2025
a71d32f
UBUNTU: Start new release
john-cabaj Jan 20, 2025
729c5be
UBUNTU: Ubuntu-asahi-arm-6.12.0-1004.4
john-cabaj Jan 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .clippy.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0

check-private-items = true

disallowed-macros = [
# The `clippy::dbg_macro` lint only works with `std::dbg!`, thus we simulate
# it here, see: https://github.com/rust-lang/rust-clippy/issues/11303.
{ path = "kernel::dbg", reason = "the `dbg!` macro is intended as a debugging tool" },
]
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ modules.order
# We don't want to ignore the following even if they are dot-files
#
!.clang-format
!.clippy.toml
!.cocciconfig
!.editorconfig
!.get_maintainer.ignore
Expand Down
32 changes: 32 additions & 0 deletions Documentation/core-api/printk-formats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -630,6 +630,38 @@ Examples::
%p4cc Y10 little-endian (0x20303159)
%p4cc NV12 big-endian (0xb231564e)

Generic FourCC code
-------------------

::
%p4c[hnbl] gP00 (0x67503030)

Print a generic FourCC code, as both ASCII characters and its numerical
value as hexadecimal.

The additional ``h``, ``r``, ``b``, and ``l`` specifiers are used to specify
host, reversed, big or little endian order data respectively. Host endian
order means the data is interpreted as a 32-bit integer and the most
significant byte is printed first; that is, the character code as printed
matches the byte order stored in memory on big-endian systems, and is reversed
on little-endian systems.

Passed by reference.

Examples for a little-endian machine, given &(u32)0x67503030::

%p4ch gP00 (0x67503030)
%p4cl gP00 (0x67503030)
%p4cb 00Pg (0x30305067)
%p4cr 00Pg (0x30305067)

Examples for a big-endian machine, given &(u32)0x67503030::

%p4ch gP00 (0x67503030)
%p4cl 00Pg (0x30305067)
%p4cb gP00 (0x67503030)
%p4cr 00Pg (0x30305067)

Rust
----

Expand Down
111 changes: 111 additions & 0 deletions Documentation/devicetree/bindings/dma/apple,sio.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/apple,sio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple SIO Coprocessor

description:
SIO is a coprocessor on Apple M1 and later chips (and maybe also on earlier
chips). Its role is to offload SPI, UART and DisplayPort audio transfers,
being a pretend DMA controller.

maintainers:
- Martin Povišer <povik+lin@cutebit.org>

allOf:
- $ref: dma-controller.yaml#

properties:
compatible:
items:
- enum:
- apple,t6000-sio
- apple,t8103-sio
- const: apple,sio

reg:
maxItems: 1

'#dma-cells':
const: 1
description:
DMA clients specify a single cell that corresponds to the RTKit endpoint
number used for arranging the transfers in question

dma-channels:
maximum: 128

mboxes:
maxItems: 1

iommus:
maxItems: 1

power-domains:
maxItems: 1

memory-region:
minItems: 2
maxItems: 8
description:
A number of references to reserved memory regions among which are the DATA/TEXT
sections of coprocessor executable firmware and also auxiliary firmware data
describing the available DMA-enabled peripherals

apple,sio-firmware-params:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: |
Parameters in the form of opaque key/value pairs that are to be sent to the SIO
coprocesssor once it boots. These parameters can point into the reserved memory
regions (in device address space).

Note that unlike Apple's firmware, we treat the parameters, and the data they
refer to, as opaque. Apple embed short data blobs into their SIO devicetree node
that describe the DMA-enabled peripherals (presumably with defined semantics).
Their driver processes those blobs and sets up data structure in mapped device
memory, then references this memory in the parameters sent to the SIO. At the
level of description we are opting for in this binding, we assume the job of
constructing those data structures has been done in advance, leaving behind an
opaque list of key/value parameter pairs to be sent by a prospective driver.

This approach is chosen for two reasons:

- It means we don't need to try to understand the semantics of Apple's blobs
as long as we know the transformation we need to do from Apple's devicetree
data to SIO data (which can be shoved away into a loader). It also means the
semantics of Apple's blobs (or of something to replace them) need not be part
of the binding and be kept up with Apple's firmware changes in the future.

- It leaves less work for the driver attaching on this binding. Instead the work
is done upfront in the loader which can be better suited for keeping up with
Apple's firmware changes.

required:
- compatible
- reg
- '#dma-cells'
- dma-channels
- mboxes
- iommus
- power-domains

additionalProperties: false

examples:
- |
sio: dma-controller@36400000 {
compatible = "apple,t8103-sio", "apple,sio";
reg = <0x36400000 0x8000>;
dma-channels = <128>;
#dma-cells = <1>;
mboxes = <&sio_mbox>;
iommus = <&sio_dart 0>;
power-domains = <&ps_sio_cpu>;
memory-region = <&sio_text>, <&sio_data>,
<&sio_auxdata1>, <&sio_auxdata2>; /* Filled by loader */
apple,sio-firmware-params = <0xb 0x10>, <0xc 0x1b80>, <0xf 0x14>,
<0x10 0x1e000>, <0x30d 0x34>, <0x30e 0x4000>,
<0x1a 0x38>, <0x1b 0x50>; /* Filled by loader */
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/touchscreen/apple,z2-touchscreen.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple touchscreens attached using the Z2 protocol.

maintainers:
- asahi@lists.linux.dev
- Sasha Finkelstein <fnkl.kernel@gmail.com>

description: A series of touschscreen controllers used in Apple products.

allOf:
- $ref: touchscreen.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
compatible:
items:
- enum:
- apple,j293-touchbar
- apple,j493-touchbar
- const: apple,z2-touchbar
- const: apple,z2-multitouch

reg:
maxItems: 1

interrupts:
maxItems: 1

reset-gpios:
maxItems: 1

cs-gpios:
maxItems: 1

firmware-name:
maxItems: 1

label:
maxItems: 1

touchscreen-size-x: true
touchscreen-size-y: true
spi-max-frequency: true
spi-cs-hold-delay-ns: true
spi-cs-setup-delay-ns: true

required:
- compatible
- interrupts
- reset-gpios
- firmware-name
- label
- touchscreen-size-x
- touchscreen-size-y

additionalProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

spi {
#address-cells = <1>;
#size-cells = <0>;

touchscreen@0 {
compatible = "apple,j293-touchbar", "apple,z2-touchbar",
"apple,z2-multitouch";
reg = <0>;
spi-max-frequency = <11500000>;
reset-gpios = <&pinctrl_ap 139 0>;
cs-gpios = <&pinctrl_ap 109 0>;
interrupts-extended = <&pinctrl_ap 194 IRQ_TYPE_EDGE_FALLING>;
firmware-name = "apple/dfrmtfw-j293.bin";
touchscreen-size-x = <23045>;
touchscreen-size-y = <640>;
label = "MacBookPro17,1 Touch Bar";
};
};

...
51 changes: 48 additions & 3 deletions Documentation/devicetree/bindings/pci/apple,pcie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,27 @@ properties:
power-domains:
maxItems: 1

patternProperties:
"^pci@":
$ref: /schemas/pci/pci-bus.yaml#
type: object
description: A single PCI root port

properties:
reg:
maxItems: 1

pwren-gpios:
description: Optional GPIO to power on the device
maxItems: 1

required:
- reset-gpios
- interrupt-controller
- "#interrupt-cells"
- interrupt-map-mask
- interrupt-map

required:
- compatible
- reg
Expand Down Expand Up @@ -142,34 +163,58 @@ examples:
pinctrl-0 = <&pcie_pins>;
pinctrl-names = "default";

pci@0,0 {
port00: pci@0,0 {
device_type = "pci";
reg = <0x0 0x0 0x0 0x0 0x0>;
reset-gpios = <&pinctrl_ap 152 0>;

#address-cells = <3>;
#size-cells = <2>;
ranges;

interrupt-controller;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
<0 0 0 2 &port00 0 0 0 1>,
<0 0 0 3 &port00 0 0 0 2>,
<0 0 0 4 &port00 0 0 0 3>;
};

pci@1,0 {
port01: pci@1,0 {
device_type = "pci";
reg = <0x800 0x0 0x0 0x0 0x0>;
reset-gpios = <&pinctrl_ap 153 0>;

#address-cells = <3>;
#size-cells = <2>;
ranges;

interrupt-controller;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &port01 0 0 0 0>,
<0 0 0 2 &port01 0 0 0 1>,
<0 0 0 3 &port01 0 0 0 2>,
<0 0 0 4 &port01 0 0 0 3>;
};

pci@2,0 {
port02: pci@2,0 {
device_type = "pci";
reg = <0x1000 0x0 0x0 0x0 0x0>;
reset-gpios = <&pinctrl_ap 33 0>;

#address-cells = <3>;
#size-cells = <2>;
ranges;

interrupt-controller;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &port02 0 0 0 0>,
<0 0 0 2 &port02 0 0 0 1>,
<0 0 0 3 &port02 0 0 0 2>,
<0 0 0 4 &port02 0 0 0 3>;
};
};
};
12 changes: 12 additions & 0 deletions Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,18 @@ properties:
minimum: 0
maximum: 15

apple,force-disable:
description:
Forces this device to be disabled (bus access blocked) when the power
domain is powered down.
type: boolean

apple,force-reset:
description:
Forces a reset/error recovery of the power control logic when the power
domain is powered down.
type: boolean

required:
- compatible
- reg
Expand Down
Loading