Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
019279b
phy: apple: atc: pixel clock for DP-over-Thunderbolt tunnels on t8103
iconidentify Sep 23, 2026
6f787d4
mux: apple-display-crossbar: link up/down helpers for tunnel outputs
iconidentify Sep 23, 2026
4a7fd72
thunderbolt: DP tunnels from Apple silicon host DP IN adapters
iconidentify Sep 23, 2026
ceba580
thunderbolt: apple: bring up DP IN adapters for display tunnels (t8103)
iconidentify Sep 23, 2026
fead9c8
drm/apple: drive Thunderbolt DP tunnels through DCP (t8103)
iconidentify Sep 23, 2026
57b3f3a
PCI: apple: enumerate Thunderbolt PCIe on t8103
iconidentify Sep 23, 2026
6170818
PCI: apple: finish tunneled IOMMU commands before the port clock stops
iconidentify Sep 23, 2026
14cc7c9
drm/apple: re-read a placeholder Type-C EDID once
iconidentify Sep 23, 2026
6f0468f
arm64: dts: apple: t602x: add USB4 tunnel mux-control entries
oegv Sep 24, 2026
45c34d5
soc: apple: add DisplayPort tunnel routing interface
oegv Sep 24, 2026
81eee7b
thunderbolt: add NHI hooks and Apple host DP tunnel support
oegv Sep 24, 2026
f8cec39
thunderbolt: apple: route Thunderbolt DP tunnels to a display pipeline
oegv Sep 24, 2026
cc895f2
drm/apple: add timeout-aware AFK command variants
oegv Sep 24, 2026
0daeb8e
drm/apple: route Thunderbolt DP tunnels through the Type-C crossbar
oegv Sep 24, 2026
e557722
drm/apple: teach the DPTX endpoint about USB4 tunnel routes
oegv Sep 24, 2026
85fbf65
mux: apple-display-crossbar: route T602X DPIN0/DPIN1 through the mux
oegv Sep 24, 2026
85d6d84
phy: apple: atc: add DisplayPort tunnel clock support for USB4/TBT
oegv Sep 24, 2026
69893ec
thunderbolt: apple: retry the ACIO reset handshake on resume-time con…
oegv Sep 25, 2026
8f576eb
usb: typec: tipd: auto-recover the display after standby, no replug n…
oegv Sep 25, 2026
cf5f7d1
Merge M2 Pro Thunderbolt display and resume support with the M1 series
iconidentify Sep 27, 2026
67fdc27
Merge current aurora-wip into the combined Thunderbolt series
iconidentify Sep 27, 2026
eda8312
thunderbolt: release host DP state before adapter and domain teardown
iconidentify Sep 27, 2026
de8d489
usb: typec: tipd: serialize post-suspend port revalidation
iconidentify Sep 27, 2026
52f4345
drm/apple: keep the j416s tunnel hotplug policy scoped to M2 Pro
iconidentify Sep 27, 2026
36d52e1
thunderbolt: apple: protect diagnostics and apply host DP credits
iconidentify Sep 27, 2026
55d102b
drm/apple: drain display retries before stopping firmware endpoints
iconidentify Sep 27, 2026
df2f14f
PCI: apple: preserve failed tunnel recovery and optional DART builds
iconidentify Sep 27, 2026
90927e2
phy: apple: atc: allow owned T602X tunnel clocks to change rate
iconidentify Sep 27, 2026
4d1ab9b
drm/apple: preserve unbound pipeline ranking for j416s
iconidentify Sep 27, 2026
8478ae0
iommu/apple-dart: restore legacy locked display domain handoff
iconidentify Sep 27, 2026
0db6bd7
thunderbolt: preserve PCIe host ownership across system resume
iconidentify Sep 27, 2026
c777985
PCI: apple: correct M1 tunneled port restart sequencing
iconidentify Sep 27, 2026
7bc6d86
PCI: apple: preserve tunneled D0 policy after rescan
iconidentify Sep 27, 2026
9afbe6e
PCI: apple: propagate tunneled cold initialization errors
iconidentify Sep 27, 2026
c9846a5
PCI: apple: unwind host registration before resource cleanup
iconidentify Sep 27, 2026
5a7b76f
iommu/apple-dart: enforce command gating during tunnel teardown
iconidentify Sep 27, 2026
a5af639
thunderbolt: scope native PCIe ownership to host tunnels
iconidentify Sep 27, 2026
0a6eff6
thunderbolt: apple: drain PCIe work before removing the domain
iconidentify Sep 27, 2026
1fc819f
usb: typec: tipd: preserve retry after USB4 switch failure
iconidentify Sep 27, 2026
6a109bc
phy: apple: atc: propagate pixel clock command failures
iconidentify Sep 27, 2026
fc42184
drm/apple: retain AFK receive payload until dispatch completes
iconidentify Sep 27, 2026
a8d46a2
thunderbolt: describe register handling and ownership directly
iconidentify Sep 27, 2026
65e3e0e
iommu/apple-dart: report tunnel command-resume failures
iconidentify Sep 27, 2026
64dfa24
PCI: apple: describe tunneled PM ordering by Linux dependencies
iconidentify Sep 27, 2026
fb40feb
drm/apple: preserve mode invalidation across hotplug and modeset
iconidentify Sep 27, 2026
27b6c41
phy: apple: describe tunnel clock and crossbar state directly
iconidentify Sep 27, 2026
6f0c260
phy: apple: atc: invalidate the cached rate before reprogramming
iconidentify Sep 27, 2026
25261a4
thunderbolt: finish DPRX work before releasing router ports
iconidentify Sep 27, 2026
7b690ad
thunderbolt: apple: report rejected live cable transitions
iconidentify Sep 27, 2026
5b35733
thunderbolt: test DPRX cancellation with the domain lock held
iconidentify Sep 27, 2026
5837706
drm/apple: pin DP service owners before recycling retired AFK slots
iconidentify Sep 27, 2026
6386181
drm/apple: preallocate the AFK receive dispatch buffer
iconidentify Sep 27, 2026
3be32e8
drm/apple: order AFK entries before publishing the producer position
iconidentify Sep 27, 2026
176e737
drm/apple: copy the complete DP service EDID response
iconidentify Sep 27, 2026
ce341d4
drm/apple: bound AFK debug requests and reject partial user copies
iconidentify Sep 27, 2026
34c204d
drm/apple: free the temporary audio object reply buffer
iconidentify Sep 27, 2026
3841d47
drm/apple: report audio query failures without reading unset sizes
iconidentify Sep 27, 2026
615be50
thunderbolt: restore M1 tunneled PCIe state and recover late link loss
iconidentify Sep 28, 2026
75b0123
PCI: apple: resume tunneled functions as if from D3cold
iconidentify Sep 28, 2026
5c374fe
thunderbolt: keep routers awake across system sleep on Apple hosts
iconidentify Sep 28, 2026
d906a28
thunderbolt: restore DP resources after resume when routers stayed awake
iconidentify Sep 28, 2026
c6c9f02
thunderbolt: keep M1 PCIe tunnels up through suspend-to-idle
iconidentify Sep 28, 2026
14efce6
thunderbolt: keep DP tunnels through suspend-to-idle with kept tunnels
iconidentify Sep 28, 2026
b8623d5
drm/apple: keep the Type-C cable state across system sleep
iconidentify Sep 28, 2026
be6e4f6
drm/apple: recover Type-C outputs whose swaps DCP drops
iconidentify Sep 28, 2026
28f280d
usb: dwc3: apple: leave the USB2 host role selection to xHCI
iconidentify Sep 28, 2026
65eb108
usb: dwc3: apple: test the USB2 PHY mode choice with KUnit
iconidentify Sep 28, 2026
d04e476
arm64: dts: apple: t8103: alias the USB4 controllers for m1n1
iconidentify Sep 28, 2026
749ac04
arm64: dts: apple: t602x: alias the USB4 controllers for m1n1
iconidentify Sep 28, 2026
b9a6a94
arm64: dts: apple: t8112: alias USB4 for the 1.6.1 bootloader
iconidentify Sep 28, 2026
46b9e80
phy: apple: atc: power the AUSPLL down when tearing the DP tunnel clo…
oegv Sep 27, 2026
508384b
dt-bindings: thunderbolt: apple: describe the ACIO PCIe adapter
iconidentify Sep 29, 2026
b4e5e4c
Merge current aurora-wip into the combined Thunderbolt series
iconidentify Sep 30, 2026
7cc3216
thunderbolt: apple: drive t8103 Thunderbolt displays by default
iconidentify Oct 1, 2026
3fcb382
soc: apple: dp-tunnel: drive Thunderbolt displays on every M2 Pro and…
iconidentify Oct 1, 2026
c0a6a64
drm/apple: preserve Type-C routes across blanking and detach
DjDeveloperr Sep 27, 2026
0c851b1
thunderbolt: apple: rearm the display route for a new DP tunnel
DjDeveloperr Sep 25, 2026
0294db6
drm/apple: reserve the hybrid DCP for a Thunderbolt DP tunnel
DjDeveloperr Sep 25, 2026
82682e7
drm/apple: drive two dock DP tunnels independently
DjDeveloperr Sep 26, 2026
b203d11
thunderbolt: account live USB3 use on Apple hosts without BW allocation
DjDeveloperr Sep 26, 2026
8580f66
arm64: configs: asahi: build the USB4 connection manager and Apple NHI
DjDeveloperr Sep 27, 2026
3a0d5bc
mux: apple-display-crossbar: let a DP IN output be pointed at its sou…
cb2206 Sep 30, 2026
7131c08
phy: apple: atc: run the t8103 tunnel clock sequence on t600x
cb2206 Sep 30, 2026
dcb972b
drm/apple: prepare crossbar and PHY before DCP hears about a tunneled…
cb2206 Sep 30, 2026
ef276c0
thunderbolt: apple: drive DP tunnels on t6000 and t6001
cb2206 Sep 30, 2026
b5327f6
drm/apple: a late clear swap at power-off is not a DCP crash
cb2206 Sep 30, 2026
9236263
drm/apple: expose Type-C display connectors as DisplayPort
rryan Sep 27, 2026
9470269
drm/apple: Keep dual-stream Type-C possible_crtcs fixed
rryan Sep 28, 2026
99a5545
Merge aurora-wip 3bb0a6104a11 into tb-dp-tunnel-t8103
iconidentify Oct 2, 2026
581d7e3
drm/apple: route Type-C displays in compositor pairing order
Oct 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7601,6 +7601,43 @@ Kernel parameters
See Documentation/admin-guide/mm/transhuge.rst for more
details.

