search for: aux_trace

Displaying 6 results from an estimated 6 matches for "aux_trace".

2019 Apr 09
2
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...uveau/nvkm/subdev/i2c/aux.c index 4c1f547da463..b4e7404fe660 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c @@ -105,9 +105,15 @@ nvkm_i2c_aux_acquire(struct nvkm_i2c_aux *aux) { struct nvkm_i2c_pad *pad = aux->pad; int ret; + AUX_TRACE(aux, "acquire"); mutex_lock(&aux->mutex); - ret = nvkm_i2c_pad_acquire(pad, NVKM_I2C_PAD_AUX); + + if (aux->enabled) + ret = nvkm_i2c_pad_acquire(pad, NVKM_I2C_PAD_AUX); + else + ret = -EIO; + if (ret) mutex_unlock(&aux->mutex); return ret; @@ -145,6 +151,24 @@...
2019 Apr 11
1
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...m/nouveau/nvkm/subdev/i2c/aux.c > > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c > > @@ -105,9 +105,15 @@ nvkm_i2c_aux_acquire(struct nvkm_i2c_aux *aux) > > { > > struct nvkm_i2c_pad *pad = aux->pad; > > int ret; > > + > > AUX_TRACE(aux, "acquire"); > > mutex_lock(&aux->mutex); > > - ret = nvkm_i2c_pad_acquire(pad, NVKM_I2C_PAD_AUX); > > + > > + if (aux->enabled) > > + ret = nvkm_i2c_pad_acquire(pad, NVKM_I2C_PAD_AUX); > > + else &g...
2019 Apr 10
0
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...60 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c > @@ -105,9 +105,15 @@ nvkm_i2c_aux_acquire(struct nvkm_i2c_aux *aux) > { > struct nvkm_i2c_pad *pad = aux->pad; > int ret; > + > AUX_TRACE(aux, "acquire"); > mutex_lock(&aux->mutex); > - ret = nvkm_i2c_pad_acquire(pad, NVKM_I2C_PAD_AUX); > + > + if (aux->enabled) > + ret = nvkm_i2c_pad_acquire(pad, NVKM_I2C_PAD_AUX); > + else > + ret = -EIO;...
2019 Jul 25
3
[PATCH 0/2] drm/nouveau: i2c over DP AUX fixes
This is another attempt at fixing an issue with yes | sensors-detect Causing some machines with nouveau loaded to hang if certain kinds of displays are attached. I've also included one minor fix that I found along the way of troubleshooting this issue. Lyude Paul (2): drm/nouveau: Fix missing elses in g94_i2c_aux_xfer drm/nouveau: Don't retry infinitely when receiving no data on i2c
2019 Jul 25
0
[PATCH 2/2] drm/nouveau: Don't retry infinitely when receiving no data on i2c over AUX
...return ret; + for (retries = 0, cnt = 0; + retries < 32 && !cnt; + retries++) { + cnt = min_t(u8, remaining, 16); + ret = aux->func->xfer(aux, true, cmd, + msg->addr, ptr, &cnt); + if (ret < 0) + goto out; + } + if (!cnt) { + AUX_TRACE(aux, "no data after 32 retries"); + ret = -EIO; + goto out; } ptr += cnt; @@ -64,8 +72,10 @@ nvkm_i2c_aux_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) msg++; } + ret = num; +out: nvkm_i2c_aux_release(aux); - return num; + return ret; } sta...
2018 Jul 16
9
[PATCH 0/5] drm/nouveau: Fix a lot of nasty RPM bugs and deadlocks
This fixes quite a number of runtime PM bugs I found that have been causing some pretty nasty issues such as: - Deadlocking on boot - Connector probing potentially not working while the GPU is in runtime suspend - i2c char dev not working while the GPU is in runtime suspend - aux char dev not working while the GPU is in runtime suspend There's definitely more parts of nouveau that need