Return-Path: From: Mat Martineau To: linux-bluetooth@vger.kernel.org Cc: padovan@profusion.mobi, pkrystad@codeaurora.org, andrei.emeltchenko@intel.com, Mat Martineau Subject: [PATCH 1/9] Bluetooth: Add BT_AMP_POLICY socket option Date: Thu, 13 Oct 2011 15:00:39 -0700 Message-Id: <1318543247-27130-2-git-send-email-mathewm@codeaurora.org> In-Reply-To: <1318543247-27130-1-git-send-email-mathewm@codeaurora.org> References: <1318543247-27130-1-git-send-email-mathewm@codeaurora.org> Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Allow control of AMP functionality on L2CAP sockets. By default, connections will be restricted to BR/EDR. Manipulating the BT_AMP_POLICY option allows for channels to be moved to or created on AMP controllers. Signed-off-by: Mat Martineau --- include/net/bluetooth/bluetooth.h | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index e727555..14ae418 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h @@ -77,6 +77,33 @@ struct bt_power { #define BT_POWER_FORCE_ACTIVE_OFF 0 #define BT_POWER_FORCE_ACTIVE_ON 1 +#define BT_AMP_POLICY 10 + +/* Require BR/EDR (default policy) + * AMP controllers cannot be used. + * Channel move requests from the remote device are denied. + * If the L2CAP channel is currently using AMP, move the channel to BR/EDR. + */ +#define BT_AMP_POLICY_REQUIRE_BR_EDR 0 + +/* Prefer AMP + * Allow use of AMP controllers + * If the L2CAP channel is currently on BR/EDR and AMP controller + * resources are available, initiate a channel move to AMP. + * Channel move requests from the remote device are allowed. + * If the L2CAP socket has not been connected yet, try to create + * and configure the channel directly on an AMP controller rather + * than BR/EDR. + */ +#define BT_AMP_POLICY_PREFER_AMP 1 + +/* Prefer BR/EDR + * Allow use of AMP controllers. + * If the L2CAP channel is currently on AMP, move it to BR/EDR. + * Channel move requests from the remote device are allowed. + */ +#define BT_AMP_POLICY_PREFER_BR_EDR 2 + __attribute__((format (printf, 2, 3))) int bt_printk(const char *level, const char *fmt, ...); -- 1.7.7 -- Mat Martineau Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum