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 <mika.westerberg@linux.intel.com>
This commit is contained in:
parent
59ed8dcad6
commit
49f2a7f4cd
|
@ -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)
|
static bool icm_tgl_is_supported(struct tb *tb)
|
||||||
{
|
{
|
||||||
|
u32 val;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If the firmware is not running use software CM. This platform
|
* If the firmware is not running use software CM. This platform
|
||||||
* should fully support both.
|
* 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)
|
static void icm_handle_notification(struct work_struct *work)
|
||||||
|
|
Loading…
Reference in New Issue