Commit 9990f2f6 authored by Saranya Gopal's avatar Saranya Gopal Committed by Greg Kroah-Hartman

usb: typec: tipd: Enable event interrupts by default

TI PD controller comes with notification mechanism to inform
the host on activity in the PD controller. In the current
driver, the required masks are not set. This patch enables
the following events in the interrupt mask register:
PowerStatusUpdate - Set whenever contents of the power status reg changes
DataStatusUpdate - Set whenever contents of the data status reg changes
PlugInsertOrRemoval - Set whenever USB plug status has changed

With this change, the interrupt flooding issue is not seen anymore.
Suggested-by: default avatarRajaram Regupathy <rajaram.regupathy@intel.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarSaranya Gopal <saranya.gopal@intel.com>
Datasheet: https://www.ti.com/lit/ug/slvuan1a/slvuan1a.pdf
Link: https://lore.kernel.org/r/20211020022620.21012-2-saranya.gopal@intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8ef1e587
...@@ -750,6 +750,14 @@ static int tps6598x_probe(struct i2c_client *client) ...@@ -750,6 +750,14 @@ static int tps6598x_probe(struct i2c_client *client)
return ret; return ret;
irq_handler = cd321x_interrupt; irq_handler = cd321x_interrupt;
} else {
/* Enable power status, data status and plug event interrupts */
ret = tps6598x_write64(tps, TPS_REG_INT_MASK1,
TPS_REG_INT_POWER_STATUS_UPDATE |
TPS_REG_INT_DATA_STATUS_UPDATE |
TPS_REG_INT_PLUG_EVENT);
if (ret)
return ret;
} }
ret = tps6598x_read32(tps, TPS_REG_STATUS, &status); ret = tps6598x_read32(tps, TPS_REG_STATUS, &status);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment