Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db5e4172 authored by Yuanhan Liu's avatar Yuanhan Liu Committed by Chris Wilson
Browse files

drm/i915: filter out the read/write of GPIO registers from debug tracing



These registers are written very frequently, are timing sensitive, and
not particularly relevant to any debugging, so remove the tracepoints
from these.

Signed-off-by: default avatarYuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent 65e5ecb0
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -85,7 +85,8 @@ static u32 get_reserved(struct intel_gpio *gpio)

	/* On most chips, these bits must be preserved in software. */
	if (!IS_I830(dev) && !IS_845G(dev))
		reserved = I915_READ(gpio->reg) & (GPIO_DATA_PULLUP_DISABLE |
		reserved = I915_READ_NOTRACE(gpio->reg) &
					     (GPIO_DATA_PULLUP_DISABLE |
					      GPIO_CLOCK_PULLUP_DISABLE);

	return reserved;
@@ -96,9 +97,9 @@ static int get_clock(void *data)
	struct intel_gpio *gpio = data;
	struct drm_i915_private *dev_priv = gpio->dev_priv;
	u32 reserved = get_reserved(gpio);
	I915_WRITE(gpio->reg, reserved | GPIO_CLOCK_DIR_MASK);
	I915_WRITE(gpio->reg, reserved);
	return (I915_READ(gpio->reg) & GPIO_CLOCK_VAL_IN) != 0;
	I915_WRITE_NOTRACE(gpio->reg, reserved | GPIO_CLOCK_DIR_MASK);
	I915_WRITE_NOTRACE(gpio->reg, reserved);
	return (I915_READ_NOTRACE(gpio->reg) & GPIO_CLOCK_VAL_IN) != 0;
}

static int get_data(void *data)
@@ -106,9 +107,9 @@ static int get_data(void *data)
	struct intel_gpio *gpio = data;
	struct drm_i915_private *dev_priv = gpio->dev_priv;
	u32 reserved = get_reserved(gpio);
	I915_WRITE(gpio->reg, reserved | GPIO_DATA_DIR_MASK);
	I915_WRITE(gpio->reg, reserved);
	return (I915_READ(gpio->reg) & GPIO_DATA_VAL_IN) != 0;
	I915_WRITE_NOTRACE(gpio->reg, reserved | GPIO_DATA_DIR_MASK);
	I915_WRITE_NOTRACE(gpio->reg, reserved);
	return (I915_READ_NOTRACE(gpio->reg) & GPIO_DATA_VAL_IN) != 0;
}

static void set_clock(void *data, int state_high)
@@ -124,8 +125,8 @@ static void set_clock(void *data, int state_high)
		clock_bits = GPIO_CLOCK_DIR_OUT | GPIO_CLOCK_DIR_MASK |
			GPIO_CLOCK_VAL_MASK;

	I915_WRITE(gpio->reg, reserved | clock_bits);
	POSTING_READ(gpio->reg);
	I915_WRITE_NOTRACE(gpio->reg, reserved | clock_bits);
	POSTING_READ_NOTRACE(gpio->reg);
}

static void set_data(void *data, int state_high)
@@ -141,8 +142,8 @@ static void set_data(void *data, int state_high)
		data_bits = GPIO_DATA_DIR_OUT | GPIO_DATA_DIR_MASK |
			GPIO_DATA_VAL_MASK;

	I915_WRITE(gpio->reg, reserved | data_bits);
	POSTING_READ(gpio->reg);
	I915_WRITE_NOTRACE(gpio->reg, reserved | data_bits);
	POSTING_READ_NOTRACE(gpio->reg);
}

static struct i2c_adapter *