search for: nvkm_i2c_bus_fini

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); >...