thunderbolt.dp_video_counter=
[HW,ARM64]
Format: <bool>
Enable diagnostic counter 0 on the DP video path's
host and downstream ingress hops on the right-hand
USB-C route of the Apple M2 Pro and M2 Max laptops. Read counters through Thunderbolt
debugfs. This is a load-time setting. Default: false.

thunderbolt_apple.dp_display=
[HW,ARM64]
Format: <bool>
Drive displays behind Thunderbolt DisplayPort tunnels
on Apple t8103 and t600x (M1, M1 Pro and M1 Max):
route a display pipeline to the host router's DP IN
adapter whenever the connection manager sets up a DP
tunnel. Set to 0 to leave displays behind a dock dark.
Default: true

thunderbolt_apple.dpin_aux=
[HW,ARM64]
Format: <bool>
Pulse the experimental DP IN analog start control on
the Apple M2 Pro and M2 Max laptops at the next DP
tunnel activation. Writes to
the module parameter do not access a live controller.
Default: false (leave analog registers alone until
DPRX negotiation finishes or times out).

thunderbolt_apple.dpin_mode_value=
[HW,ARM64]
Format: <uint> (0-15)
Experimental DP IN MODE_A/MODE_B value on the Apple
M2 Pro and M2 Max laptops.
Sampled for each adapter activation; values above 15
make activation fail. Default: 8. The value is empirical
and does not select the negotiated DisplayPort rate.

