mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
mei: bus: whitelist the watchdog client
The iAMT WD client has to be whitelisted sice it has two connections and is filtered out by number_of_connections fixup. Also the API has changed for BDW and SKL but firmware haven't updated the protocol version. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c9cf20ee45
commit
e97cdb303c
1 changed files with 29 additions and 0 deletions
|
@ -35,6 +35,9 @@ static const uuid_le mei_nfc_info_guid = MEI_UUID_NFC_INFO;
|
|||
#define MEI_UUID_NFC_HCI UUID_LE(0x0bb17a78, 0x2a8e, 0x4c50, \
|
||||
0x94, 0xd4, 0x50, 0x26, 0x67, 0x23, 0x77, 0x5c)
|
||||
|
||||
#define MEI_UUID_WD UUID_LE(0x05B79A6F, 0x4628, 0x4D7F, \
|
||||
0x89, 0x9D, 0xA9, 0x15, 0x14, 0xCB, 0x32, 0xAB)
|
||||
|
||||
#define MEI_UUID_ANY NULL_UUID_LE
|
||||
|
||||
/**
|
||||
|
@ -66,6 +69,31 @@ static void blacklist(struct mei_cl_device *cldev)
|
|||
cldev->do_match = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* mei_wd - wd client on the bus, change protocol version
|
||||
* as the API has changed.
|
||||
*
|
||||
* @cldev: me clients device
|
||||
*/
|
||||
#if IS_ENABLED(CONFIG_INTEL_MEI_ME)
|
||||
#include <linux/pci.h>
|
||||
#include "hw-me-regs.h"
|
||||
static void mei_wd(struct mei_cl_device *cldev)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(cldev->dev.parent);
|
||||
|
||||
dev_dbg(&cldev->dev, "running hook %s\n", __func__);
|
||||
if (pdev->device == MEI_DEV_ID_WPT_LP ||
|
||||
pdev->device == MEI_DEV_ID_SPT ||
|
||||
pdev->device == MEI_DEV_ID_SPT_H)
|
||||
cldev->me_cl->props.protocol_version = 0x2;
|
||||
|
||||
cldev->do_match = 1;
|
||||
}
|
||||
#else
|
||||
static inline void mei_wd(struct mei_cl_device *cldev) {}
|
||||
#endif /* CONFIG_INTEL_MEI_ME */
|
||||
|
||||
struct mei_nfc_cmd {
|
||||
u8 command;
|
||||
u8 status;
|
||||
|
@ -280,6 +308,7 @@ static struct mei_fixup {
|
|||
MEI_FIXUP(MEI_UUID_ANY, number_of_connections),
|
||||
MEI_FIXUP(MEI_UUID_NFC_INFO, blacklist),
|
||||
MEI_FIXUP(MEI_UUID_NFC_HCI, mei_nfc),
|
||||
MEI_FIXUP(MEI_UUID_WD, mei_wd),
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue