Displaying 6 results from an estimated 6 matches for "aux_trac".
Did you mean:
  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
&...
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;
 }
 
 st...
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