drm/nouveau/devinit: tidy up the subdev class definition
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
52225551dd
commit
cf336014c6
22 changed files with 209 additions and 283 deletions
|
@ -49,7 +49,7 @@ nv04_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv04_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv04_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -67,7 +67,7 @@ nv04_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv05_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv05_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -51,7 +51,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -68,7 +68,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -87,7 +87,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -106,7 +106,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -125,7 +125,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -144,7 +144,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -163,7 +163,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -182,7 +182,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -52,7 +52,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -71,7 +71,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -90,7 +90,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -109,7 +109,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -52,7 +52,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -71,7 +71,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv04_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -90,7 +90,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -110,7 +110,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -130,7 +130,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_GPIO ] = &nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -57,7 +57,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -80,7 +80,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -103,7 +103,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -126,7 +126,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -149,7 +149,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -172,7 +172,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -195,7 +195,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -218,7 +218,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv40_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -241,7 +241,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -264,7 +264,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -287,7 +287,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -310,7 +310,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -333,7 +333,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv4e_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -356,7 +356,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -379,7 +379,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -402,7 +402,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv44_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv31_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -65,7 +65,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv50_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv50_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv50_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv50_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -90,7 +90,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv50_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv50_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -118,7 +118,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv50_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv50_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -146,7 +146,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv50_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv50_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -174,7 +174,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv94_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -202,7 +202,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv94_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -230,7 +230,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -258,7 +258,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -286,7 +286,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nvaa_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -314,7 +314,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nvaa_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv50_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -342,7 +342,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -372,7 +372,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -401,7 +401,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -430,7 +430,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nva3_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv98_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nv94_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -65,7 +65,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc0_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -97,7 +97,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc0_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -129,7 +129,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -160,7 +160,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc0_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -192,7 +192,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -224,7 +224,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -255,7 +255,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc0_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -287,7 +287,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -318,7 +318,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -65,7 +65,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -98,7 +98,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -131,7 +131,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -164,7 +164,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
@ -199,7 +199,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = &nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nvc0_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nvc3_mc_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_BUS ] = nvc0_bus_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_TIMER ] = &nv04_timer_oclass;
|
||||
|
|
|
@ -9,7 +9,6 @@ struct nouveau_devinit {
|
|||
bool post;
|
||||
void (*meminit)(struct nouveau_devinit *);
|
||||
int (*pll_set)(struct nouveau_devinit *, u32 type, u32 freq);
|
||||
|
||||
};
|
||||
|
||||
static inline struct nouveau_devinit *
|
||||
|
@ -18,32 +17,13 @@ nouveau_devinit(void *obj)
|
|||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_DEVINIT];
|
||||
}
|
||||
|
||||
#define nouveau_devinit_create(p,e,o,d) \
|
||||
nouveau_devinit_create_((p), (e), (o), sizeof(**d), (void **)d)
|
||||
#define nouveau_devinit_destroy(p) \
|
||||
nouveau_subdev_destroy(&(p)->base)
|
||||
#define nouveau_devinit_init(p) ({ \
|
||||
struct nouveau_devinit *d = (p); \
|
||||
_nouveau_devinit_init(nv_object(d)); \
|
||||
})
|
||||
#define nouveau_devinit_fini(p,s) ({ \
|
||||
struct nouveau_devinit *d = (p); \
|
||||
_nouveau_devinit_fini(nv_object(d), (s)); \
|
||||
})
|
||||
|
||||
int nouveau_devinit_create_(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, int, void **);
|
||||
#define _nouveau_devinit_dtor _nouveau_subdev_dtor
|
||||
int _nouveau_devinit_init(struct nouveau_object *);
|
||||
int _nouveau_devinit_fini(struct nouveau_object *, bool suspend);
|
||||
|
||||
extern struct nouveau_oclass nv04_devinit_oclass;
|
||||
extern struct nouveau_oclass nv05_devinit_oclass;
|
||||
extern struct nouveau_oclass nv10_devinit_oclass;
|
||||
extern struct nouveau_oclass nv1a_devinit_oclass;
|
||||
extern struct nouveau_oclass nv20_devinit_oclass;
|
||||
extern struct nouveau_oclass nv50_devinit_oclass;
|
||||
extern struct nouveau_oclass nva3_devinit_oclass;
|
||||
extern struct nouveau_oclass nvc0_devinit_oclass;
|
||||
extern struct nouveau_oclass *nv04_devinit_oclass;
|
||||
extern struct nouveau_oclass *nv05_devinit_oclass;
|
||||
extern struct nouveau_oclass *nv10_devinit_oclass;
|
||||
extern struct nouveau_oclass *nv1a_devinit_oclass;
|
||||
extern struct nouveau_oclass *nv20_devinit_oclass;
|
||||
extern struct nouveau_oclass *nv50_devinit_oclass;
|
||||
extern struct nouveau_oclass *nva3_devinit_oclass;
|
||||
extern struct nouveau_oclass *nvc0_devinit_oclass;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include <subdev/bios.h>
|
||||
#include <subdev/bios/pll.h>
|
||||
#include <subdev/clock.h>
|
||||
#include <subdev/devinit/priv.h>
|
||||
#include <subdev/devinit/nv04.h>
|
||||
|
||||
#include "pll.h"
|
||||
|
||||
|
|
|
@ -24,10 +24,11 @@
|
|||
|
||||
#include <core/option.h>
|
||||
|
||||
#include <subdev/devinit.h>
|
||||
#include <subdev/bios.h>
|
||||
#include <subdev/bios/init.h>
|
||||
|
||||
#include "priv.h"
|
||||
|
||||
int
|
||||
_nouveau_devinit_fini(struct nouveau_object *object, bool suspend)
|
||||
{
|
||||
|
@ -57,6 +58,7 @@ nouveau_devinit_create_(struct nouveau_object *parent,
|
|||
struct nouveau_oclass *oclass,
|
||||
int size, void **pobject)
|
||||
{
|
||||
struct nouveau_devinit_impl *impl = (void *)oclass;
|
||||
struct nouveau_device *device = nv_device(parent);
|
||||
struct nouveau_devinit *devinit;
|
||||
int ret;
|
||||
|
@ -68,5 +70,7 @@ nouveau_devinit_create_(struct nouveau_object *parent,
|
|||
return ret;
|
||||
|
||||
devinit->post = nouveau_boolopt(device->cfgopt, "NvForcePost", false);
|
||||
devinit->meminit = impl->meminit;
|
||||
devinit->pll_set = impl->pll_set;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -27,12 +27,7 @@
|
|||
#include <subdev/vga.h>
|
||||
|
||||
#include "fbmem.h"
|
||||
#include "priv.h"
|
||||
|
||||
struct nv04_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
int owner;
|
||||
};
|
||||
#include "nv04.h"
|
||||
|
||||
static void
|
||||
nv04_devinit_meminit(struct nouveau_devinit *devinit)
|
||||
|
@ -438,7 +433,7 @@ nv04_devinit_dtor(struct nouveau_object *object)
|
|||
nouveau_devinit_destroy(&priv->base);
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
nv04_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
|
@ -451,19 +446,19 @@ nv04_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.meminit = nv04_devinit_meminit;
|
||||
priv->base.pll_set = nv04_devinit_pll_set;
|
||||
priv->owner = -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv04_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0x04),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
struct nouveau_oclass *
|
||||
nv04_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0x04),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv04_devinit_ctor,
|
||||
.dtor = nv04_devinit_dtor,
|
||||
.init = nv04_devinit_init,
|
||||
.fini = nv04_devinit_fini,
|
||||
},
|
||||
};
|
||||
.meminit = nv04_devinit_meminit,
|
||||
.pll_set = nv04_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
23
drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h
Normal file
23
drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#ifndef __NVKM_DEVINIT_NV04_H__
|
||||
#define __NVKM_DEVINIT_NV04_H__
|
||||
|
||||
#include "priv.h"
|
||||
|
||||
struct nv04_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
u8 owner;
|
||||
};
|
||||
|
||||
int nv04_devinit_ctor(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, void *, u32,
|
||||
struct nouveau_object **);
|
||||
void nv04_devinit_dtor(struct nouveau_object *);
|
||||
int nv04_devinit_init(struct nouveau_object *);
|
||||
int nv04_devinit_fini(struct nouveau_object *, bool);
|
||||
int nv04_devinit_pll_set(struct nouveau_devinit *, u32, u32);
|
||||
|
||||
void setPLL_single(struct nouveau_devinit *, u32, struct nouveau_pll_vals *);
|
||||
void setPLL_double_highregs(struct nouveau_devinit *, u32, struct nouveau_pll_vals *);
|
||||
void setPLL_double_lowregs(struct nouveau_devinit *, u32, struct nouveau_pll_vals *);
|
||||
|
||||
#endif
|
|
@ -29,12 +29,7 @@
|
|||
#include <subdev/vga.h>
|
||||
|
||||
#include "fbmem.h"
|
||||
#include "priv.h"
|
||||
|
||||
struct nv05_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
u8 owner;
|
||||
};
|
||||
#include "nv04.h"
|
||||
|
||||
static void
|
||||
nv05_devinit_meminit(struct nouveau_devinit *devinit)
|
||||
|
@ -49,7 +44,7 @@ nv05_devinit_meminit(struct nouveau_devinit *devinit)
|
|||
{ 0x06, 0x00 },
|
||||
{ 0x00, 0x00 }
|
||||
};
|
||||
struct nv05_devinit_priv *priv = (void *)devinit;
|
||||
struct nv04_devinit_priv *priv = (void *)devinit;
|
||||
struct nouveau_bios *bios = nouveau_bios(priv);
|
||||
struct io_mapping *fb;
|
||||
u32 patt = 0xdeadbeef;
|
||||
|
@ -130,31 +125,15 @@ nv05_devinit_meminit(struct nouveau_devinit *devinit)
|
|||
fbmem_fini(fb);
|
||||
}
|
||||
|
||||
static int
|
||||
nv05_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv05_devinit_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_devinit_create(parent, engine, oclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.meminit = nv05_devinit_meminit;
|
||||
priv->base.pll_set = nv04_devinit_pll_set;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv05_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0x05),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv05_devinit_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv05_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0x05),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv04_devinit_ctor,
|
||||
.dtor = nv04_devinit_dtor,
|
||||
.init = nv04_devinit_init,
|
||||
.fini = nv04_devinit_fini,
|
||||
},
|
||||
};
|
||||
.meminit = nv05_devinit_meminit,
|
||||
.pll_set = nv04_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
|
@ -27,17 +27,12 @@
|
|||
#include <subdev/vga.h>
|
||||
|
||||
#include "fbmem.h"
|
||||
#include "priv.h"
|
||||
|
||||
struct nv10_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
u8 owner;
|
||||
};
|
||||
#include "nv04.h"
|
||||
|
||||
static void
|
||||
nv10_devinit_meminit(struct nouveau_devinit *devinit)
|
||||
{
|
||||
struct nv10_devinit_priv *priv = (void *)devinit;
|
||||
struct nv04_devinit_priv *priv = (void *)devinit;
|
||||
static const int mem_width[] = { 0x10, 0x00, 0x20 };
|
||||
int mem_width_count;
|
||||
uint32_t patt = 0xdeadbeef;
|
||||
|
@ -101,31 +96,15 @@ nv10_devinit_meminit(struct nouveau_devinit *devinit)
|
|||
fbmem_fini(fb);
|
||||
}
|
||||
|
||||
static int
|
||||
nv10_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv10_devinit_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_devinit_create(parent, engine, oclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.meminit = nv10_devinit_meminit;
|
||||
priv->base.pll_set = nv04_devinit_pll_set;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv10_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0x10),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv10_devinit_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv10_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0x10),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv04_devinit_ctor,
|
||||
.dtor = nv04_devinit_dtor,
|
||||
.init = nv04_devinit_init,
|
||||
.fini = nv04_devinit_fini,
|
||||
},
|
||||
};
|
||||
.meminit = nv10_devinit_meminit,
|
||||
.pll_set = nv04_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
|
@ -22,37 +22,16 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include "priv.h"
|
||||
#include "nv04.h"
|
||||
|
||||
struct nv1a_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
u8 owner;
|
||||
};
|
||||
|
||||
static int
|
||||
nv1a_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv1a_devinit_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_devinit_create(parent, engine, oclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.pll_set = nv04_devinit_pll_set;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv1a_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0x1a),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv1a_devinit_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv1a_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0x1a),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv04_devinit_ctor,
|
||||
.dtor = nv04_devinit_dtor,
|
||||
.init = nv04_devinit_init,
|
||||
.fini = nv04_devinit_fini,
|
||||
},
|
||||
};
|
||||
.pll_set = nv04_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
|
@ -24,18 +24,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "priv.h"
|
||||
#include "nv04.h"
|
||||
#include "fbmem.h"
|
||||
|
||||
struct nv20_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
u8 owner;
|
||||
};
|
||||
|
||||
static void
|
||||
nv20_devinit_meminit(struct nouveau_devinit *devinit)
|
||||
{
|
||||
struct nv20_devinit_priv *priv = (void *)devinit;
|
||||
struct nv04_devinit_priv *priv = (void *)devinit;
|
||||
struct nouveau_device *device = nv_device(priv);
|
||||
uint32_t mask = (device->chipset >= 0x25 ? 0x300 : 0x900);
|
||||
uint32_t amount, off;
|
||||
|
@ -65,31 +60,15 @@ nv20_devinit_meminit(struct nouveau_devinit *devinit)
|
|||
fbmem_fini(fb);
|
||||
}
|
||||
|
||||
static int
|
||||
nv20_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv20_devinit_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_devinit_create(parent, engine, oclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.meminit = nv20_devinit_meminit;
|
||||
priv->base.pll_set = nv04_devinit_pll_set;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv20_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0x20),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv20_devinit_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv20_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0x20),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv04_devinit_ctor,
|
||||
.dtor = nv04_devinit_dtor,
|
||||
.init = nv04_devinit_init,
|
||||
.fini = nv04_devinit_fini,
|
||||
},
|
||||
};
|
||||
.meminit = nv20_devinit_meminit,
|
||||
.pll_set = nv04_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include <subdev/bios/init.h>
|
||||
#include <subdev/vga.h>
|
||||
|
||||
#include "priv.h"
|
||||
#include "nv50.h"
|
||||
|
||||
static int
|
||||
nv50_devinit_pll_set(struct nouveau_devinit *devinit, u32 type, u32 freq)
|
||||
|
@ -120,7 +120,7 @@ nv50_devinit_init(struct nouveau_object *object)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
nv50_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
|
@ -133,17 +133,17 @@ nv50_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.pll_set = nv50_devinit_pll_set;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv50_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0x50),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
struct nouveau_oclass *
|
||||
nv50_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0x50),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv50_devinit_ctor,
|
||||
.dtor = _nouveau_devinit_dtor,
|
||||
.init = nv50_devinit_init,
|
||||
.fini = _nouveau_devinit_fini,
|
||||
},
|
||||
};
|
||||
.pll_set = nv50_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
15
drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h
Normal file
15
drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
#ifndef __NVKM_DEVINIT_NV50_H__
|
||||
#define __NVKM_DEVINIT_NV50_H__
|
||||
|
||||
#include "priv.h"
|
||||
|
||||
struct nv50_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
};
|
||||
|
||||
int nv50_devinit_ctor(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, void *, u32,
|
||||
struct nouveau_object **);
|
||||
int nv50_devinit_init(struct nouveau_object *);
|
||||
|
||||
#endif
|
|
@ -22,12 +22,12 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include "priv.h"
|
||||
#include "nv50.h"
|
||||
|
||||
static int
|
||||
nva3_devinit_pll_set(struct nouveau_devinit *devinit, u32 type, u32 freq)
|
||||
{
|
||||
struct nva3_devinit_priv *priv = (void *)devinit;
|
||||
struct nv50_devinit_priv *priv = (void *)devinit;
|
||||
struct nouveau_bios *bios = nouveau_bios(priv);
|
||||
struct nvbios_pll info;
|
||||
int N, fN, M, P;
|
||||
|
@ -58,30 +58,14 @@ nva3_devinit_pll_set(struct nouveau_devinit *devinit, u32 type, u32 freq)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
nva3_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv50_devinit_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_devinit_create(parent, engine, oclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.pll_set = nva3_devinit_pll_set;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nva3_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0xa3),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nva3_devinit_ctor,
|
||||
struct nouveau_oclass *
|
||||
nva3_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0xa3),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv50_devinit_ctor,
|
||||
.dtor = _nouveau_devinit_dtor,
|
||||
.init = nv50_devinit_init,
|
||||
.fini = _nouveau_devinit_fini,
|
||||
},
|
||||
};
|
||||
.pll_set = nva3_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
|
@ -22,12 +22,12 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include "priv.h"
|
||||
#include "nv50.h"
|
||||
|
||||
static int
|
||||
nvc0_devinit_pll_set(struct nouveau_devinit *devinit, u32 type, u32 freq)
|
||||
{
|
||||
struct nvc0_devinit_priv *priv = (void *)devinit;
|
||||
struct nv50_devinit_priv *priv = (void *)devinit;
|
||||
struct nouveau_bios *bios = nouveau_bios(priv);
|
||||
struct nvbios_pll info;
|
||||
int N, fN, M, P;
|
||||
|
@ -72,19 +72,19 @@ nvc0_devinit_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
priv->base.pll_set = nvc0_devinit_pll_set;
|
||||
if (nv_rd32(priv, 0x022500) & 0x00000001)
|
||||
priv->base.post = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nvc0_devinit_oclass = {
|
||||
.handle = NV_SUBDEV(DEVINIT, 0xc0),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
struct nouveau_oclass *
|
||||
nvc0_devinit_oclass = &(struct nouveau_devinit_impl) {
|
||||
.base.handle = NV_SUBDEV(DEVINIT, 0xc0),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nvc0_devinit_ctor,
|
||||
.dtor = _nouveau_devinit_dtor,
|
||||
.init = nv50_devinit_init,
|
||||
.fini = _nouveau_devinit_fini,
|
||||
},
|
||||
};
|
||||
.pll_set = nvc0_devinit_pll_set,
|
||||
}.base;
|
||||
|
|
|
@ -6,20 +6,29 @@
|
|||
#include <subdev/clock/pll.h>
|
||||
#include <subdev/devinit.h>
|
||||
|
||||
void nv04_devinit_dtor(struct nouveau_object *);
|
||||
int nv04_devinit_init(struct nouveau_object *);
|
||||
int nv04_devinit_fini(struct nouveau_object *, bool);
|
||||
int nv04_devinit_pll_set(struct nouveau_devinit *, u32, u32);
|
||||
|
||||
void setPLL_single(struct nouveau_devinit *, u32, struct nouveau_pll_vals *);
|
||||
void setPLL_double_highregs(struct nouveau_devinit *, u32, struct nouveau_pll_vals *);
|
||||
void setPLL_double_lowregs(struct nouveau_devinit *, u32, struct nouveau_pll_vals *);
|
||||
|
||||
|
||||
struct nv50_devinit_priv {
|
||||
struct nouveau_devinit base;
|
||||
struct nouveau_devinit_impl {
|
||||
struct nouveau_oclass base;
|
||||
void (*meminit)(struct nouveau_devinit *);
|
||||
int (*pll_set)(struct nouveau_devinit *, u32 type, u32 freq);
|
||||
};
|
||||
|
||||
int nv50_devinit_init(struct nouveau_object *);
|
||||
#define nouveau_devinit_create(p,e,o,d) \
|
||||
nouveau_devinit_create_((p), (e), (o), sizeof(**d), (void **)d)
|
||||
#define nouveau_devinit_destroy(p) \
|
||||
nouveau_subdev_destroy(&(p)->base)
|
||||
#define nouveau_devinit_init(p) ({ \
|
||||
struct nouveau_devinit *d = (p); \
|
||||
_nouveau_devinit_init(nv_object(d)); \
|
||||
})
|
||||
#define nouveau_devinit_fini(p,s) ({ \
|
||||
struct nouveau_devinit *d = (p); \
|
||||
_nouveau_devinit_fini(nv_object(d), (s)); \
|
||||
})
|
||||
|
||||
int nouveau_devinit_create_(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, int, void **);
|
||||
#define _nouveau_devinit_dtor _nouveau_subdev_dtor
|
||||
int _nouveau_devinit_init(struct nouveau_object *);
|
||||
int _nouveau_devinit_fini(struct nouveau_object *, bool suspend);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue