From 92b4b624da4ecb5e1f6824711abc8d617e241b2e Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 4 Jun 2020 12:00:48 -0700 Subject: fw-api: CL 10581227 - update fw common interface files Change-Id: I6e587a75eafd929f5769b55c24beb6d61bc4fe62 WMI: add bitfield in roam_reason for extension portion of trigger_reason CRs-Fixed: 2262693 --- fw/wmi_unified.h | 25 +++++++++++++++++++++---- fw/wmi_version.h | 2 +- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 5317398..a9c2f46 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -14501,6 +14501,20 @@ typedef enum (((roam_reason) & WMI_ROAM_REQUEST_HOST_HW_MODE_CHANGE_MASK) >> \ WMI_ROAM_REQUEST_HOST_HW_MODE_CHANGE_SHIFT) +/* Bits 0-3: stores 4 LSbs of trigger reason. + * Old host will get trigger reasons <= 15 from this bitfield. + * Bit 7 will be 1 always to indicate that bits 8-15 are valid. + * Bits 8-15: full trigger_reason, including values > 15. + * New host will gett full trigger_reason from this bitfield. + * Bits 8-11 and bits 0-3 store matching values. + */ +#define WMI_SET_ROAM_EXT_TRIGGER_REASON(roam_reason, trigger_reason) \ + do { \ + (roam_reason) |= (trigger_reason & 0xf); \ + (roam_reason) |= 0x80; \ + (roam_reason) |= ((trigger_reason & 0xff) << 8); \ + } while (0) + /* roaming notification */ #define WMI_ROAM_NOTIF_INVALID 0x0 /** invalid notification. Do not interpret notif field */ #define WMI_ROAM_NOTIF_ROAM_START 0x1 /** indicate that roaming is started. sent only in non WOW state */ @@ -20088,10 +20102,13 @@ typedef struct { /** auth_status: connected or authorized */ A_UINT32 auth_status; /** roam_reason: - * bits 0-3 for roam reason see WMI_ROAM_REASON_XXX - * bits 4-5 for subnet status see WMI_ROAM_SUBNET_CHANGE_STATUS_XXX. - * bit 6 for HW mode status, set 1 to indicate host to schedule - * HW mode change, see WMI_ROAM_REQUEST_HOST_HW_MODE_CHANGE. + * bits 0-3 roam trigger reason LSbs - see WMI_ROAM_TRIGGER_REASON_XXX + * bits 4-5 subnet status - see WMI_ROAM_SUBNET_CHANGE_STATUS_XXX. + * bit 6 HW mode status, set 1 to indicate host to schedule + * HW mode change, see WMI_ROAM_REQUEST_HOST_HW_MODE_CHANGE. + * bit 7 0x1 to show bits 8-15 are valid + * bits 8-15 full WMI_ROAM_TRIGGER_REASON_ID/WMI_ROAM_TRIGGER_EXT_REASON_ID + * since 4 bits are not enough. */ A_UINT32 roam_reason; /** associated AP's rssi calculated by FW when reason code is WMI_ROAM_REASON_LOW_RSSI. not valid if roam_reason is BMISS */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index a22508c..5f1f476 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 845 +#define __WMI_REVISION_ 846 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work -- cgit v1.2.3