From: Mika Westerberg Date: Wed, 17 Jun 2020 16:04:09 +0000 (+0300) Subject: thunderbolt: Use bit 31 to check if Firmware CM is running in Tiger Lake X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=49f2a7f4cdaccb21ad964f6d8645ea3a0ec79293;p=linux.git thunderbolt: Use bit 31 to check if Firmware CM is running in Tiger Lake In Tiger Lake the Firmware CM is always enabled (so bit 0 is always set) but it may be in "pass through" mode which means it requires Software CM instead. This can be determined by checking bit 31 instead. Signed-off-by: Mika Westerberg --- diff --git a/drivers/thunderbolt/icm.c b/drivers/thunderbolt/icm.c index ffcc8c3459e55..b51fc3f62b1fb 100644 --- a/drivers/thunderbolt/icm.c +++ b/drivers/thunderbolt/icm.c @@ -1635,11 +1635,14 @@ static void icm_icl_rtd3_veto(struct tb *tb, const struct icm_pkg_header *hdr) static bool icm_tgl_is_supported(struct tb *tb) { + u32 val; + /* * If the firmware is not running use software CM. This platform * should fully support both. */ - return icm_firmware_running(tb->nhi); + val = ioread32(tb->nhi->iobase + REG_FW_STS); + return !!(val & REG_FW_STS_NVM_AUTH_DONE); } static void icm_handle_notification(struct work_struct *work)