Skip to content
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

ANE support #159

Open
wants to merge 654 commits into
base: asahi
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
654 commits
Select commit Hold shift + click to select a range
3b33667
rust: sync: change error type of constructor functions
Apr 8, 2023
648c44a
rust: types: add `Opaque::raw_get`
Apr 8, 2023
f32888a
rust: add pin-init API core
Apr 8, 2023
6957290
rust: init: add initialization macros
Apr 8, 2023
fb5eab7
rust: init/sync: add `InPlaceInit` trait to pin-initialize smart poin…
Apr 8, 2023
229a831
rust: init: add `PinnedDrop` trait and macros
Apr 8, 2023
95f4f81
rust: init: add `stack_pin_init!` macro
Apr 8, 2023
4325523
rust: init: add `Zeroable` trait and `init::zeroed` function
Apr 8, 2023
5973717
rust: prelude: add `pin-init` API items to prelude
Apr 8, 2023
5a07ccd
rust: types: add `Opaque::ffi_init`
Apr 8, 2023
0e567a8
rust: sync: reduce stack usage of `UniqueArc::try_new_uninit`
Apr 8, 2023
1313067
rust: sync: add functions for initializing `UniqueArc<MaybeUninit<T>>`
Apr 8, 2023
2df309d
rust: init: broaden the blanket impl of `Init`
Apr 13, 2023
d7d4ef0
MAINTAINERS: add Benno Lossin as Rust reviewer
ojeda Apr 12, 2023
21912cb
rust: sync: introduce `LockClassKey`
wedsonaf Apr 11, 2023
6cddabf
rust: sync: introduce `Lock` and `Guard`
wedsonaf Apr 11, 2023
50b2408
rust: lock: introduce `Mutex`
wedsonaf Apr 11, 2023
09a7e30
rust: lock: introduce `SpinLock`
wedsonaf Apr 19, 2023
f6dff5d
rust: introduce `ARef`
wedsonaf Apr 11, 2023
32a49e2
rust: add basic `Task`
wedsonaf Apr 11, 2023
9d93860
rust: introduce `current`
wedsonaf Apr 11, 2023
a57ce62
rust: sync: introduce `LockedBy`
wedsonaf Apr 11, 2023
f20e590
rust: lock: add `Guard::do_unlocked`
wedsonaf Mar 27, 2023
46c8876
rust: sync: introduce `CondVar`
wedsonaf Mar 26, 2023
f17ee46
rust: uapi: Add UAPI crate
asahilina Apr 3, 2023
aae52da
rust: ioctl: Add ioctl number manipulation functions
asahilina Apr 3, 2023
2c1790d
arm64: rust: Enable Rust support for AArch64
ojeda Jan 25, 2023
f9caa83
arm64: rust: Enable PAC support for Rust.
JamieCunliffe Jan 25, 2023
5a0a4db
arm64: rust: Disable neon and fp target features.
JamieCunliffe Jan 25, 2023
2c2c013
rust: time: New module for timekeeping functions
asahilina Oct 19, 2022
373eae7
rust: xarray: Add an abstraction for XArray
asahilina Jan 11, 2023
0ac04d1
rust: Add a Sealed trait
asahilina Feb 5, 2023
56ddbbf
rust: device: Add an abstraction for devices
wedsonaf Nov 18, 2021
0b70b0c
rust: io_pgtable: Add io_pgtable abstraction
asahilina Sep 7, 2022
d2e71f1
rust: soc: apple: rtkit: Add Apple RTKit abstraction
asahilina Aug 17, 2022
7a8515b
rust: Add `container_of` and `offset_of` macros
wedsonaf Apr 1, 2021
e10678b
*RFL import: kernel::types::Bool
asahilina Feb 11, 2023
15d53d2
*RFL import: kernel::io_buffer
asahilina Feb 16, 2023
b9c71a6
*RFL import: kernel::user_ptr
asahilina Feb 16, 2023
20448ad
MISSING SIGNOFFS: rust: Add PAGE_SIZE constant to kernel crate
asahilina Feb 16, 2023
1d8ab2f
rust: Enable const_mut_refs feature for the kernel crate
asahilina Feb 16, 2023
9635fe4
*RFL import: kernel::module_param
asahilina Feb 16, 2023
1933b5b
rust: upgrade to Rust 1.66.0
ojeda Dec 24, 2022
283f5cd
rust: Add `name` argument to Module::init()
asahilina Feb 16, 2023
f97f5ce
*RFL import: kernel::driver
asahilina Feb 16, 2023
7f9a351
*RFL import: The rest of kernel::device (minus clk stuff)
asahilina Feb 16, 2023
61f15e8
*RFL import: kernel::io_mem
asahilina Feb 16, 2023
2e56b7d
*RFL import: kernel::of
asahilina Feb 16, 2023
37c9e20
*RFL import: kernel::platform
asahilina Feb 16, 2023
fcb2f51
*RFL import: kernel::delay
asahilina Feb 16, 2023
9e496b3
rust: of: Add OF node abstraction
asahilina Oct 21, 2022
8bd9c23
rust: driver,of: Support passing ID tables to modpost for alias gener…
asahilina Dec 8, 2022
d0927e5
rust: platform: add `ioremap_resource` and `get_resource` methods
Feb 8, 2022
7b559ec
rust: kernel: platform: Add Device.set_dma_masks()
asahilina Sep 7, 2022
9f78567
rust: Add ioremap_np support to io_mem & friends
asahilina Sep 21, 2022
ff9bef6
*RFL import: macros::module params functionality & deps
asahilina Feb 16, 2023
55c6f7d
*RFL import: Rest of kernel::error::code::*
asahilina Feb 16, 2023
03aba9e
rust: bindings: Add resource_size wrapper
asahilina Sep 7, 2022
457e753
rust: Allow feature allocator_api
asahilina Feb 16, 2023
010cde2
*RFL import: kernel::KParamGuard & friends
asahilina Feb 16, 2023
fbb7a44
*RFL import: kernel::error::Error Debug impl & dependencies
asahilina Feb 16, 2023
23a0680
iommu/io-pgtable: Add Apple UAT variant format
asahilina Aug 17, 2022
7cff113
rust: io_pgtable: Add the Apple UAT format abstraction
asahilina Feb 16, 2023
1a8ae47
rust: drm: ioctl: Add DRM ioctl abstraction
asahilina Feb 5, 2023
2566057
rust: drm: Add Device and Driver abstractions
asahilina Feb 5, 2023
97aed2a
rust: drm: file: Add File abstraction
asahilina Feb 5, 2023
dd2db74
rust: drm: gem: Add GEM object abstraction
asahilina Feb 5, 2023
88fdb95
drm/gem-shmem: Export VM ops functions
asahilina Sep 7, 2022
90f73f2
rust: drm: gem: shmem: Add DRM shmem helper abstraction
asahilina Feb 5, 2023
4654f6b
rust: drm: mm: Add DRM MM Range Allocator abstraction
asahilina Feb 11, 2023
29b0bf0
rust: dma_fence: Add DMA Fence abstraction
asahilina Feb 11, 2023
7f7a865
rust: drm: syncobj: Add DRM Sync Object abstraction
asahilina Feb 11, 2023
0f9b490
drm/sched: Add can_run_job callback
asahilina Feb 11, 2023
8fdbfe9
rust: drm: sched: Add GPU scheduler abstraction
asahilina Feb 11, 2023
d0acf47
drm/gem: Add a flag to control whether objects can be exported
asahilina Feb 10, 2023
3423e15
rust: drm: gem: Add set_exportable() method
asahilina Feb 11, 2023
64f75e8
drm/asahi: Add the Asahi driver UAPI
asahilina Feb 16, 2023
a57d7f8
rust: bindings: Bind the Asahi DRM UAPI
asahilina Feb 16, 2023
b6151fc
rust: macros: Add versions macro
asahilina Feb 16, 2023
fc54ef9
drm/asahi: Add the Asahi driver for Apple AGX GPUs
asahilina Feb 16, 2023
cec69d2
drm/asahi: queue: Add more debugging IDs
asahilina Mar 1, 2023
b4c2673
drm/asahi: render: Always flush stamps on both vertex & frag
asahilina Mar 1, 2023
7d13c98
rust: Fix bindgen on arm64
marcan Mar 5, 2023
506ea8c
rust: helpers: Fix spinlock helper for various spinlock modes
marcan Mar 5, 2023
95b14b2
drm/scheduler: Clean up jobs when the scheduler is torn down.
asahilina Mar 6, 2023
2f682b3
drm/asahi: Move GPU context drop inside refcount
asahilina Mar 6, 2023
9ed6040
drm/asahi: Promote two fields in vert/frag structs to all versions
asahilina Mar 6, 2023
8c78020
drm/asahi: Remove padding from Vertex commands, move to 13_0B4+
asahilina Mar 6, 2023
1142924
drm/asahi: alloc: Make corruption ranges end-inclusive
asahilina Mar 6, 2023
bd924e8
rust: module_param: Tolerate a trailing newline when parsing
asahilina Oct 21, 2022
7b6c9fd
drm/asahi: channel: Increase timeouts, add sleeping mode
asahilina Mar 7, 2023
5dff143
drm/asahi: Clippy cleanups
asahilina Mar 7, 2023
8101a9b
drm/asahi: Add missing timeline syncobj signaling support
asahilina Mar 7, 2023
cfb9154
drm/asahi: Identify vertex attachment list
asahilina Mar 15, 2023
f6e2933
drm/asahi: Track event sequences properly
asahilina Mar 15, 2023
5db3307
drm/asahi: Fix compute stats size (maybe)
asahilina Mar 15, 2023
19b3dc2
drm/asahi: Identify no_preemption flag
asahilina Mar 15, 2023
2d490b4
drm/asahi: Add a flag to panic (oops) on GPU crashes
asahilina Mar 22, 2023
8b5abf1
drm/asahi: Align GEM object sizes to the UAT page size
asahilina Mar 22, 2023
629a3a8
drm/asahi: Identify and set barrier_type field
asahilina Mar 15, 2023
7e7954c
arm64: dts: apple: Add T602x GPU node
asahilina Apr 19, 2023
3a2c32a
drm/asahi: Make multi-page TLB invals use the CPU page size.
asahilina Mar 22, 2023
1f22a49
drm/asahi: Move to uapi crate
asahilina Mar 29, 2023
e5e4efa
rust: Fix container_of!()
asahilina Apr 5, 2023
c304358
drm/scheduler: Fix UAF in drm_sched_fence_get_timeline_name
asahilina Apr 5, 2023
947d55d
drm/asahi: workqueue: Panic on context inval timeouts if requested
asahilina Apr 5, 2023
935ec20
drm/asahi: workqueue: Keep a Device reference here too
asahilina Apr 5, 2023
04b52c1
drm/asahi: Drop completed work asynchronously
asahilina Apr 5, 2023
d34d42b
drm/asahi: Also free unused GPU contexts asynchronously
asahilina Apr 5, 2023
4a30805
drm/asahi: queue: Drop redundant mutex around Buffer
asahilina Apr 5, 2023
6581317
drm/asahi: workqueue: Hold a Buffer reference in GpuContextData
asahilina Apr 5, 2023
5231264
drm/asahi: Fail params requests if the GPU is crashed
asahilina Apr 6, 2023
4bd09df
I don't know how to fix drm_sched.
asahilina Apr 7, 2023
89b4972
drm/asahi: Identify more Render fields & update to UAPI 10007
asahilina Apr 7, 2023
aead264
drm/asahi: Make stats structs opaque
asahilina Apr 19, 2023
49c0be2
drm/asahi: Drop 13.2 top-level support
asahilina Apr 19, 2023
6740562
rust: macros: versions: Add V13_3 and G14X
asahilina Apr 19, 2023
c34dd22
drm/asahi: Initdata structure updates for G14X/V13_3
asahilina Apr 19, 2023
5e1331e
drm/asahi: hw: Add new config fields for t8112/t602x
asahilina Apr 19, 2023
1736a81
drm/asahi: Implement correct shared2 table calculation
asahilina Apr 19, 2023
d54993c
drm/asahi: initdata: Pull shared3 table from the HwConfig
asahilina Apr 19, 2023
a7d0106
drm/asahi: initdata: Implement new cfg/dyncfg dependent fields
asahilina Apr 19, 2023
44a4d38
rust: macros: versions: Support conditionals on block statements
asahilina Apr 19, 2023
7ef215d
drm/asahi: fw.types: Impl Zeroed for F32
asahilina Apr 19, 2023
e327674
drm/asahi: Load and set CS/AFR performance and leakage data
asahilina Apr 19, 2023
296c2be
drm/asahi: Instantiate driver for 13.3 versions
asahilina Apr 19, 2023
458faea
drm/asahi: regs: Implement ID and fault register changes for G14X
asahilina Apr 19, 2023
60289e6
drm/asahi: hw: Add t602x device data
asahilina Apr 19, 2023
60e79cd
drm/asahi: driver: Bind to t6020 and t6021
asahilina Apr 19, 2023
5e44637
drm/asahi: initdata: Add version IDs for G14/G14X 13.3
asahilina Apr 19, 2023
c19d84a
drm/asahi: initdata: Value updates for 13.3
asahilina Apr 19, 2023
65136b6
drm/asahi: initdata: Pad voltages out like macOS does
asahilina Apr 19, 2023
8b49dee
drm/asahi: gpu: Implement SGX SRAM mapping
asahilina Apr 19, 2023
83b6c58
drm/asahi: gpu: Move the buffer manager control to the kernel lower VM
asahilina Apr 19, 2023
13f0dbd
drm/asahi: gpu,mmu: Map kernel AS to user contexts on G14X+
asahilina Apr 19, 2023
a190f6b
drm/asahi: buffer: Scene update for G14X
asahilina Apr 19, 2023
4bd998c
drm/asahi: fw.channels: Message length & ID updates for G14X
asahilina Apr 19, 2023
cad97b1
drm/asahi: fw.workqueue: Barrier update for G14X
asahilina Apr 19, 2023
c6e7697
iommu/io-pgtable: Hack in FW-RW/GPU-RO mode into UAT io_pgtable
asahilina Apr 19, 2023
9ac011b
gpu: Add a FW-RW/GPU-RO allocator
asahilina Apr 19, 2023
8bd00c0
drm/asahi: render,compute: Allocate command buffers from gpuro
asahilina Apr 19, 2023
fce8d63
drm/asahi: render: Add missing unk1 field to StartFragment
asahilina Apr 19, 2023
d0807b5
drm/asahi: buffer,workqueue: Update some conditionals for G14X
asahilina Apr 19, 2023
ddb61fd
drm/asahi: fw,render: Render command structure updates for G14X
asahilina Apr 19, 2023
a770a35
drm/asahi: fw.microseq: Implement and use WaitForIdle2 command
asahilina Apr 19, 2023
1b915a4
drm/asahi: object: Add a gpu_ptr argument new_prealloc raw fn
asahilina Apr 19, 2023
0bf8efb
drm/asahi: fw.job: Add a helper constructor to make register lists
asahilina Apr 19, 2023
6423303
drm/asahi: object: Implement From<Gpu[Weak]Pointer> for u64
asahilina Apr 19, 2023
43513e4
drm/asahi: render: Add fragment register list for G14X
asahilina Apr 19, 2023
ad6d5a3
drm/asahi: render: Add vertex register list for G14X
asahilina Apr 19, 2023
c9e7b68
drm/asahi: fw.channels: Fix DestroyContext layout for V13_3
asahilina Apr 26, 2023
c3252f4
drm/asahi: gpu,mmu: Fix MMIO maps overlapping allocators
asahilina Apr 26, 2023
1a80362
drm/asahi: hw: Put clustering sizes into the HwConfig struct
asahilina Apr 26, 2023
d0c06de
drm/asahi: buffer: Calculate cluster sizes using config data
asahilina Apr 26, 2023
4d9aafa
drm/asahi: render: Misc value updates for G14X/V13_3
asahilina Apr 26, 2023
9800567
drm/asahi: render: Update for new UAPI
asahilina Apr 26, 2023
42d1996
DO NOT MERGE: drm/asahi: Add an experimental UAPI extension
asahilina Apr 26, 2023
8fee044
drm/asahi: render: Implement unknown value UAPI extension
asahilina Apr 26, 2023
5fcef88
rust: Enable type_alias_impl_trait
asahilina Apr 28, 2023
92826b4
rust: kernel: lock: Add Lock::pin_init()
asahilina Apr 28, 2023
61e91c1
rust: drm: gem: Allow pinning GEM object driver data
asahilina Apr 28, 2023
844d720
drm/asahi: Update for new upstream APIs
asahilina Apr 28, 2023
d6504f5
drm/asahi: Make GpuManager pinned
asahilina Apr 28, 2023
6a960c6
rust: macros: fix usage of `#[allow]` in `quote!`
Apr 13, 2023
1b88918
rust: macros: refactor generics parsing of `#[pin_data]` into its own…
Apr 23, 2023
0e20ebe
rust: macros: replace Self with the concrete type in #[pin_data]
Apr 23, 2023
1939919
rust: init: update macro expansion example in docs
Apr 24, 2023
f45fb0e
rust: add derive macro for `Zeroable`
May 5, 2023
139b335
rust: init: make guards in the init macros hygienic
May 5, 2023
473c7e4
rust: init: wrap type checking struct initializers in a closure
May 5, 2023
7d1f99c
rust: init: add `..Zeroable::zeroed()` syntax for zeroing all missing…
May 5, 2023
7ba063f
rust: init: Add functions to create array initializers
May 5, 2023
58a1144
rust: init: Implement Zeroable::zeroed()
asahilina May 19, 2023
ca44e0a
drm/asahi: Switch to the kernel crate Zeroable trait
asahilina May 19, 2023
37d6f17
drm/asahi: mmu: Switch to pin_init_array_from_fn
asahilina May 19, 2023
9a10189
rust: init: Support type paths in pin_init!() and friends
asahilina May 19, 2023
d660b9c
drm/asahi: Add support for initializing GpuObjects with init!()
asahilina May 19, 2023
cebd026
drm/asahi: buffer: Replace place!() with init!()
asahilina May 19, 2023
d9ce6bc
drm/asahi: workqueue: Port to init!()
asahilina May 19, 2023
7bed629
drm/asahi: queue::mod: Port to init!()
asahilina May 19, 2023
bfcb366
drm/asahi: queue::compute: Port to init!()
asahilina May 19, 2023
21bef13
rust: macros: versions: Make <foo> parsing stricter
asahilina May 19, 2023
8e1f214
drm/asahi: queue::render: Port to init!()
asahilina May 19, 2023
071c6a1
drm/asahi: object,alloc: Drop new_prealloc()
asahilina May 19, 2023
ba48e42
rust: init: Add chain() and pin_chain() functions
asahilina May 19, 2023
78aab9d
drm/asahi: initdata: Port to init!()
asahilina May 19, 2023
daf2b37
drm/asahi: Delete place module
asahilina May 19, 2023
338382c
rust: drm: device: Convert Device to AlwaysRefCounted
asahilina May 19, 2023
d867cd1
drm/asahi: Convert to ARef<Device<T>> DRM device API
asahilina May 19, 2023
2ec11c5
rust: kernel: str: Implement Debug for CString
asahilina May 27, 2023
285b20e
rust: types: Add Opaque::zeroed()
asahilina May 27, 2023
2d25cd2
rust: Use absolute paths to build Rust objects
asahilina May 27, 2023
824fadc
rust: kernel: Add simple siphash abstraction
asahilina May 27, 2023
f27fbe6
rust: sync: Add dummy LockClassKey implementation for !CONFIG_LOCKDEP
asahilina May 27, 2023
bb12cfa
rust: sync: Replace static LockClassKey refs with a pointer wrapper
asahilina May 27, 2023
2f619b8
fixup! *RFL import: The rest of kernel::device (minus clk stuff)
asahilina May 27, 2023
b62af47
fixup! rust: dma_fence: Add DMA Fence abstraction
asahilina May 27, 2023
d688e92
fixup! rust: drm: mm: Add DRM MM Range Allocator abstraction
asahilina May 27, 2023
e6b43d7
drm/asahi: Lock class fixups
asahilina May 27, 2023
f74738f
rust: sync: Implement dynamic lockdep class creation
asahilina May 27, 2023
5900705
rust: sync: Classless Lock::new() and pin_init()
asahilina May 27, 2023
b01b04e
rust: init: Update documentation for new mutex init style
asahilina May 27, 2023
20e8da0
fixup! *RFL import: The rest of kernel::device (minus clk stuff)
asahilina May 27, 2023
0e14332
fixup! rust: drm: mm: Add DRM MM Range Allocator abstraction
asahilina May 27, 2023
ff21244
drm/asahi: Classless mutex etc
asahilina May 27, 2023
c430a6c
drm/asahi: New Mutex style
asahilina May 27, 2023
81c0186
rust: sync: Add LockdepMap abstraction
asahilina May 27, 2023
088cf4c
rust: sync: arc: Add lockdep integration
asahilina May 27, 2023
a12264a
drivers/perf: apple_m1: Force 63bit counters for M2 CPUs
May 30, 2023
53fe89e
fixup! arm64: dts: apple: Add MTP nodes to t6020x
marcan May 30, 2023
b312855
fixup! arm64: dts: apple: t8112: Add mtp device nodes for j413/j493
marcan May 30, 2023
107ed86
power: supply: macsmc_power: Add CHWA charge thresholds
marcan May 30, 2023
d8ff437
hid: Add Apple DockChannel HID transport driver
marcan Jul 7, 2022
f68d94e
soc: apple: Add RTKit helper driver
marcan Jul 3, 2022
0f755bd
HID: transport: spi: Check status message after transmits
jannau Dec 11, 2022
21305be
HID: magicmouse: Add .reset_resume for SPI trackpads
jannau Dec 11, 2022
35b64ac
HID: transport: spi: Add suspend support
jannau Dec 11, 2022
f7d8fa7
HID: Bump maximum report size to 16384
marcan Apr 10, 2023
1a0d1e7
HID: magicmouse: Handle touch controller resets on SPI devices
marcan Apr 30, 2023
8bad6a3
xfs: fix livelock in delayed allocation at ENOSPC
Apr 26, 2023
544c9c8
cpufreq: apple-soc: Drop setting the PS2 field on M2+
marcan Apr 18, 2023
e2bf6cd
fixup! xhci-pci: asmedia: Add a firmware loader for ASM2214a chips
marcan Jun 6, 2023
9ee0e4c
PCI: apple: Do not power down devices on port setup
marcan Jun 6, 2023
fa75968
wifi: brcmfmac: Do not service msgbuf IRQs until ready in MSI mode
marcan Jun 6, 2023
b8bd4cc
drm/asahi: render: Fix meta1_blocks calculation for MSAA
asahilina Jun 14, 2023
496a1b0
rust: 1.70 compat hack
marcan Jun 17, 2023
ba190cd
Merge branch 'refs/heads/bits/000-devicetree' into asahi-wip
marcan Jun 17, 2023
7acca1e
Merge branch 'refs/heads/bits/005-maintainers' into asahi-wip
marcan Jun 17, 2023
36ba919
Merge branch 'refs/heads/bits/010-soc' into asahi-wip
marcan Jun 17, 2023
1d732ed
Merge branch 'refs/heads/bits/020-dart' into asahi-wip
marcan Jun 17, 2023
aefa029
Merge branch 'refs/heads/bits/030-misc' into asahi-wip
marcan Jun 17, 2023
d9e762d
Merge branch 'refs/heads/bits/040-dwc3' into asahi-wip
marcan Jun 17, 2023
8085da8
Merge branch 'refs/heads/bits/050-nvme' into asahi-wip
marcan Jun 17, 2023
c422d00
Merge branch 'refs/heads/bits/060-spi' into asahi-wip
marcan Jun 17, 2023
d0a0d24
Merge branch 'refs/heads/bits/070-audio' into asahi-wip
marcan Jun 17, 2023
c25de5b
Merge branch 'refs/heads/bits/080-wifi' into asahi-wip
marcan Jun 17, 2023
a5aae36
Merge branch 'refs/heads/bits/090-spi-hid' into asahi-wip
marcan Jun 17, 2023
68e542e
Merge branch 'refs/heads/bits/110-smc' into asahi-wip
marcan Jun 17, 2023
ed35d4f
Merge branch 'refs/heads/bits/120-spmi' into asahi-wip
marcan Jun 17, 2023
89798f4
Merge branch 'refs/heads/bits/130-cpufreq' into asahi-wip
marcan Jun 17, 2023
0a69939
Merge branch 'refs/heads/bits/140-pci' into asahi-wip
marcan Jun 17, 2023
173d792
Merge branch 'refs/heads/bits/150-xhci-firmware' into asahi-wip
marcan Jun 17, 2023
09b1186
Merge branch 'refs/heads/bits/160-fpwm' into asahi-wip
marcan Jun 17, 2023
7d0e807
Merge branch 'refs/heads/bits/170-atcphy' into asahi-wip
marcan Jun 17, 2023
fd609be
Merge branch 'refs/heads/bits/200-dcp' into asahi-wip
marcan Jun 17, 2023
70aab69
Merge branch 'refs/heads/bits/210-gpu' into asahi-wip
marcan Jun 17, 2023
b5c05cb
Merge branch 'refs/heads/bits/220-tso' into asahi-wip
marcan Jun 17, 2023
6027c18
arm64: dts: apple: t8103: add ANE bindings
eiln Jan 30, 2023
297491e
arm64: dts: apple: t600x: add ANE bindings
eiln May 5, 2023
26d8a0f
accel: ane: add driver for the Apple Neural Engine
eiln Jun 21, 2023
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
  •  
  •  
  •  
