No description
  • C 96.8%
  • Assembly 0.9%
  • Rust 0.7%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Kiran K c670ebfd82 Bluetooth: btintel_pcie: Add handshake between driver and firmware
[ Upstream commit 05c200c8f0 ]

The following handshake mechanism needs be followed after firmware
download is completed to bring the firmware to running state.

After firmware fragments of Operational image are downloaded and
secure sends result of the image succeeds,

1. Driver sends HCI Intel reset with boot option #1 to switch FW image.
2. FW sends Alive GP[0] MSIx
3. Driver enables data path (doorbell 0x460 for RBDs, etc...)
4. Driver gets Bootup event from firmware
5. Driver performs D0 entry to device (WRITE to IPC_Sleep_Control =0x0)
6. FW sends Alive GP[0] MSIx
7. Device host interface is fully set for BT protocol stack operation.
8. Driver may optionally get debug event with ID 0x97 which can be dropped

For Intermediate loadger image, all the above steps are applicable
expcept #5 and #6.

On HCI_OP_RESET, firmware raises alive interrupt. Driver needs to wait
for it before passing control over to bluetooth stack.

Co-developed-by: Devegowda Chandrashekar <chandrashekar.devegowda@intel.com>
Signed-off-by: Devegowda Chandrashekar <chandrashekar.devegowda@intel.com>
Signed-off-by: Kiran K <kiran.k@intel.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Stable-dep-of: 510e8380b0 ("Bluetooth: btintel: Do no pass vendor events to stack")
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-05 14:01:58 +01:00
arch bpf, arm64: Remove garbage frame for struct_ops trampoline 2024-12-05 14:01:49 +01:00
block block: fix bio_split_rw_at to take zone_write_granularity into account 2024-12-05 14:01:14 +01:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto crypto: pcrypt - Call crypto layer directly when padata_do_parallel() return -EBUSY 2024-12-05 14:01:18 +01:00
Documentation ASoC: dt-bindings: mt6359: Update generic node name and dmic-mode 2024-12-05 14:01:39 +01:00
drivers Bluetooth: btintel_pcie: Add handshake between driver and firmware 2024-12-05 14:01:58 +01:00
fs isofs: avoid memory leak in iocharset 2024-12-05 14:01:54 +01:00
include bpf: Add kernel symbol for struct_ops trampoline 2024-12-05 14:01:57 +01:00
init initramfs: avoid filename buffer overrun 2024-12-05 14:01:12 +01:00
io_uring io_uring/rw: fix missing NOWAIT check for O_DIRECT start write 2024-10-31 08:21:02 -06:00
ipc struct fd layout change (and conversion to accessor helpers) 2024-09-23 09:35:36 -07:00
kernel bpf: Add kernel symbol for struct_ops trampoline 2024-12-05 14:01:57 +01:00
lib objpool: fix to make percpu slot allocation more robust 2024-11-07 14:14:58 -08:00
LICENSES LICENSES: add 0BSD license text 2024-09-01 20:43:24 -07:00
mm mm/mmap: fix __mmap_region() error handling in rare merge failure case 2024-11-22 15:30:26 +01:00
net net: rfkill: gpio: Add check for clk_enable() 2024-12-05 14:01:57 +01:00
rust rust: helpers: Avoid raw_spin_lock initialization for PREEMPT_RT 2024-12-05 14:01:23 +01:00
samples bpf: Fix the xdp_adjust_tail sample prog issue 2024-12-05 14:01:42 +01:00
scripts kernel-doc: allow object-like macros in ReST output 2024-12-05 14:01:28 +01:00
security integrity-v6.12 2024-11-12 13:06:31 -08:00
sound ALSA: 6fire: Release resources at card release 2024-12-05 14:01:58 +01:00
tools selftests: netfilter: Fix missing return values in conntrack_dump_flush 2024-12-05 14:01:58 +01:00
usr initramfs: shorten cmd_initfs in usr/Makefile 2024-07-16 01:07:52 +09:00
virt ARM64: 2024-10-21 11:22:04 -07:00
.clang-format clang-format: Update with v6.11-rc1's for_each macro list 2024-08-02 13:20:31 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
.mailmap mailmap: add entry for Thorsten Blum 2024-11-07 14:14:59 -08:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Remove self from DSA entry 2024-11-03 12:52:38 -08:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS MAINTAINERS: appoint myself the XFS maintainer for 6.12 LTS 2024-12-05 14:01:10 +01:00
Makefile Linux 6.12.1 2024-11-22 15:30:26 +01:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.