diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c b/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c index 3376356aba43d973120ec6d4eb0e022fc9d2c1b1..0dc605db7ec8f7ab17d50c7d27ab72b1bc0d3128 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c +++ b/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c @@ -556,6 +556,18 @@ nouveau_i2c_create_(struct nouveau_object *parent, nouveau_i2c_create_port(i2c, NV_I2C_AUX(index), info.type, &info); break; + case DCB_I2C_PMGR: + if (info.drive != DCB_I2C_UNUSED) { + nouveau_i2c_create_port(i2c, NV_I2C_PORT(index), + DCB_I2C_NVIO_BIT, + &info); + } + if (info.auxch != DCB_I2C_UNUSED) { + nouveau_i2c_create_port(i2c, NV_I2C_AUX(index), + DCB_I2C_NVIO_AUX, + &info); + } + break; case DCB_I2C_UNUSED: default: continue;