32 changes: 32 additions & 0 deletions Documentation/core-api/printk-formats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -625,6 +625,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
15 changes: 15 additions & 0 deletions Documentation/devicetree/bindings/arm/apple.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ description: |
- MacBook Air (M1, 2020)
- iMac (24-inch, M1, 2021)

Devices based on the "M2" SoC:

- MacBook Air (M2, 2022)
- MacBook Pro (13-inch, M2, 2022)
- Mac mini (M2, 2023)

And devices based on the "M1 Pro", "M1 Max" and "M1 Ultra" SoCs:

- MacBook Pro (14-inch, M1 Pro, 2021)
Expand Down Expand Up @@ -70,6 +76,15 @@ properties:
- const: apple,t8103
- const: apple,arm-platform

- description: Apple M2 SoC based platforms
items:
- enum:
- apple,j413 # MacBook Air (M2, 2022)
- apple,j473 # Mac mini (M2, 2023)
- apple,j493 # MacBook Pro (13-inch, M2, 2022)
- const: apple,t8112
- const: apple,arm-platform

- description: Apple M1 Pro SoC based platforms
items:
- enum:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ properties:
items:
- enum:
- apple,t8103-pmgr
- apple,t8112-pmgr
- apple,t6000-pmgr
- const: apple,pmgr
- const: syscon
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/arm/cpus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ properties:

