monitor/intel: Add decoding of PPAG Enable command
authorLokendra Singh <lokendra.singh@intel.com>
Fri, 18 Aug 2023 04:45:43 +0000 (10:15 +0530)
committerAyush Garg <ayush.garg@samsung.com>
Fri, 5 Jan 2024 13:34:03 +0000 (19:04 +0530)
Add decoding support for Intel PPAG Enable
command.

btmon log:
< HCI Command: Intel PPAG Enable (0x3f|0x020b) plen 4
        Enable: 0x00000002 (China)
> HCI Event: Command Complete (0x0e) plen 4
      Intel PPAG Enable (0x3f|0x020b) ncmd 1
        Status: Success (0x00)

monitor/intel.c

index 2b321ec..90fabf4 100755 (executable)
@@ -711,6 +711,29 @@ static void read_supported_features_rsp(uint16_t index, const void *data,
        packet_hexdump(data + 3, size - 3);
 }
 
+static void ppag_enable(uint16_t index, const void *data, uint8_t size)
+{
+       uint32_t enable = get_le32(data);
+       char *ppag_enable_flags;
+
+       switch (enable) {
+       case 0x01:
+               ppag_enable_flags = "EU";
+               break;
+       case 0x02:
+               ppag_enable_flags = "China";
+               break;
+       case 0x03:
+               ppag_enable_flags = "EU and China";
+               break;
+       default:
+               ppag_enable_flags = "Unknown";
+               break;
+       }
+
+       print_field("Enable: %s (0x%8.8x)", ppag_enable_flags, enable);
+}
+
 static const struct vendor_ocf vendor_ocf_table[] = {
        { 0x001, "Reset",
                        reset_cmd, 8, true,
@@ -776,7 +799,9 @@ static const struct vendor_ocf vendor_ocf_table[] = {
        { 0x0a6, "Read Supported Features",
                        read_supported_features_cmd, 1, true,
                        read_supported_features_rsp, 19, true },
-
+       { 0x20b, "PPAG Enable",
+                       ppag_enable, 4, true,
+                       status_rsp, 1, true },
        { }
 };