Skip to content

Commit

Permalink
usb: typec: intel_pmc_mux: Definitions for response status bits
Browse files Browse the repository at this point in the history
Adding definitions for the two status bits that we have in
the command response data structure.

Also, from now on only considering the second status bit,
which tells was the failure fatal or not, if the first bit
is set. If the first bit is not set, then the command was
successful, and we need to ignore the second bit.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20200701115618.22482-4-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Heikki Krogerus authored and Greg Kroah-Hartman committed Jul 1, 2020
1 parent ad8db94 commit b7404a2
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/usb/typec/mux/intel_pmc_mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@

#define PMC_USBC_CMD 0xa7

/* Response status bits */
#define PMC_USB_RESP_STATUS_FAILURE BIT(0)
#define PMC_USB_RESP_STATUS_FATAL BIT(1)

/* "Usage" OOB Message field values */
enum {
PMC_USB_CONNECT,
Expand Down Expand Up @@ -130,8 +134,8 @@ static int pmc_usb_command(struct pmc_usb_port *port, u8 *msg, u32 len)
*/
intel_scu_ipc_dev_command(port->pmc->ipc, PMC_USBC_CMD, 0, msg, len,
response, sizeof(response));
if (response[2]) {
if (response[2] & BIT(1))
if (response[2] & PMC_USB_RESP_STATUS_FAILURE) {
if (response[2] & PMC_USB_RESP_STATUS_FATAL)
return -EIO;
return -EBUSY;
}
Expand Down

0 comments on commit b7404a2

Please sign in to comment.