compatible:
enum:
- apple,avalanche
- apple,blizzard
- apple,icestorm
- apple,firestorm
- arm,arm710t
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/clock/apple,nco.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ properties:
- enum:
- apple,t6000-nco
- apple,t8103-nco
- apple,t8112-nco
- const: apple,nco

clocks:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/dma/apple,admac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ properties:
- enum:
- apple,t6000-admac
- apple,t8103-admac
- apple,t8112-admac
- const: apple,admac

reg:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/i2c/apple,i2c.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ properties:
items:
- enum:
- apple,t8103-i2c
- apple,t8112-i2c
- apple,t6000-i2c
- const: apple,i2c

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,22 @@ description: |
properties:
compatible:
items:
- const: apple,t6000-aic
- enum:
- apple,t8112-aic
- apple,t6000-aic
- const: apple,aic2

interrupt-controller: true

'#interrupt-cells':
const: 4
minimum: 3
maximum: 4
description: |
The 1st cell contains the interrupt type:
- 0: Hardware IRQ
- 1: FIQ

The 2nd cell contains the die ID.
The 2nd cell contains the die ID (only present on apple,t6000-aic).

The next cell contains the interrupt number.
- HW IRQs: interrupt number
Expand Down Expand Up @@ -109,6 +112,19 @@ additionalProperties: false

