Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff4474f8 authored by Tom Huang's avatar Tom Huang Committed by Android (Google) Code Review
Browse files

Merge "BQR: vendor specific quality and trace event" into tm-qpr-dev

parents 413a6c75 290f9dbb
Loading
Loading
Loading
Loading
+23 −11
Original line number Original line Diff line number Diff line
@@ -49,6 +49,10 @@ namespace bqr {
//     When the controller encounters an error it shall report Root Inflammation
//     When the controller encounters an error it shall report Root Inflammation
//     event indicating the error code to the host.
//     event indicating the error code to the host.
//
//
//   [Vendor Specific Quality]
//     Used for the controller vendor to define the vendor proprietary quality
//     event(s).
//
//   [LMP/LL message trace]
//   [LMP/LL message trace]
//     The controller sends the LMP/LL message handshaking with the remote
//     The controller sends the LMP/LL message handshaking with the remote
//     device to the host.
//     device to the host.
@@ -63,22 +67,28 @@ namespace bqr {
//     just can autonomously report debug logging information via the Controller
//     just can autonomously report debug logging information via the Controller
//     Debug Info sub-event to the host.
//     Debug Info sub-event to the host.
//
//
//   [Vendor Specific Trace]
//     Used for the controller vendor to define the vendor proprietary trace(s).
//


// Bit masks for the selected quality event reporting.
// Bit masks for the selected quality event reporting.
static constexpr uint32_t kQualityEventMaskAllOff = 0;
static constexpr uint32_t kQualityEventMaskAllOff = 0;
static constexpr uint32_t kQualityEventMaskMonitorMode = 0x00000001;
static constexpr uint32_t kQualityEventMaskMonitorMode = 0x1 << 0;
static constexpr uint32_t kQualityEventMaskApproachLsto = 0x00000002;
static constexpr uint32_t kQualityEventMaskApproachLsto = 0x1 << 1;
static constexpr uint32_t kQualityEventMaskA2dpAudioChoppy = 0x00000004;
static constexpr uint32_t kQualityEventMaskA2dpAudioChoppy = 0x1 << 2;
static constexpr uint32_t kQualityEventMaskScoVoiceChoppy = 0x00000008;
static constexpr uint32_t kQualityEventMaskScoVoiceChoppy = 0x1 << 3;
static constexpr uint32_t kQualityEventMaskRootInflammation = 0x00000010;
static constexpr uint32_t kQualityEventMaskRootInflammation = 0x1 << 4;
static constexpr uint32_t kQualityEventMaskLmpMessageTrace = 0x00010000;
static constexpr uint32_t kQualityEventMaskVendorSpecificQuality = 0x1 << 15;
static constexpr uint32_t kQualityEventMaskBtSchedulingTrace = 0x00020000;
static constexpr uint32_t kQualityEventMaskLmpMessageTrace = 0x1 << 16;
static constexpr uint32_t kQualityEventMaskControllerDbgInfo = 0x00040000;
static constexpr uint32_t kQualityEventMaskBtSchedulingTrace = 0x1 << 17;
static constexpr uint32_t kQualityEventMaskControllerDbgInfo = 0x1 << 18;
static constexpr uint32_t kQualityEventMaskVendorSpecificTrace = 0x1 << 31;
static constexpr uint32_t kQualityEventMaskAll =
static constexpr uint32_t kQualityEventMaskAll =
    kQualityEventMaskMonitorMode | kQualityEventMaskApproachLsto |
    kQualityEventMaskMonitorMode | kQualityEventMaskApproachLsto |
    kQualityEventMaskA2dpAudioChoppy | kQualityEventMaskScoVoiceChoppy |
    kQualityEventMaskA2dpAudioChoppy | kQualityEventMaskScoVoiceChoppy |
    kQualityEventMaskRootInflammation | kQualityEventMaskLmpMessageTrace |
    kQualityEventMaskRootInflammation | kQualityEventMaskVendorSpecificQuality |
    kQualityEventMaskBtSchedulingTrace | kQualityEventMaskControllerDbgInfo;
    kQualityEventMaskLmpMessageTrace | kQualityEventMaskBtSchedulingTrace |
    kQualityEventMaskControllerDbgInfo | kQualityEventMaskVendorSpecificTrace;
// Define the minimum time interval (in ms) of quality event reporting for the
// Define the minimum time interval (in ms) of quality event reporting for the
// selected quality event(s). Controller Firmware should not report the next
// selected quality event(s). Controller Firmware should not report the next
// event within the defined time interval.
// event within the defined time interval.
@@ -150,9 +160,11 @@ enum BqrQualityReportId : uint8_t {
  QUALITY_REPORT_ID_SCO_VOICE_CHOPPY = 0x04,
  QUALITY_REPORT_ID_SCO_VOICE_CHOPPY = 0x04,
  QUALITY_REPORT_ID_ROOT_INFLAMMATION = 0x05,
  QUALITY_REPORT_ID_ROOT_INFLAMMATION = 0x05,
  QUALITY_REPORT_ID_LE_AUDIO_CHOPPY = 0x07,
  QUALITY_REPORT_ID_LE_AUDIO_CHOPPY = 0x07,
  QUALITY_REPORT_ID_VENDOR_SPECIFIC_QUALITY = 0x10,
  QUALITY_REPORT_ID_LMP_LL_MESSAGE_TRACE = 0x11,
  QUALITY_REPORT_ID_LMP_LL_MESSAGE_TRACE = 0x11,
  QUALITY_REPORT_ID_BT_SCHEDULING_TRACE = 0x12,
  QUALITY_REPORT_ID_BT_SCHEDULING_TRACE = 0x12,
  QUALITY_REPORT_ID_CONTROLLER_DBG_INFO = 0x13
  QUALITY_REPORT_ID_CONTROLLER_DBG_INFO = 0x13,
  QUALITY_REPORT_ID_VENDOR_SPECIFIC_TRACE = 0x20,
};
};


// Packet Type definition
// Packet Type definition