| From 8d585e0f09a15097fe4addca82c47c238f5d0b3d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 13 Jan 2021 17:12:52 +1000 |
| Subject: drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields |
| |
| From: Ben Skeggs <bskeggs@redhat.com> |
| |
| [ Upstream commit ba6e9ab0fcf3d76e3952deb12b5f993991621d9c ] |
| |
| Noticed while debugging GA102. |
| |
| Signed-off-by: Ben Skeggs <bskeggs@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c |
| index edb6148cbca04..d0e80ad526845 100644 |
| --- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c |
| +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c |
| @@ -33,7 +33,7 @@ static void |
| gm200_i2c_aux_fini(struct gm200_i2c_aux *aux) |
| { |
| struct nvkm_device *device = aux->base.pad->i2c->subdev.device; |
| - nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00310000, 0x00000000); |
| + nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00710000, 0x00000000); |
| } |
| |
| static int |
| @@ -54,10 +54,10 @@ gm200_i2c_aux_init(struct gm200_i2c_aux *aux) |
| AUX_ERR(&aux->base, "begin idle timeout %08x", ctrl); |
| return -EBUSY; |
| } |
| - } while (ctrl & 0x03010000); |
| + } while (ctrl & 0x07010000); |
| |
| /* set some magic, and wait up to 1ms for it to appear */ |
| - nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00300000, ureq); |
| + nvkm_mask(device, 0x00d954 + (aux->ch * 0x50), 0x00700000, ureq); |
| timeout = 1000; |
| do { |
| ctrl = nvkm_rd32(device, 0x00d954 + (aux->ch * 0x50)); |
| @@ -67,7 +67,7 @@ gm200_i2c_aux_init(struct gm200_i2c_aux *aux) |
| gm200_i2c_aux_fini(aux); |
| return -EBUSY; |
| } |
| - } while ((ctrl & 0x03000000) != urep); |
| + } while ((ctrl & 0x07000000) != urep); |
| |
| return 0; |
| } |
| -- |
| 2.27.0 |
| |