allOf:
- $ref: /schemas/interrupt-controller.yaml#
- if:
properties:
compatible:
contains:
const: apple,t8112-aic
then:
properties:
'#interrupt-cells':
const: 3
else:
properties:
'#interrupt-cells':
const: 4

examples:
- |
Expand Down
10 changes: 7 additions & 3 deletions Documentation/devicetree/bindings/iommu/apple,sart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,13 @@ description:

properties:
compatible:
enum:
- apple,t6000-sart
- apple,t8103-sart
oneOf:
- items:
- const: apple,t8112-sart
- const: apple,t6000-sart
- enum:
- apple,t6000-sart
- apple,t8103-sart

reg:
maxItems: 1
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ properties:
items:
- enum:
- apple,t8103-asc-mailbox
- apple,t8112-asc-mailbox
- apple,t6000-asc-mailbox
- const: apple,asc-mailbox-v4

Expand All @@ -39,6 +40,7 @@ properties:
items:
- enum:
- apple,t8103-m3-mailbox
- apple,t8112-m3-mailbox
- apple,t6000-m3-mailbox
- const: apple,m3-mailbox-v2

Expand Down
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ properties:
items:
- enum:
- apple,t8103-nvme-ans2
- apple,t8112-nvme-ans2
- apple,t6000-nvme-ans2
- const: apple,nvme-ans2

