Commit b3c418bb authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/therm: switch to subdev printk macros



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent c19e329d
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -83,7 +83,8 @@ static void
nvkm_therm_update(struct nvkm_therm *obj, int mode)
{
	struct nvkm_therm_priv *therm = container_of(obj, typeof(*therm), base);
	struct nvkm_timer *tmr = nvkm_timer(therm);
	struct nvkm_subdev *subdev = &therm->base.subdev;
	struct nvkm_timer *tmr = subdev->device->timer;
	unsigned long flags;
	bool immd = true;
	bool poll = true;
@@ -129,7 +130,7 @@ nvkm_therm_update(struct nvkm_therm *obj, int mode)
	spin_unlock_irqrestore(&therm->lock, flags);

	if (duty >= 0) {
		nv_debug(therm, "FAN target request: %d%%\n", duty);
		nvkm_debug(subdev, "FAN target request: %d%%\n", duty);
		nvkm_therm_fan_set(&therm->base, immd, duty);
	}
}
@@ -138,9 +139,10 @@ int
nvkm_therm_cstate(struct nvkm_therm *obj, int fan, int dir)
{
	struct nvkm_therm_priv *therm = container_of(obj, typeof(*therm), base);
	struct nvkm_subdev *subdev = &therm->base.subdev;
	if (!dir || (dir < 0 && fan < therm->cstate) ||
		    (dir > 0 && fan > therm->cstate)) {
		nv_debug(therm, "default fan speed -> %d%%\n", fan);
		nvkm_debug(subdev, "default fan speed -> %d%%\n", fan);
		therm->cstate = fan;
		nvkm_therm_update(&therm->base, -1);
	}
@@ -159,7 +161,8 @@ int
nvkm_therm_fan_mode(struct nvkm_therm *obj, int mode)
{
	struct nvkm_therm_priv *therm = container_of(obj, typeof(*therm), base);
	struct nvkm_device *device = nv_device(therm);
	struct nvkm_subdev *subdev = &therm->base.subdev;
	struct nvkm_device *device = subdev->device;
	static const char *name[] = {
		"disabled",
		"manual",
@@ -181,7 +184,7 @@ nvkm_therm_fan_mode(struct nvkm_therm *obj, int mode)
	if (therm->mode == mode)
		return 0;

	nv_info(therm, "fan management: %s\n", name[mode]);
	nvkm_debug(subdev, "fan management: %s\n", name[mode]);
	nvkm_therm_update(&therm->base, mode);
	return 0;
}
+12 −9
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ static int
nvkm_fan_update(struct nvkm_fan *fan, bool immediate, int target)
{
	struct nvkm_therm_priv *therm = (void *)fan->parent;
	struct nvkm_timer *tmr = nvkm_timer(therm);
	struct nvkm_subdev *subdev = &therm->base.subdev;
	struct nvkm_timer *tmr = subdev->device->timer;
	unsigned long flags;
	int ret = 0;
	int duty;
@@ -44,7 +45,7 @@ nvkm_fan_update(struct nvkm_fan *fan, bool immediate, int target)
	target = max_t(u8, target, fan->bios.min_duty);
	target = min_t(u8, target, fan->bios.max_duty);
	if (fan->percent != target) {
		nv_debug(therm, "FAN target: %d\n", target);
		nvkm_debug(subdev, "FAN target: %d\n", target);
		fan->percent = target;
	}

@@ -69,7 +70,7 @@ nvkm_fan_update(struct nvkm_fan *fan, bool immediate, int target)
		duty = target;
	}

	nv_debug(therm, "FAN update: %d\n", duty);
	nvkm_debug(subdev, "FAN update: %d\n", duty);
	ret = fan->set(&therm->base, duty);
	if (ret) {
		spin_unlock_irqrestore(&fan->lock, flags);
@@ -228,8 +229,10 @@ int
nvkm_therm_fan_ctor(struct nvkm_therm *obj)
{
	struct nvkm_therm_priv *therm = container_of(obj, typeof(*therm), base);
	struct nvkm_gpio *gpio = nvkm_gpio(therm);
	struct nvkm_bios *bios = nvkm_bios(therm);
	struct nvkm_subdev *subdev = &therm->base.subdev;
	struct nvkm_device *device = subdev->device;
	struct nvkm_gpio *gpio = device->gpio;
	struct nvkm_bios *bios = device->bios;
	struct dcb_gpio_func func;
	int ret;

@@ -238,7 +241,7 @@ nvkm_therm_fan_ctor(struct nvkm_therm *obj)
	if (ret == 0) {
		/* FIXME: is this really the place to perform such checks ? */
		if (func.line != 16 && func.log[0] & DCB_GPIO_LOG_DIR_IN) {
			nv_debug(therm, "GPIO_FAN is in input mode\n");
			nvkm_debug(subdev, "GPIO_FAN is in input mode\n");
			ret = -EINVAL;
		} else {
			ret = nvkm_fanpwm_create(&therm->base, &func);
@@ -254,7 +257,7 @@ nvkm_therm_fan_ctor(struct nvkm_therm *obj)
			return ret;
	}

	nv_info(therm, "FAN control: %s\n", therm->fan->type);
	nvkm_debug(subdev, "FAN control: %s\n", therm->fan->type);

	/* read the current speed, it is useful when resuming */
	therm->fan->percent = nvkm_therm_fan_get(&therm->base);
@@ -273,9 +276,9 @@ nvkm_therm_fan_ctor(struct nvkm_therm *obj)
	nvkm_therm_fan_set_defaults(&therm->base);
	nvbios_perf_fan_parse(bios, &therm->fan->perf);
	if (!nvbios_fan_parse(bios, &therm->fan->bios)) {
		nv_debug(therm, "parsing the fan table failed\n");
		nvkm_debug(subdev, "parsing the fan table failed\n");
		if (nvbios_therm_fan_parse(bios, &therm->fan->bios))
			nv_error(therm, "parsing both fan tables failed\n");
			nvkm_error(subdev, "parsing both fan tables failed\n");
	}
	nvkm_therm_fan_safety_checks(&therm->base);
	return 0;
+13 −9
Original line number Diff line number Diff line
@@ -56,8 +56,9 @@ static void
g84_therm_program_alarms(struct nvkm_therm *obj)
{
	struct nvkm_therm_priv *therm = container_of(obj, typeof(*therm), base);
	struct nvkm_device *device = therm->base.subdev.device;
	struct nvbios_therm_sensor *sensor = &therm->bios_sensor;
	struct nvkm_subdev *subdev = &therm->base.subdev;
	struct nvkm_device *device = subdev->device;
	unsigned long flags;

	spin_lock_irqsave(&therm->sensor.alarm_program_lock, flags);
@@ -79,13 +80,16 @@ g84_therm_program_alarms(struct nvkm_therm *obj)
	nvkm_wr32(device, 0x20414, sensor->thrs_down_clock.temp);
	spin_unlock_irqrestore(&therm->sensor.alarm_program_lock, flags);

	nv_debug(therm,
	nvkm_debug(subdev,
		   "Programmed thresholds [ %d(%d), %d(%d), %d(%d), %d(%d) ]\n",
		 sensor->thrs_fan_boost.temp, sensor->thrs_fan_boost.hysteresis,
		   sensor->thrs_fan_boost.temp,
		   sensor->thrs_fan_boost.hysteresis,
		   sensor->thrs_down_clock.temp,
		   sensor->thrs_down_clock.hysteresis,
		 sensor->thrs_critical.temp, sensor->thrs_critical.hysteresis,
		 sensor->thrs_shutdown.temp, sensor->thrs_shutdown.hysteresis);
		   sensor->thrs_critical.temp,
		   sensor->thrs_critical.hysteresis,
		   sensor->thrs_shutdown.temp,
		   sensor->thrs_shutdown.hysteresis);

}

@@ -180,7 +184,7 @@ g84_therm_intr(struct nvkm_subdev *subdev)
	}

	if (intr)
		nv_error(therm, "unhandled intr 0x%08x\n", intr);
		nvkm_error(subdev, "intr %08x\n", intr);

	/* ACK everything */
	nvkm_wr32(device, 0x20100, 0xffffffff);
+3 −2
Original line number Diff line number Diff line
@@ -26,7 +26,8 @@
static int
pwm_info(struct nvkm_therm *therm, int line)
{
	struct nvkm_device *device = therm->subdev.device;
	struct nvkm_subdev *subdev = &therm->subdev;
	struct nvkm_device *device = subdev->device;
	u32 gpio = nvkm_rd32(device, 0x00d610 + (line * 0x04));

	switch (gpio & 0x000000c0) {
@@ -44,7 +45,7 @@ pwm_info(struct nvkm_therm *therm, int line)
		break;
	}

	nv_error(therm, "GPIO %d unknown PWM: 0x%08x\n", line, gpio);
	nvkm_error(subdev, "GPIO %d unknown PWM: %08x\n", line, gpio);
	return -ENODEV;
}

+4 −4
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ probe_monitoring_device(struct nvkm_i2c_port *i2c,
		return false;
	}

	nv_info(therm,
	nvkm_debug(&therm->base.subdev,
		   "Found an %s at address 0x%x (controlled by lm_sensors, "
		   "temp offset %+i C)\n",
		   info->type, info->addr, sensor->offset_constant);
Loading