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

Commit 1298330b authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/nouveau: do a better job at hiding the NIH i2c bit-banging algo



I'd like to export the corresponding functions from the i2c core
so that I can use them in fallback bit-banging in i915.ko

v2: Adapt to new i2c export patch.

Cc: nouveau@lists.freedesktop.org
Acked-by: default avatarDave Airlie <airlied@gmail.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent c2b9152f
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -277,7 +277,7 @@ i2c_bit_func(struct i2c_adapter *adap)
	return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL;
}

const struct i2c_algorithm i2c_bit_algo = {
const struct i2c_algorithm nouveau_i2c_bit_algo = {
	.master_xfer = i2c_bit_xfer,
	.functionality = i2c_bit_func
};
@@ -384,12 +384,12 @@ nouveau_i2c_init(struct drm_device *dev)
		case 0: /* NV04:NV50 */
			port->drive = entry[0];
			port->sense = entry[1];
			port->adapter.algo = &i2c_bit_algo;
			port->adapter.algo = &nouveau_i2c_bit_algo;
			break;
		case 4: /* NV4E */
			port->drive = 0x600800 + entry[1];
			port->sense = port->drive;
			port->adapter.algo = &i2c_bit_algo;
			port->adapter.algo = &nouveau_i2c_bit_algo;
			break;
		case 5: /* NV50- */
			port->drive = entry[0] & 0x0f;
@@ -402,7 +402,7 @@ nouveau_i2c_init(struct drm_device *dev)
				port->drive = 0x00d014 + (port->drive * 0x20);
				port->sense = port->drive;
			}
			port->adapter.algo = &i2c_bit_algo;
			port->adapter.algo = &nouveau_i2c_bit_algo;
			break;
		case 6: /* NV50- DP AUX */
			port->drive = entry[0];