thunderbolt: Implement CIO reset correctly for Titan Ridge
authorMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 31 May 2019 10:31:54 +0000 (13:31 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 14 Jun 2019 11:25:43 +0000 (14:25 +0300)
commit0d53827d7c172f1345140f7638fe658bda1bb25d
tree07e88d0f30eabd897e828e119bec384804df3452
parent4f7c2e0d8765a0266b920c66ffc495fde44c1ec8
thunderbolt: Implement CIO reset correctly for Titan Ridge

When starting ICM firmware on Apple systems we need to perform CIO reset
as part of the flow. However, it turns out that the reset register has
changed to another location in Titan Ridge.

Fix this by introducing ->cio_reset() callback with corresponding
implementations for Alpine and Titan Ridge.

Fixes: c4630d6ae6e3 ("thunderbolt: Start firmware on Titan Ridge Apple systems")
Reported-by: Peter Bowen <pzb@amazon.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/icm.c