tlbi= [X86-64]
Format: {ipi}
ipi: switch to IPI-based TLB flushing
Expand Down
50 changes: 49 additions & 1 deletion Documentation/devicetree/bindings/pci/apple,pcie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ description: |
distributed over the root ports as the OS sees fit by programming
the PCIe controller's port registers.

$defs:
tunable:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
items:
items:
- description: Register offset
- description: Mask of bits to clear
- description: Bits to set
description: Register initialization tuples for one controller region.

properties:
compatible:
oneOf:
Expand Down Expand Up @@ -85,8 +95,34 @@ properties:
power-domains:
maxItems: 1

resets:
description:
Reset of a tunneled (PCIe-C) controller and its DART, for controllers
the kernel initializes itself.
maxItems: 1

dma-coherent: true

apple,pciec-kernel-init:
type: boolean
description: The kernel initializes the tunneled controller from reset.

apple,tunable-rc:
$ref: '#/$defs/tunable'
description: Root-complex register initialization tuples.

apple,tunable-fabric:
$ref: '#/$defs/tunable'
description: Initialization tuples for the fabric register region.

apple,tunable-debug:
$ref: '#/$defs/tunable'
description: Initialization tuples for the debug register region.

apple,tunable-oe-fabric:
$ref: '#/$defs/tunable'
description: Initialization tuples for the oe-fabric register region.

