From: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
To: Marcel Holtmann <marcel@holtmann.org>,
Johan Hedberg <johan.hedberg@gmail.com>,
Rob Herring <robh+dt@kernel.org>
Cc: linux-bluetooth@vger.kernel.org, dianders@chromium.org,
Abhishek Pandit-Subedi <abhishekpandit@chromium.org>,
linux-kernel@vger.kernel.org
Subject: [PATCH v2 2/4] Bluetooth: btbcm: Support pcm configuration
Date: Thu, 7 Nov 2019 15:27:10 -0800 [thread overview]
Message-ID: <20191107232713.48577-3-abhishekpandit@chromium.org> (raw)
In-Reply-To: <20191107232713.48577-1-abhishekpandit@chromium.org>
Add BCM vendor specific commands to configure PCM.
Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
---
Changes in v2: None
drivers/bluetooth/btbcm.c | 35 +++++++++++++++++++++++++++++++++++
drivers/bluetooth/btbcm.h | 10 ++++++++++
2 files changed, 45 insertions(+)
diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c
index 2d2e6d862068..f052518f7b0c 100644
--- a/drivers/bluetooth/btbcm.c
+++ b/drivers/bluetooth/btbcm.c
@@ -105,6 +105,41 @@ int btbcm_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
}
EXPORT_SYMBOL_GPL(btbcm_set_bdaddr);
+int btbcm_set_pcm_params(struct hci_dev *hdev,
+ const struct bcm_set_pcm_int_params *int_params,
+ const struct bcm_set_pcm_format_params *format_params)
+{
+ struct sk_buff *skb;
+ int err;
+
+ if (int_params) {
+ skb = __hci_cmd_sync(hdev, 0xfc1c, 5, int_params,
+ HCI_INIT_TIMEOUT);
+ if (IS_ERR(skb)) {
+ err = PTR_ERR(skb);
+ bt_dev_err(hdev, "BCM: Set PCM int params failed (%d)",
+ err);
+ return err;
+ }
+ kfree_skb(skb);
+ }
+
+ if (format_params) {
+ skb = __hci_cmd_sync(hdev, 0xfc1e, 5, format_params,
+ HCI_INIT_TIMEOUT);
+ if (IS_ERR(skb)) {
+ err = PTR_ERR(skb);
+ bt_dev_err(hdev, "BCM: Set PCM data params failed (%d)",
+ err);
+ return err;
+ }
+ kfree_skb(skb);
+ }
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(btbcm_set_pcm_params);
+
int btbcm_patchram(struct hci_dev *hdev, const struct firmware *fw)
{
const struct hci_command_hdr *cmd;
diff --git a/drivers/bluetooth/btbcm.h b/drivers/bluetooth/btbcm.h
index d204be8a84bf..f0a63c65544e 100644
--- a/drivers/bluetooth/btbcm.h
+++ b/drivers/bluetooth/btbcm.h
@@ -54,6 +54,9 @@ struct bcm_set_pcm_format_params {
int btbcm_check_bdaddr(struct hci_dev *hdev);
int btbcm_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr);
int btbcm_patchram(struct hci_dev *hdev, const struct firmware *fw);
+int btbcm_set_pcm_params(struct hci_dev *hdev,
+ const struct bcm_set_pcm_int_params *int_params,
+ const struct bcm_set_pcm_format_params *format_params);
int btbcm_setup_patchram(struct hci_dev *hdev);
int btbcm_setup_apple(struct hci_dev *hdev);
@@ -74,6 +77,13 @@ static inline int btbcm_set_bdaddr(struct hci_dev *hdev, const bdaddr_t *bdaddr)
return -EOPNOTSUPP;
}
+int btbcm_set_pcm_params(struct hci_dev *hdev,
+ const struct bcm_set_pcm_int_params *int_params,
+ const struct bcm_set_pcm_format_params *format_params)
+{
+ return -EOPNOTSUPP;
+}
+
static inline int btbcm_patchram(struct hci_dev *hdev, const struct firmware *fw)
{
return -EOPNOTSUPP;
--
2.24.0.rc1.363.gb1bccd3e3d-goog
next prev parent reply other threads:[~2019-11-07 23:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-07 23:27 [PATCH v2 0/4] Bluetooth: hci_bcm: Additional changes for BCM4354 support Abhishek Pandit-Subedi
2019-11-07 23:27 ` [PATCH v2 1/4] Bluetooth: hci_bcm: Disallow set_baudrate for BCM4354 Abhishek Pandit-Subedi
2019-11-08 6:08 ` Marcel Holtmann
2019-11-07 23:27 ` Abhishek Pandit-Subedi [this message]
2019-11-08 6:11 ` [PATCH v2 2/4] Bluetooth: btbcm: Support pcm configuration Marcel Holtmann
2019-11-07 23:27 ` [PATCH v2 3/4] Bluetooth: hci_bcm: Support pcm params in dts Abhishek Pandit-Subedi
2019-11-07 23:27 ` [PATCH v2 4/4] dt-bindings: net: broadcom-bluetooth: Add pcm config Abhishek Pandit-Subedi
2019-11-08 6:12 ` Marcel Holtmann
2019-11-26 7:17 [PATCH v2 2/4] Bluetooth: btbcm: Support pcm configuration Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191107232713.48577-3-abhishekpandit@chromium.org \
--to=abhishekpandit@chromium.org \
--cc=dianders@chromium.org \
--cc=johan.hedberg@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.