Skip to content

Commit 2debe0e

Browse files
Timur Kristófalexdeucher
authored andcommitted
drm/amd/display: Add DCE BIOS_SCRATCH_0 register
The BIOS uses this register to write the results of the DAC_LoadDetection command, so we'll need to read this in order to make DAC load detection work. As a reference, I used the mmBIOS_SCRATCH_0 definition from the amdgpu legacy display code. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent c4f3f11 commit 2debe0e

7 files changed

Lines changed: 12 additions & 0 deletions

File tree

drivers/gpu/drm/amd/display/dc/dc_bios_types.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ struct dc_vbios_funcs {
168168
};
169169

170170
struct bios_registers {
171+
uint32_t BIOS_SCRATCH_0;
171172
uint32_t BIOS_SCRATCH_3;
172173
uint32_t BIOS_SCRATCH_6;
173174
};

drivers/gpu/drm/amd/display/dc/resource/dce100/dce100_resource.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
#endif
7979

8080
#ifndef mmBIOS_SCRATCH_2
81+
#define mmBIOS_SCRATCH_0 0x05C9
8182
#define mmBIOS_SCRATCH_2 0x05CB
8283
#define mmBIOS_SCRATCH_3 0x05CC
8384
#define mmBIOS_SCRATCH_6 0x05CF
@@ -369,6 +370,7 @@ static const struct dce_abm_mask abm_mask = {
369370
#define DCFE_MEM_PWR_CTRL_REG_BASE 0x1b03
370371

371372
static const struct bios_registers bios_regs = {
373+
.BIOS_SCRATCH_0 = mmBIOS_SCRATCH_0,
372374
.BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
373375
.BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
374376
};

drivers/gpu/drm/amd/display/dc/resource/dce110/dce110_resource.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
#endif
8383

8484
#ifndef mmBIOS_SCRATCH_2
85+
#define mmBIOS_SCRATCH_0 0x05C9
8586
#define mmBIOS_SCRATCH_2 0x05CB
8687
#define mmBIOS_SCRATCH_3 0x05CC
8788
#define mmBIOS_SCRATCH_6 0x05CF
@@ -377,6 +378,7 @@ static const struct dce110_clk_src_mask cs_mask = {
377378
};
378379

379380
static const struct bios_registers bios_regs = {
381+
.BIOS_SCRATCH_0 = mmBIOS_SCRATCH_0,
380382
.BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
381383
.BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
382384
};

drivers/gpu/drm/amd/display/dc/resource/dce112/dce112_resource.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
#endif
7777

7878
#ifndef mmBIOS_SCRATCH_2
79+
#define mmBIOS_SCRATCH_0 0x05C9
7980
#define mmBIOS_SCRATCH_2 0x05CB
8081
#define mmBIOS_SCRATCH_3 0x05CC
8182
#define mmBIOS_SCRATCH_6 0x05CF
@@ -385,6 +386,7 @@ static const struct dce110_clk_src_mask cs_mask = {
385386
};
386387

387388
static const struct bios_registers bios_regs = {
389+
.BIOS_SCRATCH_0 = mmBIOS_SCRATCH_0,
388390
.BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
389391
.BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
390392
};

drivers/gpu/drm/amd/display/dc/resource/dce120/dce120_resource.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,7 @@ static struct dce_i2c_hw *dce120_i2c_hw_create(
491491
return dce_i2c_hw;
492492
}
493493
static const struct bios_registers bios_regs = {
494+
.BIOS_SCRATCH_0 = mmBIOS_SCRATCH_0 + NBIO_BASE(mmBIOS_SCRATCH_0_BASE_IDX),
494495
.BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3 + NBIO_BASE(mmBIOS_SCRATCH_3_BASE_IDX),
495496
.BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6 + NBIO_BASE(mmBIOS_SCRATCH_6_BASE_IDX)
496497
};

drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080

8181

8282
#ifndef mmBIOS_SCRATCH_2
83+
#define mmBIOS_SCRATCH_0 0x05C9
8384
#define mmBIOS_SCRATCH_2 0x05CB
8485
#define mmBIOS_SCRATCH_3 0x05CC
8586
#define mmBIOS_SCRATCH_6 0x05CF
@@ -368,6 +369,7 @@ static const struct dce110_clk_src_mask cs_mask = {
368369
};
369370

370371
static const struct bios_registers bios_regs = {
372+
.BIOS_SCRATCH_0 = mmBIOS_SCRATCH_0,
371373
.BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
372374
.BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
373375
};

drivers/gpu/drm/amd/display/dc/resource/dce80/dce80_resource.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878

7979

8080
#ifndef mmBIOS_SCRATCH_2
81+
#define mmBIOS_SCRATCH_0 0x05C9
8182
#define mmBIOS_SCRATCH_2 0x05CB
8283
#define mmBIOS_SCRATCH_3 0x05CC
8384
#define mmBIOS_SCRATCH_6 0x05CF
@@ -369,6 +370,7 @@ static const struct dce110_clk_src_mask cs_mask = {
369370
};
370371

371372
static const struct bios_registers bios_regs = {
373+
.BIOS_SCRATCH_0 = mmBIOS_SCRATCH_0,
372374
.BIOS_SCRATCH_3 = mmBIOS_SCRATCH_3,
373375
.BIOS_SCRATCH_6 = mmBIOS_SCRATCH_6
374376
};

0 commit comments

Comments
 (0)