apple,piodma:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Expand All @@ -108,6 +144,10 @@ patternProperties:

interrupt-controller: true

apple,tunable:
$ref: '#/$defs/tunable'
description: Initialization tuples relative to this port's registers.

required:
- interrupt-controller
- "#interrupt-cells"
Expand Down Expand Up @@ -189,14 +229,20 @@ allOf:
- const: fabric
- const: debug
- const: ltssm
- const: intr2axi
- enum: [intr2axi, oe-fabric]
interrupts:
maxItems: 1
ranges:
minItems: 3
maxItems: 3
else:
properties:
resets: false
apple,pciec-kernel-init: false
apple,tunable-rc: false
apple,tunable-fabric: false
apple,tunable-debug: false
apple,tunable-oe-fabric: false
ranges:
maxItems: 2
allOf:
Expand Down Expand Up @@ -239,6 +285,8 @@ allOf:
- const: phy3
patternProperties:
"^pci@":
properties:
apple,tunable: false
required:
- reset-gpios

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,21 @@ properties:
- const: apple,t8103-usb4-acio

reg:
minItems: 2
items:
- description: Root complex and co-processor control registers
- description: SRAM used for communication with the co-processor
- description: |
PCIe adapter configuration space of the USB4 router. Present where
the root complex exposes the adapter separately, so that the tunnel
can be configured before a PCIe-C link is brought up.

reg-names:
minItems: 2
items:
- const: rc
- const: sram
- const: pcie-adapter

mboxes:
maxItems: 1
Expand All @@ -66,7 +73,11 @@ properties:
apple,pcie-tunnel is present, the fourth domain powers its PCIe-C
controller and is enabled only after the USB4 PCIe tunnel is active.

thunderbolt-switch: true
thunderbolt-switch:
type: boolean
description:
Marks this root complex as the USB4/Thunderbolt switch that the Type-C
PD controller hands cable information to, so the Type-C mux can find it.

apple,pcie-tunnel:
$ref: /schemas/types.yaml#/definitions/phandle
Expand All @@ -86,6 +97,18 @@ properties:
Tree, converted by the bootloader and used to configure the root complex
after the co-processor has booted.

apple,tunable-pcie-adapter:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
items:
items:
- description: Register offset
- description: Mask of bits to clear
- description: Bits to set
description: |
As apple,tunable-rc, but applied to the PCIe adapter configuration space
named by the pcie-adapter reg entry. Only meaningful where that entry is
present.

'#address-cells':
const: 1

