Displaying 4 results from an estimated 4 matches for "nvkm_i2c_bus_fini".
Did you mean:
  nvkm_i2c_bus_find
  
2019 Apr 09
2
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...bool suspend)
 {
 	struct nvkm_i2c *i2c = nvkm_i2c(subdev);
 	struct nvkm_i2c_pad *pad;
+	struct nvkm_i2c_bus *bus;
+	struct nvkm_i2c_aux *aux;
 	u32 mask;
 
+	list_for_each_entry(aux, &i2c->aux, head) {
+		nvkm_i2c_aux_fini(aux);
+	}
+
+	list_for_each_entry(bus, &i2c->bus, head) {
+		nvkm_i2c_bus_fini(bus);
+	}
+
 	if ((mask = (1 << i2c->func->aux) - 1), i2c->func->aux_stat) {
 		i2c->func->aux_mask(i2c, NVKM_I2C_ANY, mask, 0);
 		i2c->func->aux_stat(i2c, &mask, &mask, &mask, &mask);
@@ -180,6 +190,7 @@ nvkm_i2c_init(struct nvkm_subdev *subdev)
 	str...
2019 Apr 03
0
[PATCH] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...+ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
@@ -160,8 +160,13 @@ nvkm_i2c_fini(struct nvkm_subdev *subdev, bool suspend)
 {
 	struct nvkm_i2c *i2c = nvkm_i2c(subdev);
 	struct nvkm_i2c_pad *pad;
+	struct nvkm_i2c_bus *bus;
 	u32 mask;
 
+	list_for_each_entry(bus, &i2c->bus, head) {
+		nvkm_i2c_bus_fini(bus);
+	}
+
 	if ((mask = (1 << i2c->func->aux) - 1), i2c->func->aux_stat) {
 		i2c->func->aux_mask(i2c, NVKM_I2C_ANY, mask, 0);
 		i2c->func->aux_stat(i2c, &mask, &mask, &mask, &mask);
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.c b/driver...
2019 Apr 11
1
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
..._i2c_aux *aux;
> >         u32 mask;
> > 
> > +       list_for_each_entry(aux, &i2c->aux, head) {
> > +               nvkm_i2c_aux_fini(aux);
> > +       }
> > +
> > +       list_for_each_entry(bus, &i2c->bus, head) {
> > +               nvkm_i2c_bus_fini(bus);
> > +       }
> > +
> >         if ((mask = (1 << i2c->func->aux) - 1), i2c->func->aux_stat) {
> >                 i2c->func->aux_mask(i2c, NVKM_I2C_ANY, mask, 0);
> >                 i2c->func->aux_stat(i2c, &mask, &mask, &a...
2019 Apr 10
0
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...km_i2c_bus *bus;
> +       struct nvkm_i2c_aux *aux;
>         u32 mask;
>
> +       list_for_each_entry(aux, &i2c->aux, head) {
> +               nvkm_i2c_aux_fini(aux);
> +       }
> +
> +       list_for_each_entry(bus, &i2c->bus, head) {
> +               nvkm_i2c_bus_fini(bus);
> +       }
> +
>         if ((mask = (1 << i2c->func->aux) - 1), i2c->func->aux_stat) {
>                 i2c->func->aux_mask(i2c, NVKM_I2C_ANY, mask, 0);
>                 i2c->func->aux_stat(i2c, &mask, &mask, &mask, &mask);
>...