usb: typec: ucsi: UCSI2.0 Get Error Status data structure changes
authorPooja Katiyar <pooja.katiyar@intel.com>
Wed, 26 Jun 2024 18:58:53 +0000 (11:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jun 2024 14:09:41 +0000 (16:09 +0200)
Add support for UCSI 2.0 Get Error Status data structure changes
to add more error codes to the data structure.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Pooja Katiyar <pooja.katiyar@intel.com>
Link: https://lore.kernel.org/r/20240626185853.2956700-1-pooja.katiyar@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi.c
drivers/usb/typec/ucsi/ucsi.h

index 77e46bf4a0980e6550a7f04f09163223f53ac5f9..c80454778d91c07900d2cdf450f02dfe0da9a703 100644 (file)
@@ -117,6 +117,12 @@ static int ucsi_read_error(struct ucsi *ucsi)
        case UCSI_ERROR_SWAP_REJECTED:
                dev_warn(ucsi->dev, "Swap rejected\n");
                break;
+       case UCSI_ERROR_REVERSE_CURRENT_PROTECTION:
+               dev_warn(ucsi->dev, "Reverse Current Protection detected\n");
+               break;
+       case UCSI_ERROR_SET_SINK_PATH_REJECTED:
+               dev_warn(ucsi->dev, "Set Sink Path rejected\n");
+               break;
        case UCSI_ERROR_UNDEFINED:
        default:
                dev_err(ucsi->dev, "unknown error %u\n", error);
index 1280cac314fea15cd550728e392e5ab2d1accf36..47a3a0ca2c15eaf5ddf27a1941bf0701f4a786a3 100644 (file)
@@ -198,6 +198,8 @@ void ucsi_connector_change(struct ucsi *ucsi, u8 num);
 #define UCSI_ERROR_HARD_RESET                  BIT(10)
 #define UCSI_ERROR_PPM_POLICY_CONFLICT         BIT(11)
 #define UCSI_ERROR_SWAP_REJECTED               BIT(12)
+#define UCSI_ERROR_REVERSE_CURRENT_PROTECTION  BIT(13)
+#define UCSI_ERROR_SET_SINK_PATH_REJECTED      BIT(14)
 
 #define UCSI_SET_NEW_CAM_ENTER(x)              (((x) >> 23) & 0x1)
 #define UCSI_SET_NEW_CAM_GET_AM(x)             (((x) >> 24) & 0xff)