Expand Down
3 changes: 3 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2601,6 +2601,7 @@ F: drivers/i2c/busses/i2c-pasemi-core.c
F: drivers/i2c/busses/i2c-pasemi-platform.c
F: drivers/input/misc/macsmc-input.c
F: drivers/input/touchscreen/apple_z2.c
F: drivers/iommu/apple-dart-test.c
F: drivers/iommu/apple-dart.c
F: drivers/iommu/io-pgtable-dart.c
F: drivers/irqchip/irq-apple-aic.c
Expand All @@ -2619,6 +2620,8 @@ F: drivers/soc/apple/*
F: drivers/spi/spi-apple.c
F: drivers/spmi/spmi-apple-controller.c
F: drivers/thunderbolt/apple.c
F: drivers/usb/dwc3/dwc3-apple-state-test.c
F: drivers/usb/dwc3/dwc3-apple-state.h
F: drivers/usb/dwc3/dwc3-apple.c
F: drivers/usb/typec/tipd/spmi.c
F: drivers/video/backlight/apple_dwi_bl.c
Expand Down
41 changes: 37 additions & 4 deletions arch/arm64/boot/dts/apple/t602x-j414-j416.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,33 @@
disp0_piodma = &disp0_piodma;
keyboard = &keyboard;
sio = &sio;
/* m1n1 writes this machine's Thunderbolt calibration onto these
* aliases. usb4-N-* is current m1n1; usb4_N_* is the 1.6.1 bootloader.
*/
usb4-0-acio = &usb4_0_acio;
usb4-0-nhi = &usb4_0_nhi;
usb4-0-pcie-adapter = &usb4_0_acio;
usb4-0-pcie = &apciec0;
usb4_0_rc = &usb4_0_acio;
usb4_0_nhi = &usb4_0_nhi;
usb4_0_pcie_adapter = &usb4_0_acio;
usb4_0_pcie = &apciec0;
usb4-1-acio = &usb4_1_acio;
usb4-1-nhi = &usb4_1_nhi;
usb4-1-pcie-adapter = &usb4_1_acio;
usb4-1-pcie = &apciec1;
usb4_1_rc = &usb4_1_acio;
usb4_1_nhi = &usb4_1_nhi;
usb4_1_pcie_adapter = &usb4_1_acio;
usb4_1_pcie = &apciec1;
usb4-2-acio = &usb4_2_acio;
usb4-2-nhi = &usb4_2_nhi;
usb4-2-pcie-adapter = &usb4_2_acio;
usb4-2-pcie = &apciec2;
usb4_2_rc = &usb4_2_acio;
usb4_2_nhi = &usb4_2_nhi;
usb4_2_pcie_adapter = &usb4_2_acio;
usb4_2_pcie = &apciec2;
};
};

Expand Down Expand Up @@ -72,8 +99,11 @@
<&atcphy1 PHY_TYPE_DP>, <&atcphy2 PHY_TYPE_DP>;
phy-names = "dp-phy", "typec0", "typec1", "typec2";
mux-controls = <&atcphy3_xbar 0>, <&atcphy0_xbar 0>,
<&atcphy1_xbar 0>, <&atcphy2_xbar 0>;
mux-control-names = "dp-xbar", "typec0", "typec1", "typec2";
<&atcphy1_xbar 0>, <&atcphy2_xbar 0>,
<&atcphy0_xbar 1>, <&atcphy1_xbar 1>,
<&atcphy2_xbar 1>;
mux-control-names = "dp-xbar", "typec0", "typec1", "typec2",
"typec0-usb4", "typec1-usb4", "typec2-usb4";
mux-index = <0>;
apple,dptx-phy = <3>;
apple,typec-mux-indices = <0 0 0>;
Expand Down Expand Up @@ -150,8 +180,11 @@
<&atcphy2 PHY_TYPE_DP>;
phy-names = "typec0", "typec1", "typec2";
mux-controls = <&atcphy0_xbar 0>, <&atcphy1_xbar 0>,
<&atcphy2_xbar 0>;
mux-control-names = "typec0", "typec1", "typec2";
<&atcphy2_xbar 0>,
<&atcphy0_xbar 1>, <&atcphy1_xbar 1>,
<&atcphy2_xbar 1>;
mux-control-names = "typec0", "typec1", "typec2",
"typec0-usb4", "typec1-usb4", "typec2-usb4";
apple,typec-mux-indices = <2 2 2>;
apple,typec-dptx-phys = <0 1 2>;

