diff mbox series

[v9,03/10] Bluetooth: Add a callback function to retireve data path

Message ID 20210608122455.19583-3-kiran.k@intel.com (mailing list archive)
State New, archived
Headers show
Series [v9,01/10] Bluetooth: enumerate local supported codec and cache details | expand

Commit Message

K, Kiran June 8, 2021, 12:24 p.m. UTC
There is no standard HCI command to retrieve data path for transport.
Add a new callback function to retrieve data path which is used
in offload usecase. This needs to be set at setup stage if controller
supports offload codecs

Signed-off-by: Kiran K <kiran.k@intel.com>
Reviewed-by: Chethan T N <chethan.tumkur.narayan@intel.com>
Reviewed-by: Srivatsa Ravishankar <ravishankar.srivatsa@intel.com>
---
* changes in v9:
  - define a separate patch for core changes

 include/net/bluetooth/hci_core.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Marcel Holtmann June 15, 2021, 7:26 p.m. UTC | #1
Hi Kiran,

> There is no standard HCI command to retrieve data path for transport.
> Add a new callback function to retrieve data path which is used
> in offload usecase. This needs to be set at setup stage if controller
> supports offload codecs
> 
> Signed-off-by: Kiran K <kiran.k@intel.com>
> Reviewed-by: Chethan T N <chethan.tumkur.narayan@intel.com>
> Reviewed-by: Srivatsa Ravishankar <ravishankar.srivatsa@intel.com>
> ---
> * changes in v9:
>  - define a separate patch for core changes
> 
> include/net/bluetooth/hci_core.h | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
> index 3284044c3dd7..641477396da3 100644
> --- a/include/net/bluetooth/hci_core.h
> +++ b/include/net/bluetooth/hci_core.h
> @@ -617,6 +617,7 @@ struct hci_dev {
> 	int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
> 	void (*cmd_timeout)(struct hci_dev *hdev);
> 	bool (*prevent_wake)(struct hci_dev *hdev);
> +	int (*get_data_path)(struct hci_dev *hdev);
> };

and where is the code using hdev->get_data_path. That code needs to be in this patch.

Regards

Marcel
K, Kiran June 16, 2021, 2:56 a.m. UTC | #2
Hi Marcel,

> Hi Kiran,
> 
> > There is no standard HCI command to retrieve data path for transport.
> > Add a new callback function to retrieve data path which is used in
> > offload usecase. This needs to be set at setup stage if controller
> > supports offload codecs
> >
> > Signed-off-by: Kiran K <kiran.k@intel.com>
> > Reviewed-by: Chethan T N <chethan.tumkur.narayan@intel.com>
> > Reviewed-by: Srivatsa Ravishankar <ravishankar.srivatsa@intel.com>
> > ---
> > * changes in v9:
> >  - define a separate patch for core changes
> >
> > include/net/bluetooth/hci_core.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/include/net/bluetooth/hci_core.h
> > b/include/net/bluetooth/hci_core.h
> > index 3284044c3dd7..641477396da3 100644
> > --- a/include/net/bluetooth/hci_core.h
> > +++ b/include/net/bluetooth/hci_core.h
> > @@ -617,6 +617,7 @@ struct hci_dev {
> > 	int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
> > 	void (*cmd_timeout)(struct hci_dev *hdev);
> > 	bool (*prevent_wake)(struct hci_dev *hdev);
> > +	int (*get_data_path)(struct hci_dev *hdev);
> > };
> 
> and where is the code using hdev->get_data_path. That code needs to be in
> this patch.

In the previous patchset, there was a comment to separate out driver and core changes. Let me know if I am missing something here.
https://patchwork.kernel.org/project/bluetooth/patch/20210518104232.5431-3-kiran.k@intel.com/

> 
> Regards
> 
> Marcel

Regards,
Kiran
Marcel Holtmann June 16, 2021, 5:17 a.m. UTC | #3
Hi Kiran,

>>> There is no standard HCI command to retrieve data path for transport.
>>> Add a new callback function to retrieve data path which is used in
>>> offload usecase. This needs to be set at setup stage if controller
>>> supports offload codecs
>>> 
>>> Signed-off-by: Kiran K <kiran.k@intel.com>
>>> Reviewed-by: Chethan T N <chethan.tumkur.narayan@intel.com>
>>> Reviewed-by: Srivatsa Ravishankar <ravishankar.srivatsa@intel.com>
>>> ---
>>> * changes in v9:
>>> - define a separate patch for core changes
>>> 
>>> include/net/bluetooth/hci_core.h | 1 +
>>> 1 file changed, 1 insertion(+)
>>> 
>>> diff --git a/include/net/bluetooth/hci_core.h
>>> b/include/net/bluetooth/hci_core.h
>>> index 3284044c3dd7..641477396da3 100644
>>> --- a/include/net/bluetooth/hci_core.h
>>> +++ b/include/net/bluetooth/hci_core.h
>>> @@ -617,6 +617,7 @@ struct hci_dev {
>>> 	int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
>>> 	void (*cmd_timeout)(struct hci_dev *hdev);
>>> 	bool (*prevent_wake)(struct hci_dev *hdev);
>>> +	int (*get_data_path)(struct hci_dev *hdev);
>>> };
>> 
>> and where is the code using hdev->get_data_path. That code needs to be in
>> this patch.
> 
> In the previous patchset, there was a comment to separate out driver and core changes. Let me know if I am missing something here.
> https://patchwork.kernel.org/project/bluetooth/patch/20210518104232.5431-3-kiran.k@intel.com/
> 

I know that and this is not contradictory. Introducing such a callback must come with the usage of said callback. Usage means the core side and not the driver side of it.

Regards

Marcel
diff mbox series

Patch

diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index 3284044c3dd7..641477396da3 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -617,6 +617,7 @@  struct hci_dev {
 	int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
 	void (*cmd_timeout)(struct hci_dev *hdev);
 	bool (*prevent_wake)(struct hci_dev *hdev);
+	int (*get_data_path)(struct hci_dev *hdev);
 };
 
 #define HCI_PHY_HANDLE(handle)	(handle & 0xff)