Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3737350pxf; Mon, 22 Mar 2021 13:48:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwtKaJE5kYV33oDRFBDysB/5MboTnf50I3tc0AaPmLtsYIDZl1Qu3UjX6sGByTnNDpthKUq X-Received: by 2002:a05:6402:1754:: with SMTP id v20mr1411628edx.191.1616446135526; Mon, 22 Mar 2021 13:48:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616446135; cv=none; d=google.com; s=arc-20160816; b=B5f65PGhWsonuHDHupKICc9YnsZXfRM9wj4fsXV//EsRUZhDty+Noi8P8g7Z5J6ZFU szMzPyOGKeioIC3mkQ64L9HP75jHxUdDbl7U9LMYwbYA0EZ+P34sqe9cLEWH8fmX0KYt w+uYnlfvUOCCU4aT1pHQyTv7mtRbEhiRoGc0zVYMsaXVSkVUoR8gWNActadDFBfGY9VL Q0WRazuVyAfOypXzXpNg932VWQT14rx8NzcOWJMz+WgHLWwfDwP4Xi5IkD3TXC2sZyWy ToWOunTof5s0L3g4xOkK578zSR9WKEuCp+BojObFs5isxgh/QoauTmlerlq4QtEz6ORF a8Jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=Oh4whoJ0M2CtRyoWInYFOxjx4QS01GUyJQzdxQ2jVq4=; b=tn1uIGj0fr8A+otGBHYAZGrdklyvuMiHVaZxhUnRInubSm/zr74wlVY9HBt77r2jLk 5BUhxnrY8mNIcQz6C9VUZGDUr6kZWe7wool+uKIgZLax7mQ66tlW+z6/6Ylq2ytvuiKu tJWpSH2QMMwlXxBbgddtjWoBemujTOu1shvBGr36dmBHFICayl4LphMN4+e+bS0ICwPO OJVuUCiqrmeQPD+XLO2kW2+79n1QdUlsq27BkbXjv4cyh1wfB2buW3ymvQk51BzAdTRp GZFG84GyEt8O+d37xQEWRz65Ew5U/9lrVuRcOLcaATwh3tlEQ8A5+JgG44sZlxAxFqfm GThw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OhFtgz0n; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r6si12269596eda.292.2021.03.22.13.48.33; Mon, 22 Mar 2021 13:48:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OhFtgz0n; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230080AbhCVUr4 (ORCPT + 99 others); Mon, 22 Mar 2021 16:47:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230527AbhCVUrw (ORCPT ); Mon, 22 Mar 2021 16:47:52 -0400 Received: from mail-vs1-xe34.google.com (mail-vs1-xe34.google.com [IPv6:2607:f8b0:4864:20::e34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2A02EC061574 for ; Mon, 22 Mar 2021 13:47:51 -0700 (PDT) Received: by mail-vs1-xe34.google.com with SMTP id l13so8195089vst.8 for ; Mon, 22 Mar 2021 13:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Oh4whoJ0M2CtRyoWInYFOxjx4QS01GUyJQzdxQ2jVq4=; b=OhFtgz0nO0EsCkJhmw7OEWUMgAAvS4SWUZwVQWfzIdunuPqdbq0qOyesXSbDiRhH0w UOm/SDgEOQ+pObYt0OLccoUptrnW9GdNyOycqcyvoSkocQfqFARKa/iNWIEFO12qXw6c t7Na0ROSfvUbV9j8q8ZaBR1KQ3E7fpuheh029ic5uguN0MGHyg0aF6DpgV9qiF+xoaM+ 2ITYaLfYXRi2jBSLGU7gDJt+VYHlttP46sIbAd4EqkUr3jbiP8D0BpigfM6ZjP0EBXEk K/2LAuEgmsI3mnsAQhF6FhP+bhSAVrh+Rip7O7T7eRMIt3cTulAic08RX4S8/IBUpS4r 1VOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Oh4whoJ0M2CtRyoWInYFOxjx4QS01GUyJQzdxQ2jVq4=; b=hLOw7euuYhae6wKawlG+kuzp5BNIbfVQYDlWKS4KsST/V4S1v791VFVyed929Zhukk FY3fkvN6nYcoFIZsRR43TRb8RnKVZzZzMG8cpLdlfM9onJFZ0vU8QriViWkiKQ98JHuX Ynr1rcW1bDV4OsOvxg5IUirCZOGFlPElhbNmi3N9FE4k00QoivuZkrOz6/I0r1oge41c U3WqDSrrB8uLYcGHbIMjLAgusoXC9WmYvUIShZe3E2JLKVDbELwQu0ztc3SH6bfpmAmA j/WmmvikMaoC3Rjm3zy4Xn3BWdIqlWEfdPBYyIiWQCgfP7jWaFz8cszQIiYSVzD/Xbdz tPgA== X-Gm-Message-State: AOAM530Liluw+IfoUVw7zSNLQ8g427QKq/1C0bmDrv4plRezk5xfsUJz nOjAFn1LCEuTOyPqKgb6j7FcDWZUKhG5dkc/NoM= X-Received: by 2002:a67:fb08:: with SMTP id d8mr1367112vsr.39.1616446070067; Mon, 22 Mar 2021 13:47:50 -0700 (PDT) MIME-Version: 1.0 References: <20210322204157.102078-1-emmanuel.grumbach@intel.com> In-Reply-To: <20210322204157.102078-1-emmanuel.grumbach@intel.com> From: Emmanuel Grumbach Date: Mon, 22 Mar 2021 22:47:38 +0200 Message-ID: Subject: Re: [PATCH 0/5] Add support for AMT over WLAN To: Emmanuel Grumbach Cc: Kalle Valo , "Berg, Johannes" , linux-wireless , luca@coelho.fi Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Mon, Mar 22, 2021 at 10:44 PM Emmanuel Grumbach wrote: I messed up this series. Please drop it. Resending. > > This patch series adds support for AMT over WLAN. > Information about Intel Active Management Technology is > available on the net, but in a nutshell, it is an application > running on an embedded CPU in the chipset. This application > can provide remote control to the system even when no OS is, > present or not even installed. By control, we mean, KVM, > the possibility to attach a remote driver, power up / down > / reset the machine and other options. > > When the host uses wireless, the embedded CPU can't access > the wireless device and hence, the traffic for AMT must be > routed through the host. The AMT <-> WLAN driver interface > is explained at lengh inside the patches. Basically, there > is a memory region that is mapped to a PCI devices that can > read / write to that memory and sends the data to the embedded > CPU. The driver for this PCI device is mei. We needed to add > code for that driver, those patches are in this series and > need to be routed through wireless-drivers tree as requested > by Greg KH. > There is also a cfg80211 patch that I should have sent earlier > to Johannes. I include this here. Hopefully, it'll not cause > trouble. > > Note about how to use this new feature: > In order to fully use this new feature, we need to add a few > vendor commands that are not included in this series. The > upstream process for those commands will take some more time > but it is definitely planned. The motivation to use vendor > commands as opposed to regular nl80211 APIs is that we do not > expect any other vendor to need similar APIs. We had no control > on the AMT APIs and this is why we needed to add vendor commands > for flows that differ just a tiny bit from the regular flow. For > example, AMT needs to know when we are associated, but it > requires to know whether we are associated in WPA or in WPA2. > This is not known to the kernel, so we, unfortunately, had > to add a vendor command for this. This is just an example. > > Integration with the connection manager is required to be able > to use this new feature. > In case the device is controlled by AMT and is actively used > by AMT, AMT will not release the device. To properly reflect > this state, we report hardware RF-Kill to the stack, but we > add a reason saying that we do not own the device. The > connection manager can then check what AP AMT is connected to > and signal to AMT that it can ensure the connetion to that > same AP can be kept. AMT will then release the device allowing > the host to connect to that AP. Doing this transition fast > enough will allow not to break the TCP connections that AMT > maintains. > > I worked with Ayala Beker on the iwlwifi part of this feature. > > Please do not apply those patches, they'll be part of a regular > pull request from Luca. > > Johannes, feel free to pick the cfg80211 patch although then, it > will require to merge mac80211-next into wireless-drivers-next so > maybe it's better to route it through Kalle as well? > > Alexander Usyskin (1): > mei: bus: add client dma interface > > Emmanuel Grumbach (3): > cfg80211: allow to specifying a reason for hw_rfkill > iwlwifi: mei: add the driver to allow cooperation with CSME > iwlwifi: integrate with iwlmei > > Tomas Winkler (1): > mei: allow map and unmap of client dma buffer only for disconnected > client > > drivers/misc/mei/bus.c | 67 +- > drivers/misc/mei/client.c | 20 +- > drivers/misc/mei/hw.h | 5 + > drivers/net/wireless/intel/iwlwifi/Kconfig | 13 + > drivers/net/wireless/intel/iwlwifi/Makefile | 2 + > .../wireless/intel/iwlwifi/iwl-nvm-parse.c | 61 + > .../wireless/intel/iwlwifi/iwl-nvm-parse.h | 11 +- > .../net/wireless/intel/iwlwifi/iwl-trans.h | 2 + > .../net/wireless/intel/iwlwifi/mei/Makefile | 8 + > .../net/wireless/intel/iwlwifi/mei/internal.h | 20 + > .../net/wireless/intel/iwlwifi/mei/iwl-mei.h | 440 ++++ > drivers/net/wireless/intel/iwlwifi/mei/main.c | 2026 +++++++++++++++++ > drivers/net/wireless/intel/iwlwifi/mei/net.c | 409 ++++ > drivers/net/wireless/intel/iwlwifi/mei/sap.h | 736 ++++++ > .../wireless/intel/iwlwifi/mei/trace-data.h | 69 + > .../net/wireless/intel/iwlwifi/mei/trace.c | 15 + > .../net/wireless/intel/iwlwifi/mei/trace.h | 62 + > drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 3 +- > .../net/wireless/intel/iwlwifi/mvm/mac80211.c | 42 +- > drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 70 + > drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 208 +- > drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 7 +- > drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 25 + > .../net/wireless/intel/iwlwifi/pcie/trans.c | 16 +- > include/linux/mei_cl_bus.h | 3 + > include/net/cfg80211.h | 11 +- > net/wireless/core.c | 7 +- > 27 files changed, 4322 insertions(+), 36 deletions(-) > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/Makefile > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/internal.h > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/iwl-mei.h > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/main.c > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/net.c > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/sap.h > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/trace-data.h > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/trace.c > create mode 100644 drivers/net/wireless/intel/iwlwifi/mei/trace.h > > -- > 2.25.1 >