Expand Down
35 changes: 35 additions & 0 deletions arch/arm64/boot/dts/apple/t602x-j474-j475.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,41 @@
/ {
aliases {
dcpext1 = &dcpext1;
/* Same Thunderbolt aliases as the 14/16-inch boards. This mini
* brings up a fourth controller.
*/
usb4-0-acio = &usb4_0_acio;
usb4-0-nhi = &usb4_0_nhi;
usb4-0-pcie-adapter = &usb4_0_acio;
usb4-0-pcie = &apciec0;
usb4_0_rc = &usb4_0_acio;
usb4_0_nhi = &usb4_0_nhi;
usb4_0_pcie_adapter = &usb4_0_acio;
usb4_0_pcie = &apciec0;
usb4-1-acio = &usb4_1_acio;
usb4-1-nhi = &usb4_1_nhi;
usb4-1-pcie-adapter = &usb4_1_acio;
usb4-1-pcie = &apciec1;
usb4_1_rc = &usb4_1_acio;
usb4_1_nhi = &usb4_1_nhi;
usb4_1_pcie_adapter = &usb4_1_acio;
usb4_1_pcie = &apciec1;
usb4-2-acio = &usb4_2_acio;
usb4-2-nhi = &usb4_2_nhi;
usb4-2-pcie-adapter = &usb4_2_acio;
usb4-2-pcie = &apciec2;
usb4_2_rc = &usb4_2_acio;
usb4_2_nhi = &usb4_2_nhi;
usb4_2_pcie_adapter = &usb4_2_acio;
usb4_2_pcie = &apciec2;
usb4-3-acio = &usb4_3_acio;
usb4-3-nhi = &usb4_3_nhi;
usb4-3-pcie-adapter = &usb4_3_acio;
usb4-3-pcie = &apciec3;
usb4_3_rc = &usb4_3_acio;
usb4_3_nhi = &usb4_3_nhi;
usb4_3_pcie_adapter = &usb4_3_acio;
usb4_3_pcie = &apciec3;
};
};

Expand Down
50 changes: 50 additions & 0 deletions arch/arm64/boot/dts/apple/t8103-pciec-tunables.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/* t8103 Thunderbolt PCIe configuration, shared by both ports.
* Offsets are relative to the region named by each property.
*/
apple,pciec-kernel-init;
apple,tunable-rc =
<0x718 0x7c000 0x0>,
<0x8bc 0x1 0x0>,
<0x78 0x7000 0x0>,
<0x814 0xffffffff 0xf060>;
apple,tunable-fabric =
<0x4 0x1f001f 0x180018>,
<0x8 0x1 0x1>,
<0xc 0x1 0x1>,
<0x10 0x801f 0x4>,
<0x18 0x3ff 0x280>,
<0x44 0x1 0x1>,
<0x94 0x801f 0x4>,
<0x9c 0x801f 0x4>,
<0x20 0x801f 0x4>,
<0x28 0x3f 0x20>,
<0x2c 0x801f 0x4>,
<0x34 0x3f 0x20>,
<0x38 0x801f 0x4>,
<0x40 0x10001 0x10001>,
<0x48 0x1 0x1>,
<0x4c 0x801f 0x4>,
<0x54 0x7f007f 0x4b004b>,
<0x58 0x801f 0x4>,
<0x60 0x801f 0x4>,
<0x68 0x1 0x1>,
<0x6c 0x801f 0x4>,
<0x74 0x1 0x1>,
<0x78 0x801f 0x4>,
<0x84 0x801f 0x4>,
<0x8c 0x1 0x1>,
<0x90 0x1 0x1>,
<0xa4 0x801f 0x4>;
apple,tunable-debug =
<0x1000 0x1 0x0>;
apple,tunable-oe-fabric =
<0x4 0x70007 0x40004>,
<0x8 0x1 0x1>,
<0xc 0x1 0x1>,
<0x10 0x801f 0x4>,
<0x18 0x7f007f 0x450045>,
<0x1c 0x801f 0x4>,
<0x24 0x801f 0x4>,
<0x2c 0x1 0x1>,
<0x30 0x1 0x1>,
<0x34 0x801f 0x4>;
Loading