diff mbox series

[2/2] usb: typec: ucsi: Enable UCSI v2.0 notifications

Message ID 20240524105837.15342-3-diogo.ivo@tecnico.ulisboa.pt (mailing list archive)
State Accepted
Commit 5821bf2dffbe18fe1f097dbb027415fa15a38e9a
Headers show
Series usb: typec: ucsi: Update optional notifications for UCSI v2.0 | expand

Commit Message

Diogo Ivo May 24, 2024, 10:58 a.m. UTC
UCSI version 2.0 and above define new PPM notifications. Update the
logic to determine which notifications to enable taking into account
these changes.

Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
---
 drivers/usb/typec/ucsi/ucsi.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

Comments

kernel test robot May 24, 2024, 3:28 p.m. UTC | #1
Hi Diogo,

kernel test robot noticed the following build errors:

[auto build test ERROR on usb/usb-testing]
[also build test ERROR on usb/usb-next usb/usb-linus linus/master next-20240523]
[cannot apply to v6.9]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Diogo-Ivo/usb-typec-ucsi-Add-new-capability-bits/20240524-190924
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
patch link:    https://lore.kernel.org/r/20240524105837.15342-3-diogo.ivo%40tecnico.ulisboa.pt
patch subject: [PATCH 2/2] usb: typec: ucsi: Enable UCSI v2.0 notifications
config: arm-defconfig (https://download.01.org/0day-ci/archive/20240524/202405242305.UrCRaTK0-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240524/202405242305.UrCRaTK0-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405242305.UrCRaTK0-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/usb/typec/ucsi/ucsi.c:1686:10: error: use of undeclared identifier 'UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE'
           ntfy |= UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE;
                   ^
>> drivers/usb/typec/ucsi/ucsi.c:1689:11: error: use of undeclared identifier 'UCSI_ENABLE_NTFY_ATTENTION'
                   ntfy |= UCSI_ENABLE_NTFY_ATTENTION;
                           ^
>> drivers/usb/typec/ucsi/ucsi.c:1692:11: error: use of undeclared identifier 'UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ'
                   ntfy |= UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ;
                           ^
>> drivers/usb/typec/ucsi/ucsi.c:1695:11: error: use of undeclared identifier 'UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER'
                   ntfy |= UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER;
                           ^
>> drivers/usb/typec/ucsi/ucsi.c:1698:11: error: use of undeclared identifier 'UCSI_ENABLE_NTFY_SET_RETIMER_MODE'
                   ntfy |= UCSI_ENABLE_NTFY_SET_RETIMER_MODE;
                           ^
   5 errors generated.


vim +/UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE +1686 drivers/usb/typec/ucsi/ucsi.c

  1664	
  1665	static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
  1666	{
  1667		u16 features = ucsi->cap.features;
  1668		u64 ntfy = UCSI_ENABLE_NTFY_ALL;
  1669	
  1670		if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
  1671			ntfy &= ~UCSI_ENABLE_NTFY_CAM_CHANGE;
  1672	
  1673		if (!(features & UCSI_CAP_PDO_DETAILS))
  1674			ntfy &= ~(UCSI_ENABLE_NTFY_PWR_LEVEL_CHANGE |
  1675				  UCSI_ENABLE_NTFY_CAP_CHANGE);
  1676	
  1677		if (!(features & UCSI_CAP_EXT_SUPPLY_NOTIFICATIONS))
  1678			ntfy &= ~UCSI_ENABLE_NTFY_EXT_PWR_SRC_CHANGE;
  1679	
  1680		if (!(features & UCSI_CAP_PD_RESET))
  1681			ntfy &= ~UCSI_ENABLE_NTFY_PD_RESET_COMPLETE;
  1682	
  1683		if (ucsi->version <= UCSI_VERSION_1_2)
  1684			return ntfy;
  1685	
> 1686		ntfy |= UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE;
  1687	
  1688		if (features & UCSI_CAP_GET_ATTENTION_VDO)
> 1689			ntfy |= UCSI_ENABLE_NTFY_ATTENTION;
  1690	
  1691		if (features & UCSI_CAP_FW_UPDATE_REQUEST)
> 1692			ntfy |= UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ;
  1693	
  1694		if (features & UCSI_CAP_SECURITY_REQUEST)
> 1695			ntfy |= UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER;
  1696	
  1697		if (features & UCSI_CAP_SET_RETIMER_MODE)
> 1698			ntfy |= UCSI_ENABLE_NTFY_SET_RETIMER_MODE;
  1699	
  1700		return ntfy;
  1701	}
  1702
kernel test robot May 24, 2024, 3:38 p.m. UTC | #2
Hi Diogo,

kernel test robot noticed the following build errors:

[auto build test ERROR on usb/usb-testing]
[also build test ERROR on usb/usb-next usb/usb-linus linus/master next-20240523]
[cannot apply to v6.9]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Diogo-Ivo/usb-typec-ucsi-Add-new-capability-bits/20240524-190924
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
patch link:    https://lore.kernel.org/r/20240524105837.15342-3-diogo.ivo%40tecnico.ulisboa.pt
patch subject: [PATCH 2/2] usb: typec: ucsi: Enable UCSI v2.0 notifications
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20240524/202405242300.OetIYSh1-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240524/202405242300.OetIYSh1-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405242300.OetIYSh1-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/usb/typec/ucsi/ucsi.c: In function 'ucsi_get_supported_notifications':
>> drivers/usb/typec/ucsi/ucsi.c:1686:17: error: 'UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE' undeclared (first use in this function); did you mean 'UCSI_ENABLE_NTFY_EXT_PWR_SRC_CHANGE'?
    1686 |         ntfy |= UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE;
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                 UCSI_ENABLE_NTFY_EXT_PWR_SRC_CHANGE
   drivers/usb/typec/ucsi/ucsi.c:1686:17: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/usb/typec/ucsi/ucsi.c:1689:25: error: 'UCSI_ENABLE_NTFY_ATTENTION' undeclared (first use in this function); did you mean 'UCSI_ENABLE_NTFY_ERROR'?
    1689 |                 ntfy |= UCSI_ENABLE_NTFY_ATTENTION;
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
         |                         UCSI_ENABLE_NTFY_ERROR
>> drivers/usb/typec/ucsi/ucsi.c:1692:25: error: 'UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ' undeclared (first use in this function)
    1692 |                 ntfy |= UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ;
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/usb/typec/ucsi/ucsi.c:1695:25: error: 'UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER' undeclared (first use in this function)
    1695 |                 ntfy |= UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER;
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/usb/typec/ucsi/ucsi.c:1698:25: error: 'UCSI_ENABLE_NTFY_SET_RETIMER_MODE' undeclared (first use in this function); did you mean 'UCSI_CAP_SET_RETIMER_MODE'?
    1698 |                 ntfy |= UCSI_ENABLE_NTFY_SET_RETIMER_MODE;
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                         UCSI_CAP_SET_RETIMER_MODE


vim +1686 drivers/usb/typec/ucsi/ucsi.c

  1664	
  1665	static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
  1666	{
  1667		u16 features = ucsi->cap.features;
  1668		u64 ntfy = UCSI_ENABLE_NTFY_ALL;
  1669	
  1670		if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
  1671			ntfy &= ~UCSI_ENABLE_NTFY_CAM_CHANGE;
  1672	
  1673		if (!(features & UCSI_CAP_PDO_DETAILS))
  1674			ntfy &= ~(UCSI_ENABLE_NTFY_PWR_LEVEL_CHANGE |
  1675				  UCSI_ENABLE_NTFY_CAP_CHANGE);
  1676	
  1677		if (!(features & UCSI_CAP_EXT_SUPPLY_NOTIFICATIONS))
  1678			ntfy &= ~UCSI_ENABLE_NTFY_EXT_PWR_SRC_CHANGE;
  1679	
  1680		if (!(features & UCSI_CAP_PD_RESET))
  1681			ntfy &= ~UCSI_ENABLE_NTFY_PD_RESET_COMPLETE;
  1682	
  1683		if (ucsi->version <= UCSI_VERSION_1_2)
  1684			return ntfy;
  1685	
> 1686		ntfy |= UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE;
  1687	
  1688		if (features & UCSI_CAP_GET_ATTENTION_VDO)
> 1689			ntfy |= UCSI_ENABLE_NTFY_ATTENTION;
  1690	
  1691		if (features & UCSI_CAP_FW_UPDATE_REQUEST)
> 1692			ntfy |= UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ;
  1693	
  1694		if (features & UCSI_CAP_SECURITY_REQUEST)
> 1695			ntfy |= UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER;
  1696	
  1697		if (features & UCSI_CAP_SET_RETIMER_MODE)
> 1698			ntfy |= UCSI_ENABLE_NTFY_SET_RETIMER_MODE;
  1699	
  1700		return ntfy;
  1701	}
  1702
Dmitry Baryshkov May 24, 2024, 8:31 p.m. UTC | #3
On Fri, May 24, 2024 at 11:58:21AM +0100, Diogo Ivo wrote:
> UCSI version 2.0 and above define new PPM notifications. Update the
> logic to determine which notifications to enable taking into account
> these changes.
> 
> Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
> ---
>  drivers/usb/typec/ucsi/ucsi.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 


Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Heikki Krogerus June 3, 2024, 10:10 a.m. UTC | #4
On Fri, May 24, 2024 at 11:58:21AM +0100, Diogo Ivo wrote:
> UCSI version 2.0 and above define new PPM notifications. Update the
> logic to determine which notifications to enable taking into account
> these changes.
> 
> Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
>  drivers/usb/typec/ucsi/ucsi.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
> index cb52e7b0a2c5..0cc1c49da4a0 100644
> --- a/drivers/usb/typec/ucsi/ucsi.c
> +++ b/drivers/usb/typec/ucsi/ucsi.c
> @@ -1664,7 +1664,7 @@ static int ucsi_register_port(struct ucsi *ucsi, struct ucsi_connector *con)
>  
>  static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
>  {
> -	u8 features = ucsi->cap.features;
> +	u16 features = ucsi->cap.features;
>  	u64 ntfy = UCSI_ENABLE_NTFY_ALL;
>  
>  	if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
> @@ -1680,6 +1680,23 @@ static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
>  	if (!(features & UCSI_CAP_PD_RESET))
>  		ntfy &= ~UCSI_ENABLE_NTFY_PD_RESET_COMPLETE;
>  
> +	if (ucsi->version <= UCSI_VERSION_1_2)
> +		return ntfy;
> +
> +	ntfy |= UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE;
> +
> +	if (features & UCSI_CAP_GET_ATTENTION_VDO)
> +		ntfy |= UCSI_ENABLE_NTFY_ATTENTION;
> +
> +	if (features & UCSI_CAP_FW_UPDATE_REQUEST)
> +		ntfy |= UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ;
> +
> +	if (features & UCSI_CAP_SECURITY_REQUEST)
> +		ntfy |= UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER;
> +
> +	if (features & UCSI_CAP_SET_RETIMER_MODE)
> +		ntfy |= UCSI_ENABLE_NTFY_SET_RETIMER_MODE;
> +
>  	return ntfy;
>  }
>  
> -- 
> 2.45.1
diff mbox series

Patch

diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
index cb52e7b0a2c5..0cc1c49da4a0 100644
--- a/drivers/usb/typec/ucsi/ucsi.c
+++ b/drivers/usb/typec/ucsi/ucsi.c
@@ -1664,7 +1664,7 @@  static int ucsi_register_port(struct ucsi *ucsi, struct ucsi_connector *con)
 
 static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
 {
-	u8 features = ucsi->cap.features;
+	u16 features = ucsi->cap.features;
 	u64 ntfy = UCSI_ENABLE_NTFY_ALL;
 
 	if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
@@ -1680,6 +1680,23 @@  static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
 	if (!(features & UCSI_CAP_PD_RESET))
 		ntfy &= ~UCSI_ENABLE_NTFY_PD_RESET_COMPLETE;
 
+	if (ucsi->version <= UCSI_VERSION_1_2)
+		return ntfy;
+
+	ntfy |= UCSI_ENABLE_NTFY_SINK_PATH_STS_CHANGE;
+
+	if (features & UCSI_CAP_GET_ATTENTION_VDO)
+		ntfy |= UCSI_ENABLE_NTFY_ATTENTION;
+
+	if (features & UCSI_CAP_FW_UPDATE_REQUEST)
+		ntfy |= UCSI_ENABLE_NTFY_LPM_FW_UPDATE_REQ;
+
+	if (features & UCSI_CAP_SECURITY_REQUEST)
+		ntfy |= UCSI_ENABLE_NTFY_SECURITY_REQ_PARTNER;
+
+	if (features & UCSI_CAP_SET_RETIMER_MODE)
+		ntfy |= UCSI_ENABLE_NTFY_SET_RETIMER_MODE;
+
 	return ntfy;
 }