/openbmc/linux/drivers/soc/qcom/ |
H A D | pmic_glink_altmode.c | 67 struct pmic_glink_altmode *altmode; member 107 static int pmic_glink_altmode_request(struct pmic_glink_altmode *altmode, u32 cmd, u32 arg) in pmic_glink_altmode_request() argument 117 mutex_lock(&altmode->lock); in pmic_glink_altmode_request() 119 req.hdr.owner = cpu_to_le32(altmode->owner_id); in pmic_glink_altmode_request() 125 ret = pmic_glink_send(altmode->client, &req, sizeof(req)); in pmic_glink_altmode_request() 127 dev_err(altmode->dev, "failed to send altmode request: %#x (%d)\n", cmd, ret); in pmic_glink_altmode_request() 131 left = wait_for_completion_timeout(&altmode->pan_ack, 5 * HZ); in pmic_glink_altmode_request() 133 dev_err(altmode->dev, "timeout waiting for altmode request ack for: %#x\n", cmd); in pmic_glink_altmode_request() 138 mutex_unlock(&altmode->lock); in pmic_glink_altmode_request() 142 static void pmic_glink_altmode_enable_dp(struct pmic_glink_altmode *altmode, in pmic_glink_altmode_enable_dp() argument [all …]
|
/openbmc/linux/include/linux/usb/ |
H A D | typec_altmode.h | 37 static inline void typec_altmode_set_drvdata(struct typec_altmode *altmode, in typec_altmode_set_drvdata() argument 40 dev_set_drvdata(&altmode->dev, data); in typec_altmode_set_drvdata() 43 static inline void *typec_altmode_get_drvdata(struct typec_altmode *altmode) in typec_altmode_get_drvdata() argument 45 return dev_get_drvdata(&altmode->dev); in typec_altmode_get_drvdata() 58 int (*enter)(struct typec_altmode *altmode, u32 *vdo); 59 int (*exit)(struct typec_altmode *altmode); 60 void (*attention)(struct typec_altmode *altmode, u32 vdo); 61 int (*vdm)(struct typec_altmode *altmode, const u32 hdr, 63 int (*notify)(struct typec_altmode *altmode, unsigned long conf, 65 int (*activate)(struct typec_altmode *altmode, int activate); [all …]
|
H A D | typec.h | 160 void typec_unregister_altmode(struct typec_altmode *altmode);
|
/openbmc/linux/drivers/usb/typec/ |
H A D | bus.c | 17 typec_altmode_set_retimer(struct altmode *alt, unsigned long conf, void *data) in typec_altmode_set_retimer() 32 typec_altmode_set_mux(struct altmode *alt, unsigned long conf, void *data) in typec_altmode_set_mux() 48 typec_altmode_set_switches(struct altmode *alt, unsigned long conf, void *data) in typec_altmode_set_switches() 63 struct altmode *port_altmode; in typec_altmode_set_state() 90 struct altmode *altmode; in typec_altmode_notify() local 91 struct altmode *partner; in typec_altmode_notify() 97 altmode = to_altmode(adev); in typec_altmode_notify() 99 if (!altmode->partner) in typec_altmode_notify() 103 partner = altmode->partner; in typec_altmode_notify() 105 ret = typec_altmode_set_switches(is_port ? altmode : partner, conf, data); in typec_altmode_notify() [all …]
|
H A D | bus.h | 12 struct altmode { struct 25 struct altmode *partner; argument 26 struct altmode *plug[2]; argument 29 #define to_altmode(d) container_of(d, struct altmode, adev)
|
H A D | class.c | 235 static void typec_altmode_set_partner(struct altmode *altmode) in typec_altmode_set_partner() argument 237 struct typec_altmode *adev = &altmode->adev; in typec_altmode_set_partner() 240 struct altmode *partner; in typec_altmode_set_partner() 249 altmode->partner = partner; in typec_altmode_set_partner() 255 partner->plug[plug->index] = altmode; in typec_altmode_set_partner() 257 partner->partner = altmode; in typec_altmode_set_partner() 261 static void typec_altmode_put_partner(struct altmode *altmode) in typec_altmode_put_partner() argument 263 struct altmode *partner = altmode->partner; in typec_altmode_put_partner() 270 adev = &altmode->adev; in typec_altmode_put_partner() 363 struct altmode *altmode = to_altmode(adev); in active_store() local [all …]
|
/openbmc/linux/drivers/usb/typec/tcpm/ |
H A D | tcpm.c | 1577 struct typec_altmode *altmode; in tcpm_register_partner_altmodes() local 1584 altmode = typec_partner_register_altmode(port->partner, in tcpm_register_partner_altmodes() 1586 if (IS_ERR(altmode)) { in tcpm_register_partner_altmodes() 1589 altmode = NULL; in tcpm_register_partner_altmodes() 1591 port->partner_altmode[i] = altmode; in tcpm_register_partner_altmodes() 2225 static int tcpm_altmode_enter(struct typec_altmode *altmode, u32 *vdo) in tcpm_altmode_enter() argument 2227 struct tcpm_port *port = typec_altmode_get_drvdata(altmode); in tcpm_altmode_enter() 2235 header = VDO(altmode->svid, vdo ? 2 : 1, svdm_version, CMD_ENTER_MODE); in tcpm_altmode_enter() 2236 header |= VDO_OPOS(altmode->mode); in tcpm_altmode_enter() 2242 static int tcpm_altmode_exit(struct typec_altmode *altmode) in tcpm_altmode_exit() argument [all …]
|
/openbmc/linux/drivers/usb/typec/ucsi/ |
H A D | ucsi.c | 278 const struct typec_altmode *altmode = NULL; in ucsi_altmode_update_active() local 296 altmode = typec_altmode_get_partner(con->port_altmode[cur]); in ucsi_altmode_update_active() 300 con->partner_altmode[i] == altmode); in ucsi_altmode_update_active()
|