Expand Down Expand Up @@ -65,7 +66,9 @@ if:
properties:
compatible:
contains:
const: apple,t8103-nvme-ans2
enum:
- apple,t8103-nvme-ans2
- apple,t8112-nvme-ans2
then:
properties:
power-domains:
Expand Down
52 changes: 49 additions & 3 deletions Documentation/devicetree/bindings/pci/apple,pcie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ properties:
items:
- enum:
- apple,t8103-pcie
- apple,t8112-pcie
- apple,t6000-pcie
- const: apple,pcie

Expand Down Expand Up @@ -71,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 @@ -141,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>;
};
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ properties:
items:
- enum:
- apple,t8103-pinctrl
- apple,t8112-pinctrl
- apple,t6000-pinctrl
- const: apple,pinctrl

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ properties:
items:
- enum:
- apple,t8103-pmgr-pwrstate
- apple,t8112-pmgr-pwrstate
- apple,t6000-pmgr-pwrstate
- const: apple,pmgr-pwrstate

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

title: Apple FPWM controller

maintainers:
- [email protected]
- Sasha Finkelstein <[email protected]>

description: PWM controller used for keyboard backlight on ARM Macs

properties:
compatible:
items:
- enum:
- apple,t8103-fpwm
- apple,t6000-fpwm
- apple,t8112-fpwm
- const: apple,s5l-fpwm

reg:
maxItems: 1

clocks:
maxItems: 1

power-domains:
maxItems: 1

"#pwm-cells":
const: 2

required:
- compatible
- reg
- clocks

additionalProperties: false

examples:
- |
pwm@235044000 {
compatible = "apple,t8103-fpwm", "apple,s5l-fpwm";
reg = <0x35044000 0x4000>;
power-domains = <&ps_fpwm1>;
clocks = <&clkref>;
#pwm-cells = <2>;
};
Loading