Skip to content

Commit 6657af9

Browse files
hoshinolinamarcan
authored andcommitted
drm/asahi: hw.t602x: Fixes for t6022
Signed-off-by: Asahi Lina <lina@asahilina.net>
1 parent 87efa8e commit 6657af9

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

drivers/gpu/drm/asahi/hw/mod.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ pub(crate) enum GpuCore {
7171
G14G = 15,
7272
G14S = 16,
7373
G14C = 17,
74-
// G15M = 18,
75-
// G15P_AGX2 = 19,
76-
// G15P = 20,
74+
G14D = 18, // Split out, unlike G13D
7775
}
7876

7977
/// GPU revision ID. Note: Part of the firmware ABI.

drivers/gpu/drm/asahi/hw/t602x.rs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ const fn iomaps(chip_id: u32, mcc_count: usize) -> [Option<IOMapping>; 24] {
3737
Some(IOMapping::new(0x28e3d0000, 0x4000, 0x4000, true)), // ?
3838
Some(IOMapping::new(0x28e3c0000, 0x4000, 0x4000, false)), // ?
3939
Some(IOMapping::new(0x28e3d8000, 0x4000, 0x4000, true)), // ?
40-
Some(IOMapping::new(0x404eac000, 0x4000, 0x4000, true)), // ?
40+
Some(IOMapping::new(
41+
0x404eac000,
42+
if mcc_count > 8 { 0x8000 } else { 0x4000 },
43+
0x4000,
44+
true,
45+
)), // ?
4146
None,
4247
None,
4348
]
@@ -48,7 +53,7 @@ pub(crate) const HWCONFIG_T6022: super::HwConfig = HwConfig {
4853
chip_id: 0x6022,
4954
gpu_gen: GpuGen::G14,
5055
gpu_variant: GpuVariant::D,
51-
gpu_core: GpuCore::G14C,
56+
gpu_core: GpuCore::G14D,
5257
gpu_feat_compat: 0,
5358
gpu_feat_incompat: feat::incompat::MANDATORY_ZS_COMPRESSION,
5459

@@ -109,7 +114,7 @@ pub(crate) const HWCONFIG_T6022: super::HwConfig = HwConfig {
109114
125, 125, 125, 125, 125, 125, 125, 125, 7500, 125, 125, 125, 125, 125, 125, 125,
110115
],
111116
unk_hws2_0: 700,
112-
unk_hws2_4: Some(f32!([1.0, 0.8, 0.2, 0.9, 0.1, 0.25, 0.7, 0.9])),
117+
unk_hws2_4: Some(f32!([1.0, 0.8, 0.2, 0.9, 0.1, 0.25, 0.5, 0.9])),
113118
unk_hws2_24: 6,
114119
global_unk_54: 4000,
115120
sram_k: f32!(1.02),
@@ -137,8 +142,9 @@ pub(crate) const HWCONFIG_T6022: super::HwConfig = HwConfig {
137142
0, 2, 2, 1, 1, 90, 75, 1, 1, 1, 2, 90, 75, 1, 1, 1, 2, 90, 75, 1, 1, 1, 1, 90, 75, 1, 1,
138143
]),
139144
has_csafr: true,
140-
fast_sensor_mask: [0x40005000c000d00, 0x40005000c000d00],
141-
fast_sensor_mask_alt: [0x140015001d001d00, 0x140015001d001d00],
145+
fast_sensor_mask: [0x40005000c000d00, 0xd000c0005000400],
146+
// Apple typo? Should probably be 0x140015001c001d00
147+
fast_sensor_mask_alt: [0x140015001d001d00, 0x1d001c0015001400],
142148
fast_die0_sensor_present: 0, // Unused
143149
io_mappings: &iomaps(0x6022, 16),
144150
sram_base: Some(0x404d60000),
@@ -152,6 +158,7 @@ pub(crate) const HWCONFIG_T6021: super::HwConfig = HwConfig {
152158

153159
num_dies: 1,
154160
max_num_clusters: 4,
161+
unk_hws2_4: Some(f32!([1.0, 0.8, 0.2, 0.9, 0.1, 0.25, 0.7, 0.9])),
155162
fast_sensor_mask: [0x40005000c000d00, 0],
156163
fast_sensor_mask_alt: [0x140015001d001d00, 0],
157164
io_mappings: &iomaps(0x6021, 8),

0 commit comments

Comments
 (0)