Skip to content

Commit cc831b9

Browse files
Evan Quanalexdeucher
authored andcommitted
drm/amd/powerplay: ack the SMUToHost interrupt on receive V2
There will be no further interrupt without proper ack for current one. V2: fix typo to really set ACK bit only Signed-off-by: Evan Quan <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 9271dfd commit cc831b9

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/gpu/drm/amd/powerplay/smu_v11_0.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1561,6 +1561,7 @@ static int smu_v11_0_irq_process(struct amdgpu_device *adev,
15611561
* events for SMCToHost interrupt.
15621562
*/
15631563
uint32_t ctxid = entry->src_data[0];
1564+
uint32_t data;
15641565

15651566
if (client_id == SOC15_IH_CLIENTID_THM) {
15661567
switch (src_id) {
@@ -1590,6 +1591,11 @@ static int smu_v11_0_irq_process(struct amdgpu_device *adev,
15901591
orderly_poweroff(true);
15911592
} else if (client_id == SOC15_IH_CLIENTID_MP1) {
15921593
if (src_id == 0xfe) {
1594+
/* ACK SMUToHost interrupt */
1595+
data = RREG32_SOC15(MP1, 0, mmMP1_SMN_IH_SW_INT_CTRL);
1596+
data = REG_SET_FIELD(data, MP1_SMN_IH_SW_INT_CTRL, INT_ACK, 1);
1597+
WREG32_SOC15(MP1, 0, mmMP1_SMN_IH_SW_INT_CTRL, data);
1598+
15931599
switch (ctxid) {
15941600
case 0x3:
15951601
dev_dbg(adev->dev, "Switched to AC mode!\n");

0 commit comments

Comments
 (0)