-
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
fixup! drm/asahi: Add the Asahi driver for Apple AGX GPUs #135
base: gpu/rust-wip
Are you sure you want to change the base?
Commits on Mar 5, 2023
-
Upgrade the Rust version from 1.62.0 to 1.66.0. The overwhelming majority of the commit is about upgrading our `alloc` fork to the new version from upstream [1]. License has not changed [2][3] (there were changes in the `COPYRIGHT` file, but unrelated to `alloc`). As in the previous version upgrades (done out of tree so far), upgrading `alloc` requires checking that our small additions (`try_*`) still match their original (non`-try_*`) versions. With this version upgrade, the following unstable Rust features were stabilized: `bench_black_box` (1.66.0), `const_ptr_offset_from` (1.65.0), `core_ffi_c` (1.64.0) and `generic_associated_types` (1.65.0). Thus remove them. This also implies that only two unstable features remain allowed for non-`rust/` code: `allocator_api` and `const_refs_to_cell`. There are some new Clippy warnings that we are triggering (i.e. introduced since 1.62.0), as well as a few others that were not triggered before, thus allow them in this commit and clean up or remove them as needed later on: - `borrow_deref_ref` (new in 1.63.0). - `explicit_auto_deref` (new in 1.64.0). - `bool_to_int_with_if` (new in 1.65.0). - `needless_borrow`. - `type_complexity`. - `unnecessary_cast` (allowed only on `CONFIG_ARM`). Furthermore, `rustdoc` lint `broken_intra_doc_links` is triggering on links pointing to `macro_export` `macro_rules` defined in the same module (i.e. appearing in the crate root). However, even if the warning appears, the link still gets generated like in previous versions, thus it is a bit confusing. An issue has been opened upstream [4], and it appears that the link still being generated was a compatibility measure, thus we will need to adapt to the new behavior (done in the next patch). In addition, there is an added `#[const_trait]` attribute in `RawDeviceId`, due to 1.66.0's PR "Require `#[const_trait]` on `Trait` for `impl const Trait`") [5]. Finally, the `-Aunused-imports` was added for compiling `core`. This was fixed upstream for 1.67.0 in PR "Fix warning when libcore is compiled with no_fp_fmt_parse" [6], and prevented for the future for that `cfg` in PR "core: ensure `no_fp_fmt_parse builds` are warning-free" [7]. Reviewed-by: Björn Roy Baron <[email protected]> Reviewed-by: Martin Rodriguez Reboredo <[email protected]> Tested-by: Martin Rodriguez Reboredo <[email protected]> Reviewed-by: Gary Guo <[email protected]> Reviewed-by: Vincenzo Palazzo <[email protected]> Reviewed-by: Alice Ferrazzi <[email protected]> Tested-by: Alice Ferrazzi <[email protected]> Reviewed-by: Neal Gompa <[email protected]> Tested-by: Neal Gompa <[email protected]> Link: Rust-for-Linux#947 Link: https://github.com/rust-lang/rust/tree/1.66.0/library/alloc/src [1] Link: https://github.com/rust-lang/rust/blob/1.66.0/library/alloc/Cargo.toml#L4 [2] Link: https://github.com/rust-lang/rust/blob/1.66.0/COPYRIGHT [3] Link: rust-lang/rust#106142 [4] Link: rust-lang/rust#100982 [5] Link: rust-lang/rust#105434 [6] Link: rust-lang/rust#105811 [7] Signed-off-by: Miguel Ojeda <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 741f89a - Browse repository at this point
Copy the full SHA 741f89aView commit details -
*RFL import: kernel::sync::rcu
Commit reference: 3dfc5eb Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cb96da1 - Browse repository at this point
Copy the full SHA cb96da1View commit details -
*RFL import: kernel::revocable
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 1680c04 - Browse repository at this point
Copy the full SHA 1680c04View commit details -
rust: Add
name
argument to Module::init()Co-developed-by: Wedson Almeida Filho <[email protected]> Signed-off-by: Wedson Almeida Filho <[email protected]> Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e9b288d - Browse repository at this point
Copy the full SHA e9b288dView commit details -
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 1f29957 - Browse repository at this point
Copy the full SHA 1f29957View commit details -
*RFL import: The rest of kernel::device (minus clk stuff)
Commit reference: 3dfc5eb Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b6d48ba - Browse repository at this point
Copy the full SHA b6d48baView commit details -
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 43effe0 - Browse repository at this point
Copy the full SHA 43effe0View commit details -
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 873202f - Browse repository at this point
Copy the full SHA 873202fView commit details -
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 5cbe984 - Browse repository at this point
Copy the full SHA 5cbe984View commit details -
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 86fe42d - Browse repository at this point
Copy the full SHA 86fe42dView commit details -
rust: of: Add OF node abstraction
This abstraction enables Rust drivers to walk Device Tree nodes and query their properties. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 578c008 - Browse repository at this point
Copy the full SHA 578c008View commit details -
rust: driver,of: Support passing ID tables to modpost for alias gener…
…ation In order for modpost to work and correctly generate module aliases from device ID tables, it needs those tables to exist as global symbols with a specific name. Additionally, modpost checks the size of the symbol, so it cannot contain trailing data. To support this, split IdArrayIds out of IdArray. The former contains just the IDs. Then split out the device table definition macro from the macro that defines the device table for a given bus driver, and add another macro to declare a device table as a module device table. Drivers can now define their ID table once, and then specify that it should be used for both the driver and the module: // Generic OF Device ID table. kernel::define_of_id_table! {ASAHI_ID_TABLE, &'static hw::HwConfig, [ (of::DeviceId::Compatible(b"apple,agx-t8103"), Some(&hw::t8103::HWCONFIG)), (of::DeviceId::Compatible(b"apple,agx-t8112"), Some(&hw::t8112::HWCONFIG)), // ... ]} /// Platform Driver implementation for `AsahiDriver`. impl platform::Driver for AsahiDriver { /// Data associated with each hardware ID. type IdInfo = &'static hw::HwConfig; // Assign the above OF ID table to this driver. kernel::driver_of_id_table!(ASAHI_ID_TABLE); // ... } // Export the OF ID table as a module ID table, to make modpost/autoloading work. kernel::module_of_id_table!(MOD_TABLE, ASAHI_ID_TABLE); Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 49d7a5a - Browse repository at this point
Copy the full SHA 49d7a5aView commit details -
rust: platform: add
ioremap_resource
andget_resource
methodsThis patch adds a logic similar to `devm_platform_ioremap_resource` function adding: - `IoResource` enumerated type that groups the `IORESOURCE_*` macros. - `get_resource()` method that is a binding of `platform_get_resource` - `ioremap_resource` that is newly written method similar to `devm_platform_ioremap_resource`. Lina: Removed `bit` dependency and rebased Co-developed-by: Asahi Lina <[email protected]> Signed-off-by: Maciej Falkowski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2a61320 - Browse repository at this point
Copy the full SHA 2a61320View commit details -
rust: kernel: platform: Add Device.set_dma_masks()
Allows drivers to configure the DMA masks for a device. Implemented here, not in device, because it requires a mutable platform device reference this way (device::Device is a safely clonable reference). Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 694fb97 - Browse repository at this point
Copy the full SHA 694fb97View commit details -
rust: Add ioremap_np support to io_mem & friends
Apple SoCs require non-posted mappings for MMIO, and this is automatically handled by devm_ioremap_resource() and friends via a resource flag. Implement the same logic in kernel::io_mem, so it can work the same way. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5e5260b - Browse repository at this point
Copy the full SHA 5e5260bView commit details -
*RFL import: macros::module params functionality & deps
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 609c338 - Browse repository at this point
Copy the full SHA 609c338View commit details -
*RFL import: Rest of kernel::error::code::*
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 2e38894 - Browse repository at this point
Copy the full SHA 2e38894View commit details -
rust: bindings: Add resource_size wrapper
TODO: This isn't abstracted properly yet Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d5870ca - Browse repository at this point
Copy the full SHA d5870caView commit details -
rust: Allow feature new_uninit
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f7ae71 - Browse repository at this point
Copy the full SHA 3f7ae71View commit details -
rust: Allow feature allocator_api
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bb0c93f - Browse repository at this point
Copy the full SHA bb0c93fView commit details -
*RFL import: kernel::KParamGuard & friends
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for ea83867 - Browse repository at this point
Copy the full SHA ea83867View commit details -
*RFL import: kernel::error::Error Debug impl & dependencies
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for 507c7a1 - Browse repository at this point
Copy the full SHA 507c7a1View commit details -
*RFL import: kernel::sync::smutex
Commit reference: 3dfc5eb
Configuration menu - View commit details
-
Copy full SHA for ad5770d - Browse repository at this point
Copy the full SHA ad5770dView commit details -
iommu/io-pgtable: Add Apple UAT variant format
Apple Silicon SoCs (M1, M2, etc.) have a GPU with an ARM64 firmware coprocessor. The firmware and the GPU share page tables in the standard ARM64 format (the firmware literally sets the base as its TTBR0/1 registers). TTBR0 covers the low half of the address space and is intended to be per-GPU-VM (GPU user mappings and kernel-managed buffers), while TTBR1 covers the upper half and is global (firmware code, data, management structures shared with the AP, and a few GPU-accessible data structures). In typical Apple fashion, the permissions are interpreted differently from traditional ARM PTEs. By default, firmware mappings use Apple SPRR permission remapping. The firmware only uses that for its own code/data/MMIO mappings, and those pages are not accessible by the GPU hardware. We never need to touch/manage these mappings, so this patch does not support them. When a specific bit is set in the PTEs, permissions switch to a different scheme which supports various combinations of firmware/GPU access. This is the mode intended to be used by AP GPU drivers, and what we implement here. The prot bits are interpreted as follows: - IOMMU_READ and IOMMU_WRITE have the usual meaning. - IOMMU_PRIV creates firmware-only mappings (no GPU access) - IOMMU_NOEXEC creates GPU-only structures (no FW access) - Otherwise structures are accessible by both GPU and FW - IOMMU_MMIO creates Device mappings for firmware - IOMMU_CACHE creates Normal-NC mappings for firmware (cache-coherent from the point of view of the AP, but slower) - Otherwise creates Normal mappings for firmware (this requires manual cache management on the firmware side, as it is not coherent with the SoC fabric) GPU-only mappings (textures/etc) are expected to use IOMMU_CACHE and are seemingly coherent with the CPU (or otherwise the firmware/GPU already issue the required cache management operations when correctly configured). There is a GPU-RO/FW-RW mode, but it is not currently implemented (it doesn't seem to be very useful for the driver). There seems to be no real noexec control (i.e. for shaders) on the GPU side. All of these mappings are implicitly noexec for the firmware. Drivers are expected to fully manage per-user (TTBR0) page tables, but ownership of shared kernel (TTBR1) page tables is shared between the firmware and the AP OS. We handle this by simply using a smaller IAS to drop down one level of page tables, so the driver can install a PTE in the top-level (firmware-initialized) page table directly and just add an offset to the VAs passed into the io_pgtable code. This avoids having to have any special handling for this here. The firmware-relevant data structures are small, so we do not expect to ever require more VA space than one top-level PTE covers (IAS=36 for the next level, 64 GiB). Only 16K page mode is supported. The coprocessor MMU supports huge pages as usual for ARM64, but the GPU MMU does not, so we do not enable them. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0603bcf - Browse repository at this point
Copy the full SHA 0603bcfView commit details -
rust: io_pgtable: Add the Apple UAT format abstraction
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1ac44e8 - Browse repository at this point
Copy the full SHA 1ac44e8View commit details -
rust: drm: ioctl: Add DRM ioctl abstraction
DRM drivers need to be able to declare which driver-specific ioctls they support. This abstraction adds the required types and a helper macro to generate the ioctl definition inside the DRM driver. Note that this macro is not usable until further bits of the abstraction are in place (but it will not fail to compile on its own, if not called). Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for da4086c - Browse repository at this point
Copy the full SHA da4086cView commit details -
rust: drm: Add Device and Driver abstractions
Add the initial abstractions for DRM drivers and devices. These go together in one commit since they are fairly tightly coupled types. A few things have been stubbed out, to be implemented as further bits of the DRM subsystem are introduced. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b6f2408 - Browse repository at this point
Copy the full SHA b6f2408View commit details -
rust: drm: file: Add File abstraction
A DRM File is the DRM counterpart to a kernel file structure, representing an open DRM file descriptor. Add a Rust abstraction to allow drivers to implement their own File types that implement the DriverFile trait. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 558123b - Browse repository at this point
Copy the full SHA 558123bView commit details -
rust: drm: gem: Add GEM object abstraction
The DRM GEM subsystem is the DRM memory management subsystem used by most modern drivers. Add a Rust abstraction to allow Rust DRM driver implementations to use it. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2fd9d65 - Browse repository at this point
Copy the full SHA 2fd9d65View commit details -
drm/gem-shmem: Export VM ops functions
There doesn't seem to be a way for the Rust bindings to get a compile-time constant reference to drm_gem_shmem_vm_ops, so we need to duplicate that structure in Rust... this isn't nice... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 02c2e41 - Browse repository at this point
Copy the full SHA 02c2e41View commit details -
rust: drm: gem: shmem: Add DRM shmem helper abstraction
The DRM shmem helper includes common code useful for drivers which allocate GEM objects as anonymous shmem. Add a Rust abstraction for this. Drivers can choose the raw GEM implementation or the shmem layer, depending on their needs. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 73bd5e1 - Browse repository at this point
Copy the full SHA 73bd5e1View commit details -
rust: drm: mm: Add DRM MM Range Allocator abstraction
drm_mm provides a simple range allocator, useful for managing virtual address ranges. Add a Rust abstraction to expose this module to Rust drivers. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b9b7883 - Browse repository at this point
Copy the full SHA b9b7883View commit details -
rust: dma_fence: Add DMA Fence abstraction
DMA fences are the internal synchronization primitive used for DMA operations like GPU rendering, video en/decoding, etc. Add an abstraction to allow Rust drivers to interact with this subsystem. Note: This uses a raw spinlock living next to the fence, since we do not interact with it other than for initialization. TODO: Expose this to the user at some point with a safe abstraction. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4d2c649 - Browse repository at this point
Copy the full SHA 4d2c649View commit details -
rust: drm: syncobj: Add DRM Sync Object abstraction
DRM Sync Objects are a container for a DMA fence, and can be waited on signaled, exported, and imported from userspace. Add a Rust abstraction so Rust DRM drivers can support this functionality. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 85ccad9 - Browse repository at this point
Copy the full SHA 85ccad9View commit details -
drm/sched: Add can_run_job callback
Some hardware may require more complex resource utilization accounting than the simple job count supported by drm_sched internally. Add a can_run_job callback to allow drivers to implement more logic before deciding whether to run a GPU job. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c8ea6d4 - Browse repository at this point
Copy the full SHA c8ea6d4View commit details -
rust: drm: sched: Add GPU scheduler abstraction
The GPU scheduler manages scheduling GPU jobs and dependencies between them. This Rust abstraction allows Rust DRM drivers to use this functionality. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e38bda4 - Browse repository at this point
Copy the full SHA e38bda4View commit details -
drm/gem: Add a flag to control whether objects can be exported
Drivers may want to support driver-private objects, which cannot be shared. This allows them to share a single lock and enables other optimizations. Add an `exportable` field to drm_gem_object, which blocks PRIME export if set to false. It is initialized to true in drm_gem_private_object_init. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6781661 - Browse repository at this point
Copy the full SHA 6781661View commit details -
rust: drm: gem: Add set_exportable() method
This allows drivers to control whether a given GEM object is allowed to be exported via PRIME to other drivers.
Configuration menu - View commit details
-
Copy full SHA for 66fee7f - Browse repository at this point
Copy the full SHA 66fee7fView commit details -
drm/asahi: Add the Asahi driver UAPI
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 020a96a - Browse repository at this point
Copy the full SHA 020a96aView commit details -
rust: bindings: Bind the Asahi DRM UAPI
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cec0bcb - Browse repository at this point
Copy the full SHA cec0bcbView commit details -
rust: macros: Add versions macro
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be7a692 - Browse repository at this point
Copy the full SHA be7a692View commit details -
drm/asahi: Add the Asahi driver for Apple AGX GPUs
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9060476 - Browse repository at this point
Copy the full SHA 9060476View commit details -
drm/asahi: buffer: Add stats methods
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a82420d - Browse repository at this point
Copy the full SHA a82420dView commit details -
drm/asahi: render: Fix timestamp mixup
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d9f4243 - Browse repository at this point
Copy the full SHA d9f4243View commit details -
drm/asahi: UAPI: Add result/statistics UAPI
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c3bd230 - Browse repository at this point
Copy the full SHA c3bd230View commit details -
drm/asahi: workqueue: Add conversion to UAPI status struct
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 06e7fef - Browse repository at this point
Copy the full SHA 06e7fefView commit details -
drm/asahi: Implement command feedback/statistics
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72c6c67 - Browse repository at this point
Copy the full SHA 72c6c67View commit details -
drm/asahi: Convert timeouts to faults if fault info is available
Most faults seem to be reported as what I call timeouts anyway. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 06e3bc7 - Browse repository at this point
Copy the full SHA 06e3bc7View commit details -
drm/asahi: Skip timestamp commands if there is no result BO
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 73a016c - Browse repository at this point
Copy the full SHA 73a016cView commit details -
drm/asahi: Reject submissions with zero commands
This does not work and isn't intended to work. While trivial submissions like this are valid in Vulkan, Mesa should lower it to waiting on the last valid syncobj instead, since it doesn't make any sense at the firmware level. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f79b612 - Browse repository at this point
Copy the full SHA f79b612View commit details -
drm/asahi: queue: Add more debugging IDs
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 864581d - Browse repository at this point
Copy the full SHA 864581dView commit details -
drm/asahi: render: Always flush stamps on both vertex & frag
They could complete in either order, and not forcing flushes on both can leave us with stuck stamps... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 522756e - Browse repository at this point
Copy the full SHA 522756eView commit details -
drm/apple: simplify IOMFB_THUNK_INOUT
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 81de906 - Browse repository at this point
Copy the full SHA 81de906View commit details
Commits on Mar 7, 2023
-
dt-bindings: power: apple,pmgr-pwrstate: Add t8112 compatible
Add the apple,t8112-pmgr-pwrstate compatible for the Apple M2 SoC. This goes after t8103. The sort order logic here is having SoC numeric code families in release order, and SoCs within each family in release order: - t8xxx (Apple HxxP/G series, "phone"/"tablet" chips) - t8103 (Apple H13G/M1) - t8112 (Apple H14G/M2) - t6xxx (Apple HxxJ series, "desktop" chips) - t6000 (Apple H13J(S)/M1 Pro) - t6001 (Apple H13J(C)/M1 Max) - t6002 (Apple H13J(D)/M1 Ultra) Note that t600[0-2] share the t6000 compatible where the hardware is 100% compatible, which is usually the case in this highly related set of SoCs. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Janne Grunau <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7f46467 - Browse repository at this point
Copy the full SHA 7f46467View commit details -
dt-bindings: arm: apple: apple,pmgr: Add t8112-pmgr compatible
The block on Apple M2 SoCs is compatible with the existing driver so just add its per-SoC compatible. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0af5e4f - Browse repository at this point
Copy the full SHA 0af5e4fView commit details -
dt-bindings: watchdog: apple,wdt: Add t8112-wdt compatible
The block on the Apple M2 SoC is compatible with the existing driver so add its per-SoC compatible. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a2e7532 - Browse repository at this point
Copy the full SHA a2e7532View commit details -
dt-bindings: arm: cpus: Add apple,avalanche & blizzard compatibles
These are the CPU cores in the Apple silicon M2 SoC. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bb5949c - Browse repository at this point
Copy the full SHA bb5949cView commit details -
dt-bindings: interrupt-controller: apple,aic2: Add apple,t8112-aic co…
…mpatible The Apple M2 SoC uses AICv2 and is compatible with the existing driver. Add its per-SoC compatible. Since multi-die versions of the M2 are not expected decrease '#interrupt-cells' to 3 for apple,t8112-aic. This is seamlessly handled inside the driver. Acked-by: Marc Zyngier <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1b294cd - Browse repository at this point
Copy the full SHA 1b294cdView commit details -
dt-bindings: iommu: apple,sart: Add apple,t8112-sart compatible string
"apple,t8112-sart" as found on the Apple M2 SoC appears to be SART3 as well. To allow for later discovered incompatibilities use '"apple,t8112-sart", "apple,t6000-sart"' as compatible string. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cd3d306 - Browse repository at this point
Copy the full SHA cd3d306View commit details -
dt-bindings: mailbox: apple,mailbox: Add t8112 compatibles
The mailbox hardware remains unchanged on M2 SoCs so just add its per-SoC compatible. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3fa77f3 - Browse repository at this point
Copy the full SHA 3fa77f3View commit details -
dt-bindings: nvme: apple: Add apple,t8112-nvme-ans2 compatible string
"apple,t8112-nvme-ans2" as found on Apple M2 SoCs is compatible with the existing driver. Add its SoC specific compatible string to allow special handling if it'll be necessary. t8112 uses only 2 power-domains as no 4 and 8 TB configurations are offered. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dc3fd5f - Browse repository at this point
Copy the full SHA dc3fd5fView commit details -
dt-bindings: pci: apple,pcie: Add t8112 support
The block found in the Apple M2 SoC is compatible with the existing driver, and supports 4 downstream ports like the t6000 one. Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3130f20 - Browse repository at this point
Copy the full SHA 3130f20View commit details -
dt-bindings: pinctrl: apple,pinctrl: Add apple,t8112-pinctrl compatible
This new SoC uses the same pinctrl hardware, so just add a new per-SoC compatible. Reviewed-by: Linus Walleij <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c957acd - Browse repository at this point
Copy the full SHA c957acdView commit details -
dt-bindings: i2c: apple,i2c: Add apple,t8112-i2c compatible
This block on the Apple M2 is compatible with the existing driver so just add the per-SoC compatible. Acked-by: Wolfram Sang <[email protected]> # for I2C Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4d7dea2 - Browse repository at this point
Copy the full SHA 4d7dea2View commit details -
dt-bindings: clock: apple,nco: Add t8112-nco compatible
The block found on Apple's M2 SoC is compatible with the existing driver so add its per-SoC compatible. Acked-by: Martin Povišer <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a193595 - Browse repository at this point
Copy the full SHA a193595View commit details -
dt-bindings: dma: apple,admac: Add t8112-admac compatible
The block found on Apple's M2 SoC is compatible with the existing driver so add its per-SoC compatible. Acked-by: Vinod Koul <[email protected]> Acked-by: Martin Povišer <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3ce4585 - Browse repository at this point
Copy the full SHA 3ce4585View commit details -
dt-bindings: arm: apple: Add t8112 j413/j473/j493 compatibles
This adds the following apple,t8112 platforms: - apple,j413 - MacBook Air (M2, 2022) - apple,j473 - Mac mini (M2, 2023) - apple,j493 - MacBook Pro (13-inch, M2, 2022) The sort order logic here is having SoC numeric code families in release order, and SoCs within each family in release order: - t8xxx (Apple HxxP/G series, "phone"/"tablet" chips) - t8103 (Apple H13G/M1) - t8112 (Apple H14G/M2) - t6xxx (Apple HxxJ series, "desktop" chips) - t6000 (Apple H13J(S)/M1 Pro) - t6001 (Apple H13J(C)/M1 Max) - t6002 (Apple H13J(D)/M1 Ultra) Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2bd1339 - Browse repository at this point
Copy the full SHA 2bd1339View commit details -
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices: - Macbook Air (M2, 2022) - Macbook Pro 13" (M2, 2022) - Mac mini (M2, 2023) This brings the hardware support of the machines to the same level as M1 and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial, pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot framebuffer for laptop panels and the interrupt controller. The ethernet LAN device on the M2 Mac mini is the only working PCIe device. The Wlan/BT devices are powered off and controlled by the not yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware to be loaded at startup. The main missing hardware support to make these devices useful are the integrated USB 2/3/4 controller, keyboard and trackpad on the laptops and SMC to power the PCIe Wlan/BT device on. The M2 Mac mini has currently no working display output. Due to changes in the display pipeline it is currently not possible to initialize the HDMI output in the bootloader. Signed-off-by: Hector Martin <[email protected]> Co-developed-by: Janne Grunau <[email protected]> Reviewed-by: Sven Peter <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 589d5c5 - Browse repository at this point
Copy the full SHA 589d5c5View commit details -
arm64: dts: apple: t8103: Disable unused PCIe ports
The PCIe ports are unused (without devices) so disable them instead of removing them. Fixes: 7c77ab9 ("arm64: dts: apple: Add missing M1 (t8103) devices") Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8e65775 - Browse repository at this point
Copy the full SHA 8e65775View commit details -
arm64: dts: apple: t600x: Disable unused PCIe ports
The PCIe ports are unused (without devices) so disable them instead of removing them. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 51b6df5 - Browse repository at this point
Copy the full SHA 51b6df5View commit details -
arm64: dts: apple: t8112: Add wlan/bt PCIe device nodes
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9a0e5ab - Browse repository at this point
Copy the full SHA 9a0e5abView commit details -
arm64: dts: apple: t8112: Add PMU NVMEM and SMC RTC/reboot nodes
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d527fd2 - Browse repository at this point
Copy the full SHA d527fd2View commit details -
arm64: dts: apple: t8112-j493: Add spi3 node
Used for the touchbar, clock frequency is probably wrong. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c946704 - Browse repository at this point
Copy the full SHA c946704View commit details -
arm64: dts: apple: t8112: Add SMC node to devicetree
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8c11fc0 - Browse repository at this point
Copy the full SHA 8c11fc0View commit details -
arm64: dts: apple: t8112*: Put in audio nodes
Signed-off-by: Martin Povišer <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3dd8662 - Browse repository at this point
Copy the full SHA 3dd8662View commit details -
arm64: dts: apple: t8112: Add dwc3 nodes
Signed-off-by: Hector Martin <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f896a52 - Browse repository at this point
Copy the full SHA f896a52View commit details -
arm64: dts: apple: Add backlight node to j413/j493
It can be turned off with: echo 1 > /sys/class/backlight/backlight/bl_power It can be turned on with: echo 0 > /sys/class/backlight/backlight/bl_power Needs CONFIG_BACKLIGHT_GPIO=m. Signed-off-by: Thomas Glanzmann <[email protected]> Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72d4d52 - Browse repository at this point
Copy the full SHA 72d4d52View commit details -
arm64: dts: apple: t8112: Add mtp device nodes for j413/j493
Those provide trackpad and keyboard for j413/j493. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 99cb2d0 - Browse repository at this point
Copy the full SHA 99cb2d0View commit details -
arm64: dts: apple: t8103: Add dwc3 nodes
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ceb486b - Browse repository at this point
Copy the full SHA ceb486bView commit details
Commits on Mar 11, 2023
-
dmaengine: apple-admac: Handle 'global' interrupt flags
In addition to TX channel and RX channel interrupt flags there's another class of 'global' interrupt flags with unknown semantics. Those weren't being handled up to now, and they are the suspected cause of stuck IRQ states that have been sporadically occurring. Check the global flags and clear them if raised. Fixes: b127315 ("dmaengine: apple-admac: Add Apple ADMAC driver") Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dbe87a0 - Browse repository at this point
Copy the full SHA dbe87a0View commit details -
drm/apple: Fix parse_string() memory leaks
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ebd3bf0 - Browse repository at this point
Copy the full SHA ebd3bf0View commit details -
drm/apple: Fix bad error return
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d00883f - Browse repository at this point
Copy the full SHA d00883fView commit details -
drm/apple: Set backlight level indirectly if no mode is set
Fixes following warning when systemd-backlight restores the backlight level on boot before a mode is set: Call trace: drm_atomic_helper_crtc_duplicate_state+0x58/0x74 drm_atomic_get_crtc_state+0x84/0x120 dcp_set_brightness+0xd8/0x21c [apple_dcp] backlight_device_set_brightness+0x78/0x130 ... Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ee6bfa7 - Browse repository at this point
Copy the full SHA ee6bfa7View commit details -
drm/apple: Use backlight_get_brightness()
Backlight drivers are expected to use this instead of accessing backlight properties. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e4c2f4d - Browse repository at this point
Copy the full SHA e4c2f4dView commit details -
fixup! PCI: apple: Probe all GPIOs for availability first
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aad9b06 - Browse repository at this point
Copy the full SHA aad9b06View commit details -
PCI: apple: Set only available ports up
Fixes "interrupt-map" parsing in of_irq_parse_raw() which takes the node's availability into account. This became apparent after disabling unused PCIe ports in the Apple silicon device trees instead of disabling them. Link: https://lore.kernel.org/asahi/20230214-apple_dts_pcie_disable_unused-v1-0-5ea0d3ddcde3@jannau.net/ Link: https://lore.kernel.org/asahi/[email protected]/ Fixes: 1e33888 ("PCI: apple: Add initial hardware bring-up") Cc: [email protected] Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d57163d - Browse repository at this point
Copy the full SHA d57163dView commit details
Commits on Mar 12, 2023
-
arm64: dts: apple: t8103: Add spi3/keyboard nodes
Enables keyboard and touchpad input on MacBook Air (M1, 2020) and MacBook Pro (13-inch, M1, 2020). Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 91ff0ab - Browse repository at this point
Copy the full SHA 91ff0abView commit details -
arm64: dts: apple: Add PCI power enable GPIOs
t8103: - WLAN (SMC PMU GPIO torvalds#13) t600x: - WLAN (SMC PMU GPIO torvalds#13) - SD (SMC PMU GPIO torvalds#26) Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5551408 - Browse repository at this point
Copy the full SHA 5551408View commit details -
arm64: dts: apple: Add SMC node to t8103/t6001 devicetrees
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c8716b - Browse repository at this point
Copy the full SHA 2c8716bView commit details -
arm64: dts: apple: Add PMU NVMEM and SMC RTC/reboot nodes
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a0ba52f - Browse repository at this point
Copy the full SHA a0ba52fView commit details -
arm64: dts: apple: Mark ATC USB AON domains as always-on
Shutting these down breaks dwc3 init done by the firmware. We probably never want to do this anyway. It might be possible remove this once a PHY driver is in place to do the init properly, but it may not be worth it. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0490bf8 - Browse repository at this point
Copy the full SHA 0490bf8View commit details -
arm64: dts: apple: Add backlight node to j293/j313
It can be turned off with: echo 1 > /sys/class/backlight/backlight/bl_power It can be turned on with: echo 0 > /sys/class/backlight/backlight/bl_power Needs CONFIG_BACKLIGHT_GPIO=m. Signed-off-by: Thomas Glanzmann <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9d781a9 - Browse repository at this point
Copy the full SHA 9d781a9View commit details -
arm64: dts: apple: Keep PCIe power domain on
This causes flakiness if shut down; don't do it until we find out what's going on. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4ccc904 - Browse repository at this point
Copy the full SHA 4ccc904View commit details -
arm64: dts: apple: Add SMC node to t600x devicetrees
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9f7cba8 - Browse repository at this point
Copy the full SHA 9f7cba8View commit details -
arm64: dts: apple: Add PMU NVMEM and SMC RTC/reboot nodes
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ecc0d1a - Browse repository at this point
Copy the full SHA ecc0d1aView commit details -
arm64: dts: apple: t6000: Add spi1 node
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 460f079 - Browse repository at this point
Copy the full SHA 460f079View commit details -
arm64: dts: apple: t600x-j314-j316: Add NOR flash node
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 995677b - Browse repository at this point
Copy the full SHA 995677bView commit details -
arm64: dts: apple: t600x: Add spi3 node
Used for keyboard and touchpad input on MacBook Pro (14/16-inch, M1 Pro/Max, 2021). Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3b0e372 - Browse repository at this point
Copy the full SHA 3b0e372View commit details -
arm64: dts: apple: j31[46]: Add keyboard nodes
Enables keyboard and touchpad input on MacBook Pro (14/16-inch, M1 Pro/Max, 2021). Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0a4367f - Browse repository at this point
Copy the full SHA 0a4367fView commit details -
arm64: dts: apple: t600x: Add dwc3 nodes
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f0dbdd6 - Browse repository at this point
Copy the full SHA f0dbdd6View commit details -
arm64: dts: apple: Add WiFi module and antenna properties
Add the new module-instance/antenna-sku properties required to select WiFi firmwares properly to all board device trees. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5ec8b5f - Browse repository at this point
Copy the full SHA 5ec8b5fView commit details -
arm64: dts: apple: Add PCI power enable GPIOs
t8103: - WLAN (SMC PMU GPIO torvalds#13) t600x: - WLAN (SMC PMU GPIO torvalds#13) - SD (SMC PMU GPIO torvalds#26) Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9088d67 - Browse repository at this point
Copy the full SHA 9088d67View commit details -
arm64: dts: apple: Add backlight node to j314/j316
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8129fba - Browse repository at this point
Copy the full SHA 8129fbaView commit details -
arm64: dts: apple: t8103: Fix spi4 power domain sort order
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 487043d - Browse repository at this point
Copy the full SHA 487043dView commit details -
arm64: dts: apple: t600x: Add bluetooth device trees
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2df967f - Browse repository at this point
Copy the full SHA 2df967fView commit details -
arm64: dts: apple: t8103*: Put in audio nodes
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1a63ba8 - Browse repository at this point
Copy the full SHA 1a63ba8View commit details -
arm64: dts: apple: t600x-jxxx: Put in audio nodes
Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 35224a4 - Browse repository at this point
Copy the full SHA 35224a4View commit details -
arm64: dts: apple: Drop 'integrated audio' from sound models
Even though my preference would be to keep it in, the long name crops in a bunch of places and the verbiage at the end needs to go. Signed-off-by: Martin Povišer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8d5362c - Browse repository at this point
Copy the full SHA 8d5362cView commit details -
arm64: dts: apple: t6001-j375c: Add USB3 hub GPIO initialization
The Mac Studio M1 Max (t6001) model has a built-in USB3 hub. This hub has a firmware flash which is also connected to an AP SPI controller. The hub starts out in reset and the host is expected to bring it out of reset, potentially after upgrading/validating the firmware. We won't be doing anything with the firmware, so just use gpio-hog to flip the two GPIOs needed to bring up the hub chip. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 809653e - Browse repository at this point
Copy the full SHA 809653eView commit details -
arch: arm64: apple: Add missing power state deps for display
The dcp co-processor crashes on HDMI unplug while it apparently tries to notify pmp. Handle "notify_pmp" as a parent dependency for "ps_disp0_fe" and "ps_dispext_fe". Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 260d191 - Browse repository at this point
Copy the full SHA 260d191View commit details -
arch: arm64: apple: t600x: Mark USB and PCIe as "dma-coherent"
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 011652e - Browse repository at this point
Copy the full SHA 011652eView commit details -
arch: arm64: apple: Add display controller related device tree nodes
The display system is initialized by the bootloader to provide a simple framebuffer at startup. Memory for the framebuffer and heap for the display co-processor are alreay mapped through the IOMMU. IOMMU intialization must preserve this mappings to avoid crashing the display co-processor. The exisitng mappings are caried in the devicetree. They are applied during device attach to ensure the IOMMU framework is aware of these mapping. Mappings are filled by m1n1 during boot. Based on https://lore.kernel.org/asahi/[email protected] Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 719a17d - Browse repository at this point
Copy the full SHA 719a17dView commit details -
arch: arm64: apple: t600x: Add display controller related device tree…
… nodes The display system is initialized by the bootloader to provide a simple framebuffer at startup. Memory for the framebuffer and heap for the display co-processor are alreay mapped through the IOMMU. IOMMU intialization must preserve this mappings to avoid crashing the display co-processor. The exisitng mappings are caried in the devicetree. They are applied during device attach to ensure the IOMMU framework is aware of these mapping. Mappings are filled by m1n1 during boot. Based on https://lore.kernel.org/asahi/[email protected] Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5937bf3 - Browse repository at this point
Copy the full SHA 5937bf3View commit details -
arch: arm64: apple: t8103: Add connector type property for DCP*
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 32ccda0 - Browse repository at this point
Copy the full SHA 32ccda0View commit details -
arch: arm64: apple: t600x: Add connector type property for DCP*
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6b2fbba - Browse repository at this point
Copy the full SHA 6b2fbbaView commit details -
arm64: dts: apple: t8103: Add PWM controller
Adds PWM controller and keyboard backlight bindings for M1 MacBooks Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2b62347 - Browse repository at this point
Copy the full SHA 2b62347View commit details -
arm64: dts: apple: t8112: Add PWM controller
Adds PWM controller and keyboard backlight bindings for M2 MacBooks Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e031b5d - Browse repository at this point
Copy the full SHA e031b5dView commit details -
arm64: dts: apple: t600x: Add PWM controller
Adds PWM controller and keyboard backlight bindings for M1 Pro/Max MacBook Pros Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b764ebb - Browse repository at this point
Copy the full SHA b764ebbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5838d87 - Browse repository at this point
Copy the full SHA 5838d87View commit details -
arm64: dts: apple: t8103: Add ATCPHY node
Signed-off-by: Sven Peter <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5ab2e1e - Browse repository at this point
Copy the full SHA 5ab2e1eView commit details -
arch: arm64: dts: apple: t6000: Add eFuses node
Signed-off-by: R <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 83b78a2 - Browse repository at this point
Copy the full SHA 83b78a2View commit details -
arch: arm64: dts: apple: t600x: Add ATCPHY nodes
Signed-off-by: R <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e56ad4f - Browse repository at this point
Copy the full SHA e56ad4fView commit details -
arch: arm64: apple: Add dcp panel node for t8103 based laptops and imacs
The panel node will contain among other properties backlight control related properties from the "backlight" node in the ADT. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4caeef7 - Browse repository at this point
Copy the full SHA 4caeef7View commit details -
arch: arm64: apple: Add dcp panel node for t600x based laptops
The panel node will contain among other properties backlight control related properties from the "backlight" node in the ADT. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d09219d - Browse repository at this point
Copy the full SHA d09219dView commit details -
arm64: dts: apple: t8112: Add eFuses node
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d9b427e - Browse repository at this point
Copy the full SHA d9b427eView commit details -
arm64: dts: apple: t8112: Add ATCPHY nodes
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c73189 - Browse repository at this point
Copy the full SHA 2c73189View commit details -
arm64: dts: apple: t8112: Add dcp/disp0 nodes
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 717839f - Browse repository at this point
Copy the full SHA 717839fView commit details -
scripts/dtc: Add support for floating-point literals
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f110e42 - Browse repository at this point
Copy the full SHA f110e42View commit details -
arm64: dts: apple: t8103*: Add GPU nodes
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aea2f4c - Browse repository at this point
Copy the full SHA aea2f4cView commit details -
arm64: dts: Add GPU performance data to t8103.dts
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34cb8c3 - Browse repository at this point
Copy the full SHA 34cb8c3View commit details -
arm64: dts: Add power data for t8103
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fbc9344 - Browse repository at this point
Copy the full SHA fbc9344View commit details -
arm64: dts: Add t600x GPU nodes
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5e879d6 - Browse repository at this point
Copy the full SHA 5e879d6View commit details -
arm64: dts: t8103: Add GPU leak coefficients
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fdbca28 - Browse repository at this point
Copy the full SHA fdbca28View commit details -
arm64: dts: apple: Add no-map to GPU reserved-memory nodes
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 339b2a2 - Browse repository at this point
Copy the full SHA 339b2a2View commit details -
arm64: dts: apple: Add GPU nodes to T8112
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d99ceb8 - Browse repository at this point
Copy the full SHA d99ceb8View commit details -
arm64: dts: apple: Add GPU firmware versions to t8113/t600x
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dad177e - Browse repository at this point
Copy the full SHA dad177eView commit details -
arm64: dts: apple: t600x: Add the NVRAM bindings
Add the SPI controller and the nvram partition bindings for M1 Pro/Max/Ultra Macs Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76e8a9f - Browse repository at this point
Copy the full SHA 76e8a9fView commit details -
arm64: dts: apple: t8112: Add the NVRAM bindings
Add the SPI controller and the nvram partition bindings for M2 Macs Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 29c2ff8 - Browse repository at this point
Copy the full SHA 29c2ff8View commit details -
arm64: dts: apple: t8103: Add the NVRAM bindings
Add the SPI controller and the nvram partition bindings for M1 Macs Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1072a88 - Browse repository at this point
Copy the full SHA 1072a88View commit details -
arm64: dts: apple: t600x: Add DCP power domain to missing devices
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 054bd2c - Browse repository at this point
Copy the full SHA 054bd2cView commit details -
arm64: dts: apple: t8103: Add DCP power domain to missing devices
Removes the "apple,always-on" property from ps_disp0_fe. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5c91876 - Browse repository at this point
Copy the full SHA 5c91876View commit details -
arm64: dts: apple: t8112: Add DCP power domain to missing devices
Moves "apple,always-on" property to ps_disp0_cpu0. To be removed by DCP after initialization. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0b23d78 - Browse repository at this point
Copy the full SHA 0b23d78View commit details -
arm64: dts: apple: t8103: Add missing ps_pmp dependency to ps_gfx
AGX' ASC crashes shortly after ps_pmp is powered down due to dcp runtime PM suspend. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f8b4db - Browse repository at this point
Copy the full SHA 3f8b4dbView commit details -
arm64: dts: apple: t600x: Add "ps_disp0_cpu0" as resets for dcp
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 220d698 - Browse repository at this point
Copy the full SHA 220d698View commit details -
arm64: dts: apple: t8103: Add "ps_disp0_cpu0" as resets for dcp
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e855f3d - Browse repository at this point
Copy the full SHA e855f3dView commit details -
arm64: dts: apple: t8112: Add "ps_disp0_cpu0" as resets for dcp
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a89511a - Browse repository at this point
Copy the full SHA a89511aView commit details -
arm64: dts: apple: j314/j316: Disable ATC3_USB_AON power domain
These power domains are normally always on for real Thunderbolt ports (or else dwc3 breaks), but not for the port that's hardwired to the HDMI bridge. Fixes some dmesg spam: apple-pmgr-pwrstate 292280000.power-management:power-controller@a0: always-on domain atc3_usb_aon is not on at boot Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 54adb61 - Browse repository at this point
Copy the full SHA 54adb61View commit details -
arm64: dts: apple: HACK: Make ans2 PD always on
We have an inherent issue with deferred probing and power domains. This is breaking ans2 sometimes. Until we fix it, just set these as always-on. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eb03ef7 - Browse repository at this point
Copy the full SHA eb03ef7View commit details -
fixup! ASoC: apple: Add macaudio machine driver
Signed-off-by: Sasha Finkelstein <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b4adc8d - Browse repository at this point
Copy the full SHA b4adc8dView commit details
Commits on Mar 14, 2023
-
soc: apple: rtkit: Add register dump decoding to crashlog
When the coprocessor crashes, it's useful to get a proper register dump so we can find out what the firmware was doing. Add a decoder for this. Originally this had ESR decoding by reusing the ARM64 arch header for this, but that introduces some module linking and cross-arch compilation issues, so let's leave that out for now. Reviewed-by: Sven Peter <[email protected]> Reviewed-by: Eric Curtin <[email protected]> Signed-off-by: Asahi Lina <[email protected]> Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72d241b - Browse repository at this point
Copy the full SHA 72d241bView commit details -
soc: apple: rtkit: Add a private pointer to apple_rtkit_shmem
This allows downstream consumers to keep track of private data for shmem mappings. In particular, the Rust abstraction will use this to safely drop data associated with a mapping when it is unmapped. Signed-off-by: Asahi Lina <[email protected]> Reviewed-by: Sven Peter <[email protected]> Reviewed-by: Eric Curtin <[email protected]> Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 91ca104 - Browse repository at this point
Copy the full SHA 91ca104View commit details -
soc: apple: rtkit: Add devm_apple_rtkit_free()
To be used to free a RTKit interface while the associated device remains alive. Probably useless since it's unknown how or if RTKit based co-processors can be restarted. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6e9c7aa - Browse repository at this point
Copy the full SHA 6e9c7aaView commit details -
soc: apple: rtkit: Add apple_rtkit_idle() function
This is yet another low power mode, used by DCP. Reviewed-by: Eric Curtin <[email protected]> Reviewed-by: Sven Peter <[email protected]> Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 594737b - Browse repository at this point
Copy the full SHA 594737bView commit details -
soc: apple: apple-pmgr-pwrstate: Switch to IRQ-safe mode
This requires changing the reset path locking primitives to the spinlock path in genpd, instead of the mutex path. Reviewed-by: Eric Curtin <[email protected]> Reviewed-by: Sven Peter <[email protected]> Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for deee42c - Browse repository at this point
Copy the full SHA deee42cView commit details -
PCI: apple: Increase link up timeout
The 10GbE ethernet on Mac Studios still seems to fail to come up sometimes, let's try increasing this timeout. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8f5af81 - Browse repository at this point
Copy the full SHA 8f5af81View commit details -
init/Kconfig: Only block on RANDSTRUCT for RUST
When enabling Rust in the kernel, we only need to block on the RANDSTRUCT feature and GCC plugin. The rest of the GCC plugins are reasonably safe to enable. Signed-off-by: Neal Gompa <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c5188ac - Browse repository at this point
Copy the full SHA c5188acView commit details -
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7fc6c8c - Browse repository at this point
Copy the full SHA 7fc6c8cView commit details -
scripts: Exclude Rust CUs with pahole
Version 1.24 of pahole has the capability to exclude compilation units (CUs) of specific languages. Rust, as of writing, is not currently supported by pahole and if it's used with a build that has BTF debugging enabled it results in malformed kernel and module binaries (see Rust-for-Linux#735). So it's better for pahole to exclude Rust CUs until support for it arrives. Eric altered the Kconfig a little differently. Co-authored-by: Eric Curtin <[email protected]> Signed-off-by: Martin Rodriguez Reboredo <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a292f99 - Browse repository at this point
Copy the full SHA a292f99View commit details -
drm/asahi: Remove the | 4 from pipeline addresses
This is variable, let userspace do it. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3cf8e76 - Browse repository at this point
Copy the full SHA 3cf8e76View commit details -
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for df47f03 - Browse repository at this point
Copy the full SHA df47f03View commit details -
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9eaa35b - Browse repository at this point
Copy the full SHA 9eaa35bView commit details -
rust: helpers: Fix spinlock helper for various spinlock modes
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7e56f99 - Browse repository at this point
Copy the full SHA 7e56f99View commit details -
rust: helpers: Add missing mutex_[un]lock() wrappers
Whether these are macros or real functions depends on the config. Wrap them if they are macros. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 22e8f6d - Browse repository at this point
Copy the full SHA 22e8f6dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 45739e5 - Browse repository at this point
Copy the full SHA 45739e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6460b47 - Browse repository at this point
Copy the full SHA 6460b47View commit details -
drm/scheduler: Clean up jobs when the scheduler is torn down.
drm_sched_fini() currently leaves any pending jobs dangling, which causes segfaults and other badness when job completion fences are signaled after the scheduler is torn down. Explicitly detach all jobs from their completion callbacks and free them. This makes it possible to write a sensible safe abstraction for drm_sched, without having to externally duplicate the tracking of in-flight jobs. This shouldn't regress any existing drivers, since calling drm_sched_fini() with any pending jobs is broken and this change should be a no-op if there are no pending jobs. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bf31022 - Browse repository at this point
Copy the full SHA bf31022View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a60e4f - Browse repository at this point
Copy the full SHA 4a60e4fView commit details -
drm/asahi: Move GPU context drop inside refcount
Instead of invalidating the GPU context when the Queue gets dropped (at which point jobs might still be running), wrap the object and put the drop logic in the wrapper, which is inside the Arc<>. Since the WorkQueues stay alive until all commands are complete (via the EventManager reference), that means the GPU context will only be invalidated when there is no work in progress or queued for it and the Arc<> loses its last reference. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 36408c7 - Browse repository at this point
Copy the full SHA 36408c7View commit details -
drm/asahi: Promote two fields in vert/frag structs to all versions
Seen on 12.3: asahi 206400000.gpu: Allocator: Corruption after object of type asahi::fw::fragment::RunFragmentG13V12_3 at 0xffffffa00009be00:0x928 + 0x0..0x5 5 bytes sounds like exactly the two fields we had as >= 13_0B4 at the end of the structs, so let's just enable them for all versions. Plus we already had them for compute! Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b981dd6 - Browse repository at this point
Copy the full SHA b981dd6View commit details -
drm/asahi: Remove padding from Vertex commands, move to 13_0B4+
This was probably papering over the issue in the previous commit. Doing this makes both command types have the same structure at the end, which makes sense... let's see how it goes. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6e979d1 - Browse repository at this point
Copy the full SHA 6e979d1View commit details -
drm/asahi: alloc: Make corruption ranges end-inclusive
And use Rust syntax to make it clear that it is. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e956ec - Browse repository at this point
Copy the full SHA 4e956ecView commit details -
rust: module_param: Tolerate a trailing newline when parsing
This is the same behavior as kstrtol/kstrtoul, and allows simple `echo 0 > /sys/module/foo/parameters/bar` commands to work. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4fe3779 - Browse repository at this point
Copy the full SHA 4fe3779View commit details -
drm/asahi: channel: Increase timeouts, add sleeping mode
Increase timeouts to 1s, but switch to sleeping between polls at the 10ms boundary so we don't busy-loop when the firmware is too busy to service rings (which can happen in rare cases). Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 22ed3d3 - Browse repository at this point
Copy the full SHA 22ed3d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35cdfed - Browse repository at this point
Copy the full SHA 35cdfedView commit details -
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0dd0667 - Browse repository at this point
Copy the full SHA 0dd0667View commit details -
drm/asahi: Add missing timeline syncobj signaling support
Still untested, but it might even work now? Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7a1237a - Browse repository at this point
Copy the full SHA 7a1237aView commit details -
drm/asahi: Merge conflict avoidance hack
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7bca4c7 - Browse repository at this point
Copy the full SHA 7bca4c7View commit details -
soc: apple: rtkit: Check for failure to send mgmt messages & log
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9d67659 - Browse repository at this point
Copy the full SHA 9d67659View commit details -
soc: apple: rtkit: Log failure to send messages
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 021fb28 - Browse repository at this point
Copy the full SHA 021fb28View commit details -
soc: apple: rtkit: Fix buffer address field width
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b166f21 - Browse repository at this point
Copy the full SHA b166f21View commit details -
soc: apple: rtkit: Log failed buffer requests
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c48e971 - Browse repository at this point
Copy the full SHA c48e971View commit details -
soc: apple: rtkit: Add APPLE_RTKIT_PWR_STATE_INIT
This state is needed to wake the dcp IOP after m1n1 shut it down. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 58a76c2 - Browse repository at this point
Copy the full SHA 58a76c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd795e3 - Browse repository at this point
Copy the full SHA fd795e3View commit details -
soc: apple: mailbox: Add ASC/M3 mailbox driver
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fd4e8ef - Browse repository at this point
Copy the full SHA fd4e8efView commit details -
soc: apple: rtkit: Port to the internal mailbox driver
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 62f3af8 - Browse repository at this point
Copy the full SHA 62f3af8View commit details -
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d49d048 - Browse repository at this point
Copy the full SHA d49d048View commit details -
soc: apple: Drop !APPLE_MAILBOX dependency
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e0a12b2 - Browse repository at this point
Copy the full SHA e0a12b2View commit details -
soc: apple: rtkit: Export non-devm init/free functions
While we normally encourage devm usage by drivers, some consumers (and in particular the upcoming Rust abstractions) might want to manually manage memory. Export the raw functions to make this possible. Signed-off-by: Asahi Lina <[email protected]> Reviewed-by: Sven Peter <[email protected]> Reviewed-by: Eric Curtin <[email protected]> Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 29506b4 - Browse repository at this point
Copy the full SHA 29506b4View commit details
Commits on Mar 19, 2023
-
arm64: dts: apple: Add keyboard alias & layout props for t8112 laptops
Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c7dd93e - Browse repository at this point
Copy the full SHA c7dd93eView commit details -
drm/asahi: Increase GPU FW garbage threshold to 16MiB
This should significantly reduce overhead for submission-heavy workloads. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bbe7daa - Browse repository at this point
Copy the full SHA bbe7daaView commit details -
drm/scheduler: Fix race in drm_sched_entity_push_job()
After a job is pushed into the queue, it is owned by the scheduler core and may be freed at any time, so we can't write nor read the submit timestamp after that point. Fixes oopses observed with the drm/asahi driver, found with kASAN. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1dcbf89 - Browse repository at this point
Copy the full SHA 1dcbf89View commit details -
drm/asahi: Identify vertex attachment list
This needs to go into the UAPI... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1731caf - Browse repository at this point
Copy the full SHA 1731cafView commit details -
drm/asahi: Track event sequences properly
Looks like these fields of the commands count events (actual GPU commands), not work commands. The previous implementation was mixing these things up... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d45127e - Browse repository at this point
Copy the full SHA d45127eView commit details -
drm/asahi: Fix compute stats size (maybe)
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 88cf062 - Browse repository at this point
Copy the full SHA 88cf062View commit details -
drm/asahi: Identify no_preemption flag
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d605918 - Browse repository at this point
Copy the full SHA d605918View commit details -
dockchannel-hid: Use DT data for M2 keyboard types
It looks like the keyboard type field is not reliable, so we need to pull this data from the device tree based on kblayout... Requires a m1n1 change. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76d0ff1 - Browse repository at this point
Copy the full SHA 76d0ff1View commit details -
dockchannel-hid: Add device-link dependency on RTKit helper device
This fixes timeouts if the dockchannel-hid driver probes significantly before rtkit-helper, and MTP has already been initialized by the bootloader. Signed-off-by: Hector Martin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 66baae1 - Browse repository at this point
Copy the full SHA 66baae1View commit details -
HID: transport: spi: Check status message after transmits
Probably pointless but might be helpful to debug issues. Gets rid of 'spi_hid_apple_status_ok' is unused compiler warning. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf7d654 - Browse repository at this point
Copy the full SHA cf7d654View commit details -
HID: magicmouse: Add .reset_resume for SPI trackpads
The trackpad has to request multi touch reports during resume. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 199fadc - Browse repository at this point
Copy the full SHA 199fadcView commit details -
HID: transport: spi: Add suspend support
Working suspend and resume. The keyboard can not yet used as wakeup source. Most likely caused by missing irq_set_wake support in the gpio/pinctrl driver. Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1417c4d - Browse repository at this point
Copy the full SHA 1417c4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 275e03f - Browse repository at this point
Copy the full SHA 275e03fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f43ae20 - Browse repository at this point
Copy the full SHA f43ae20View commit details -
Configuration menu - View commit details
-
Copy full SHA for cbcdaa3 - Browse repository at this point
Copy the full SHA cbcdaa3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d1e49f1 - Browse repository at this point
Copy the full SHA d1e49f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae253cc - Browse repository at this point
Copy the full SHA ae253ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4387d5c - Browse repository at this point
Copy the full SHA 4387d5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dfb126 - Browse repository at this point
Copy the full SHA 8dfb126View commit details -
Configuration menu - View commit details
-
Copy full SHA for aaa3d06 - Browse repository at this point
Copy the full SHA aaa3d06View commit details -
Configuration menu - View commit details
-
Copy full SHA for 94bfb1a - Browse repository at this point
Copy the full SHA 94bfb1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 62e9d25 - Browse repository at this point
Copy the full SHA 62e9d25View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18ca535 - Browse repository at this point
Copy the full SHA 18ca535View commit details -
Configuration menu - View commit details
-
Copy full SHA for d7e84e3 - Browse repository at this point
Copy the full SHA d7e84e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab4379c - Browse repository at this point
Copy the full SHA ab4379cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a53d45 - Browse repository at this point
Copy the full SHA 9a53d45View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b153cf - Browse repository at this point
Copy the full SHA 7b153cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for ba41e8e - Browse repository at this point
Copy the full SHA ba41e8eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b4187b0 - Browse repository at this point
Copy the full SHA b4187b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for b2f59a4 - Browse repository at this point
Copy the full SHA b2f59a4View commit details
Commits on Mar 21, 2023
-
drm/asahi: Identify and set barrier_type field
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a610c43 - Browse repository at this point
Copy the full SHA a610c43View commit details -
Configuration menu - View commit details
-
Copy full SHA for 400cb96 - Browse repository at this point
Copy the full SHA 400cb96View commit details -
arm64: dts: apple: HACK: Make pmp PD always on
Looks like we have another race condition... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bebe37f - Browse repository at this point
Copy the full SHA bebe37fView commit details -
This is not safe but it should work... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 61599c1 - Browse repository at this point
Copy the full SHA 61599c1View commit details
Commits on Mar 22, 2023
-
drm/asahi: Align GEM object sizes to the UAT page size
Makes sure object sizes are 16K aligned on 4K kernels. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cbc8807 - Browse repository at this point
Copy the full SHA cbc8807View commit details -
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c15ef6a - Browse repository at this point
Copy the full SHA c15ef6aView commit details -
drm/apple: Align buffers to 16K page size
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0bc60d2 - Browse repository at this point
Copy the full SHA 0bc60d2View commit details -
drm/asahi: Make multi-page TLB invals use the CPU page size.
This is just a guess, but worst case we over-invalidate which is better than under-invalidating. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4de60ff - Browse repository at this point
Copy the full SHA 4de60ffView commit details -
drm/asahi: Add a flag to panic (oops) on GPU crashes
This is useful so the driver won't try to abort everything, which leaves memory mostly untouched so it can be inspected from the hypervisor. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 38a6040 - Browse repository at this point
Copy the full SHA 38a6040View commit details -
Configuration menu - View commit details
-
Copy full SHA for 56cd037 - Browse repository at this point
Copy the full SHA 56cd037View commit details
Commits on Mar 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b949ab7 - Browse repository at this point
Copy the full SHA b949ab7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19c4d68 - Browse repository at this point
Copy the full SHA 19c4d68View commit details -
drm/asahi: xarray & drm::file API updates
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 788bde6 - Browse repository at this point
Copy the full SHA 788bde6View commit details
Commits on Mar 29, 2023
-
This crate mirrors the `bindings` crate, but will contain only UAPI bindings. Unlike the bindings crate, drivers may directly use this crate if they have to interface with userspace. In the future, we would also like to add additional checks to ensure that all types exposed by this crate satisfy UAPI-safety guarantees (that is, they are safely castable to/from a "bag of bits"). Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 543d090 - Browse repository at this point
Copy the full SHA 543d090View commit details -
rust: ioctl: Move to the uapi crate
Now that we have the uapi crate, this abstraction can use that instead of bindings. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eacbab0 - Browse repository at this point
Copy the full SHA eacbab0View commit details -
rust: drm: ioctl: Move to uapi crate
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a925167 - Browse repository at this point
Copy the full SHA a925167View commit details -
rust: Move asahi_drm bindings to uapi crate
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2336c0e - Browse repository at this point
Copy the full SHA 2336c0eView commit details -
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 334bd1f - Browse repository at this point
Copy the full SHA 334bd1fView commit details
Commits on Apr 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d91817e - Browse repository at this point
Copy the full SHA d91817eView commit details -
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0cc3ada - Browse repository at this point
Copy the full SHA 0cc3adaView commit details -
drm/scheduler: Fix UAF in drm_sched_fence_get_timeline_name
A signaled scheduler fence can outlive its scheduler, since fences are independencly reference counted. Therefore, we can't reference the scheduler in the get_timeline_name() implementation. Fixes oopses on `cat /sys/kernel/debug/dma_buf/bufinfo` when shared dma-bufs reference fences from GPU schedulers that no longer exist. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1d97ab3 - Browse repository at this point
Copy the full SHA 1d97ab3View commit details -
drm/asahi: workqueue: Panic on context inval timeouts if requested
Treat this like a GPU firmware crash, since it's at the very least a deadlock and a bad place to be in... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a195a93 - Browse repository at this point
Copy the full SHA a195a93View commit details -
drm/asahi: workqueue: Keep a Device reference here too
We need this to offload freeing completed work to the global GPU manager, since doing it in the event handler context is a recipe for deadlocks if the GPU faults. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b332914 - Browse repository at this point
Copy the full SHA b332914View commit details -
drm/asahi: Drop completed work asynchronously
If we drop work in the main event completion thread, we can deadlock when we try to invalidate GPU contexts if the firmware is stuck. Instead, stash completed work in the global GPU manager and free it whenever we allocate anything. In the future this should move to a dedicated cleanup thread or something like that... Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b89724 - Browse repository at this point
Copy the full SHA 4b89724View commit details -
drm/asahi: Also free unused GPU contexts asynchronously
Since workqueues get freed in the event thread, that can drop the GpuContext there and deadlock when the firmware halts. Delegate it to the GpuManager too. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1ee90e2 - Browse repository at this point
Copy the full SHA 1ee90e2View commit details -
drm/asahi: queue: Drop redundant mutex around Buffer
Buffer is already internally locked. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8865e09 - Browse repository at this point
Copy the full SHA 8865e09View commit details -
drm/asahi: workqueue: Hold a Buffer reference in GpuContextData
It looks like the firmware can clean up currently mapped buffers at any arbitrary time. Let's assume this is cleaned up by context inval (which is the only explicit inval macOS does). Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 742f176 - Browse repository at this point
Copy the full SHA 742f176View commit details
Commits on Apr 6, 2023
-
drm/asahi: Fail params requests if the GPU is crashed
This should make Mesa fail the driver load and fall back to software rendering early. Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f749073 - Browse repository at this point
Copy the full SHA f749073View commit details
Commits on Apr 7, 2023
-
I don't know how to fix drm_sched.
Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ff248d3 - Browse repository at this point
Copy the full SHA ff248d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 745b345 - Browse repository at this point
Copy the full SHA 745b345View commit details -
drm/asahi: Identify more Render fields & update to UAPI 10007
Also set the large_tib flag properly (implied from tib size for now, not sure if this should be a separate flag?) Signed-off-by: Asahi Lina <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ec153d7 - Browse repository at this point
Copy the full SHA ec153d7View commit details
Commits on Apr 11, 2023
-
fixup! drm/asahi: Add the Asahi driver for Apple AGX GPUs
Signed-off-by: Janne Grunau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5339dcb - Browse repository at this point
Copy the full SHA 5339dcbView commit details