cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

amp.h (1913B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3   Copyright (c) 2011,2012 Intel Corp.
      4
      5*/
      6
      7#ifndef __AMP_H
      8#define __AMP_H
      9
     10struct amp_ctrl {
     11	struct list_head	list;
     12	struct kref		kref;
     13	__u8			id;
     14	__u16			assoc_len_so_far;
     15	__u16			assoc_rem_len;
     16	__u16			assoc_len;
     17	__u8			*assoc;
     18};
     19
     20int amp_ctrl_put(struct amp_ctrl *ctrl);
     21void amp_ctrl_get(struct amp_ctrl *ctrl);
     22struct amp_ctrl *amp_ctrl_add(struct amp_mgr *mgr, u8 id);
     23struct amp_ctrl *amp_ctrl_lookup(struct amp_mgr *mgr, u8 id);
     24void amp_ctrl_list_flush(struct amp_mgr *mgr);
     25
     26struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr,
     27			     u8 remote_id, bool out);
     28
     29int phylink_gen_key(struct hci_conn *hcon, u8 *data, u8 *len, u8 *type);
     30
     31void amp_read_loc_info(struct hci_dev *hdev, struct amp_mgr *mgr);
     32void amp_read_loc_assoc_frag(struct hci_dev *hdev, u8 phy_handle);
     33void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr);
     34void amp_read_loc_assoc_final_data(struct hci_dev *hdev,
     35				   struct hci_conn *hcon);
     36void amp_create_phylink(struct hci_dev *hdev, struct amp_mgr *mgr,
     37			struct hci_conn *hcon);
     38void amp_accept_phylink(struct hci_dev *hdev, struct amp_mgr *mgr,
     39			struct hci_conn *hcon);
     40
     41#if IS_ENABLED(CONFIG_BT_HS)
     42void amp_create_logical_link(struct l2cap_chan *chan);
     43void amp_disconnect_logical_link(struct hci_chan *hchan);
     44#else
     45static inline void amp_create_logical_link(struct l2cap_chan *chan)
     46{
     47}
     48
     49static inline void amp_disconnect_logical_link(struct hci_chan *hchan)
     50{
     51}
     52#endif
     53
     54void amp_write_remote_assoc(struct hci_dev *hdev, u8 handle);
     55void amp_write_rem_assoc_continue(struct hci_dev *hdev, u8 handle);
     56void amp_physical_cfm(struct hci_conn *bredr_hcon, struct hci_conn *hs_hcon);
     57void amp_create_logical_link(struct l2cap_chan *chan);
     58void amp_disconnect_logical_link(struct hci_chan *hchan);
     59void amp_destroy_logical_link(struct hci_chan *hchan, u8 reason);
     60
     61#endif /* __AMP_H */