Skip to content
Snippets Groups Projects
  1. Aug 05, 2021
  2. Mar 25, 2021
  3. Mar 08, 2021
  4. Dec 18, 2020
  5. Dec 07, 2020
  6. Sep 14, 2020
  7. Sep 13, 2020
  8. Jun 10, 2020
  9. Feb 13, 2020
  10. Oct 17, 2019
  11. May 30, 2019
  12. Jan 25, 2018
  13. Jan 24, 2018
  14. Jan 08, 2018
  15. Oct 30, 2017
  16. May 23, 2017
  17. Dec 09, 2015
  18. Oct 21, 2015
  19. Oct 20, 2015
  20. Oct 03, 2015
    • Loic Poulain's avatar
      Bluetooth: btintel: Add iBT register access over HCI support · d06f107b
      Loic Poulain authored
      
      Add regmap ibt to support Intel Bluetooth silicon register access
      over HCI. Intel BT/FM combo chip allows to read/write some registers
      (e.g. FM registers) via its HCI interface.
      
      Read/Write operations are performed via a HCI transaction composed of
      a HCI command (host->controller) followed by a HCI command complete
      event (controller->host). Read/Write Command opcodes can be specified
      to the regmap init function.
      We define data formats which are intel/vendor specific.
      
      Register Read/Write HCI command payload (Host):
      Field: | REG ADDR | MODE | DATA_LEN | DATA... |
      size:  |   32b    |  8b  |    8b    |  8b*    |
      
      Register Read HCI command complete event payload (Controller):
      Field: | CMD STATUS | REG ADDR | DATA... |
      size:  |     8b     |   32b    |  8b*    |
      
      Register Write HCI command complete event payload (Controller):
      Field: | CMD_STATUS |
      size:  |     8b     |
      
      Since this payload is HCI encapsulated, Little Endian byte order is
      used.
      
      Write/Read Example:
      
      If we write 0x0000002a at address 0x00008c04, with opcode_write 0xfc5d,
      The resulting transaction is (btmon trace):
      
      < HCI Command (0x3f|0x005d) plen 10 [hci0]
              04 8c 00 00 02 04 2a 00 00 00
      > HCI Event (0x0e) plen 4
            Unknown (0x3f|0x005d) ncmd 1
              00
      
      Then, if we read the same register with opcode_read 0xfc5e:
      
      < HCI Command (0x3f|0x005e) plen 6 [hci0]
              04 8c 00 00 02 04
      > HCI Event (0x0e) plen 12 [hci0]
            Unknown (0x3f|0x005e) ncmd 1
              00 04 8c 00 00 2a 00 00 00
      
      Signed-off-by: default avatarLoic Poulain <loic.poulain@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      d06f107b
  21. Sep 17, 2015
  22. Aug 28, 2015
  23. Jul 23, 2015
  24. May 15, 2015
    • Frederic Danis's avatar
      Bluetooth: btintel: Fix calls to __hci_cmd_sync() · b1f5cf0c
      Frederic Danis authored
      
      Remove test of command reply status as it is already performed by
      __hci_cmd_sync().
      
      __hci_cmd_sync_ev() function already returns an error if it got a
      non-zero status either through a Command Complete or a Command
      Status event.
      
      For both of these events the status is collected up in the event
      handlers called by hci_event_packet() and then passed as the second
      parameter to req_complete_skb(). The req_complete_skb() callback in
      turn is hci_req_sync_complete() for __hci_cmd_sync_ev() which stores
      the status in hdev->req_result. The hdev->req_result is then further
      converted through bt_to_errno() back in __hci_cmd_sync_ev().
      
      Signed-off-by: default avatarFrederic Danis <frederic.danis@linux.intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      b1f5cf0c
Loading